AI/ML における YAML のパワーを発見してください! この汎用性の高いデータ形式で、構成を簡素化し、ワークフローを効率化し、読みやすさを向上させます。
YAMLは "YAML Ain't Markup Language "の略で、人間が読めるデータシリアライゼーション標準である。 設定ファイルや言語間のデータ交換によく使われる ファイルや言語間のデータ交換によく使われる、人間が読めるデータのシリアライズ標準です。より冗長なフォーマットとは異なり、YAMLはクリーンさと使いやすさを優先します、 構造を定義するためのブラケットやタグではなく、インデントに依存しています。このミニマリスト的なアプローチにより で働く開発者やデータサイエンティストに好まれている。 機械学習(ML)や 人工知能(AI)に携わる開発者やデータ科学者に好まれている。 複雑な環境やパラメーターを明確に定義することが不可欠なのだ。公式の仕様は YAMLのウェブサイトをご覧ください。
ディープラーニング(DL)の領域では、YAMLが実験管理と再現性のバックボーンとして機能する。 実験管理と再現性のためのバックボーンとして機能する。複雑なシステムでは、ファイルパスから数学定数に至るまで、数百 パラメータを定義する必要がある。これらの設定をYAMLファイルに外部化することで、研究者は以下のことが可能になる。 トレーニングデータの設定と モデル・アーキテクチャをコードベースから切り離すことができる。この分離により DataOpsの実践を容易にし、実験セットアップのバージョン管理を容易にする。 実験セットアップを容易にする。
YAMLは最新のAI開発スタックではどこにでもある。YAMLを利用する2つの主な方法を紹介しよう:
YAMLは他のフォーマットと類似点を共有しているが、その設計思想と使用例において異なっている:
Ultralytics YOLO11 モデルで作業する場合、YAMLファイルはモデルが見るデータを定義するための基本です。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ワークフローを定義している。 CI/CDワークフローを定義し、コードがプッシュされるたびに自動テストと統合がスムーズに行われるようにします。 統合がスムーズに行われるようにする。Python 開発者は頻繁に PyYAML ライブラリをよく使う。 静的な設定と動的なコード実行のギャップを埋めるために。