YAML Ain't Markup Language (YAML)は人間が読めるデータシリアライズ言語である。YAMLは一般的に、設定ファイルや、データが保存または送信されるアプリケーションで使用される。AIと機械学習の文脈では、YAMLの主な役割は、設定ファイルを簡単に理解・管理できるようにし、人間の可読性と機械処理のギャップを埋めることである。
YAMLは人間が簡単に読み書きできるように設計されている。そのクリーンでわかりやすい構文は構造を定義するためにブラケットやタグではなくインデントに依存します。このため、YAMLファイルはXMLや JSONのような他のデータフォーマットと比較して、はるかに乱雑でなく、ナビゲートしやすくなっています。主な機能は以下のとおりです:
AIやMLの分野では、YAMLファイルは設定の管理、モデルアーキテクチャの定義、トレーニングパイプラインの設定に欠かせない。実際の例をいくつか紹介しよう:
yolov8s.yaml
ファイルは、YOLOv8 小さなモデルの層とパラメータを指定し、ユーザが簡単にカスタマイズしたり実験を再現したりできるようにする。これらの設定ファイルは、カスタムモデルのトレーニングと、Ultralytics HUBを使用した事前トレーニング済みモデルのデプロイの両方に不可欠である。YAMLとJSONはどちらもデータシリアライズ言語だが、YAMLは可読性が高いため、AIやMLのコンフィギュレーションではYAMLが好まれることが多い。JSONもある程度は人間が読めるが、中括弧や括弧のような句読点が多く使われ、複雑な設定を一目で解析するのが難しくなることがある。YAMLのインデントと最小限の構文への依存は、よりクリーンで直感的な設定ファイルをもたらし、エラーの可能性を減らし、複雑なAIプロジェクトの保守性を向上させる。
YAMLを使用することで、AIやMLの実務者は、コンフィギュレーションを効果的に管理、伝達することができ、ワークフローをより透明化し、再現可能にし、コラボレーションを容易にする。そのシンプルさと人に優しい性質により、YAMLはAIとMLの現場において不可欠なツールとなっている。