Откройте для себя возможности YAML в AI/ML! Упростите конфигурации, оптимизируйте рабочие процессы и повысьте удобочитаемость с помощью этого универсального формата данных.
YAML, что расшифровывается как "YAML Ain't Markup Language", - это человекочитаемый стандарт сериализации данных, обычно используемый для конфигурационных файлов конфигурации и обмена данными между языками. В отличие от более многословных форматов, YAML ставит во главу угла чистоту и простоту использования, для определения структуры используется отступ, а не скобки или теги. Такой минималистский подход делает его предпочтительным предпочтительным выбором для разработчиков и специалистов по исследованию данных, работающих в области машинное обучение (ML) и искусственного интеллекта (ИИ), где где необходимо четко определять сложные среды и параметры. Ознакомиться с официальной спецификацией можно на YAML.
В сфере глубокого обучения (DL) YAML служит основой для управления экспериментами и их воспроизводимости. Сложные системы часто требуют определения сотен параметров, от путей к файлам до математических констант. Вынося эти параметры в YAML-файлы, исследователи гарантируют, что конфигурации обучающих данных и архитектуры моделей остаются отдельными от кодовой базы. Такое разделение облегчает DataOps и позволяет легче контролировать версии экспериментальных установок.
YAML повсеместно используется в современных стеках разработки ИИ. Вот два основных способа его использования:
Хотя YAML имеет общие черты с другими форматами, он отличается философией разработки и вариантами использования:
При работе с моделью Ultralytics YOLO11 файлы YAML являются основополагающими для определения данных, которые видит модель. Сайт
data Аргумент в функции обучения принимает YAML-файл, указывающий на ваши изображения и метки.
В следующем примере показано, как начать сеанс обучения, используя стандартный файл конфигурации набора данных.
from ultralytics import YOLO
# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model using the 'coco8.yaml' dataset configuration
# The YAML file contains paths to images and class names (e.g., person, bus)
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
Помимо непосредственного обучения моделей, YAML является неотъемлемой частью более широкой экосистемы MLOps. Он является стандартный формат конфигурации для Docker Compose при оркестровке контейнеров для развертывания моделей. Аналогично, Kubernetes использует YAML для определения масштабирования приложений в облаке.
Такие инструменты автоматизации, как GitHub Actions, также опираются на YAML для определения CI/CD рабочих процессов, гарантируя, что автоматизированное тестирование и интеграции при каждом запуске кода. Разработчики Python часто используют библиотеку PyYAML для программного чтения и записи этих файлов, преодолевая разрыв между статической конфигурацией и динамическим выполнением кода.