用語集

ヤムル

AI/MLにおけるYAMLのパワーをご覧ください!この汎用性の高いデータフォーマットを使って、設定を簡素化し、ワークフローを合理化し、可読性を向上させよう。

YAMLは、"YAML Ain't Markup Language "の頭文字をとったもので、設定ファイルの記述やシステム間のデータ転送に使われる、人間が読めるデータシリアライゼーション標準である。そのデザインは明快さとシンプルさを優先しており、開発者やデータサイエンティストは複雑なデータ構造を読みやすく書きやすい方法で定義できる。より冗長なフォーマットとは異なり、YAMLは構造を示すためにインデントを使用しており、その結果、機械学習(ML)を含むソフトウェア・プロジェクトにおける設定管理に理想的な、すっきりと直感的なファイルが得られる。公式の仕様とリソースはyaml.org にある。

AIとMLにおける役割と応用

人工知能(AI)の文脈では、YAMLは設定管理のバックボーンであり、再現性の確保と実験の簡素化において重要な役割を果たしている。ディープラーニング(DL)プロジェクトでは、モデルアーキテクチャーからトレーニングパラメーターまで、多くの設定が必要になることが多い。これらの設定をYAMLファイルに保存することで、実験設定の追跡、変更、共有が容易になります。クイックリファレンスとして、YAML構文のチートシートを調べることができます。

AIのアプリケーションでよく見られる実例として、以下の2つが挙げられる:

  1. データセットの構成モデルを学習する前に、データセットを定義する必要があります。YAMLファイルは、トレーニング画像と検証画像へのパス、オブジェクトクラスの数、それらのクラスの名前を指定します。このアプローチは、COCOのようなデータセットを管理するためにUltralyticsで使用されています。これによりモデルは、データがどこにあり、何を学習することが期待されているかを正確に知ることができる。
  2. トレーニングとハイパーパラメータの設定:YAMLファイルはトレーニングセッションに必要なすべてのパラメータを定義するのに最適です。これにはモデルアーキテクチャの指定(例:、 YOLO11n), バッチサイズ, 学習率時代を設定する。 データ増強.これらの設定を一元化することで、体系的な ハイパーパラメータ・チューニング また、実験を簡単に再現できる。その Ultralytics ドキュメント には、これらの設定ファイルの詳細な例が記載されている。

YAMLと他のデータフォーマット

YAMLはしばしばJSONやXMLのような他のデータシリアライズフォーマットと比較されます。

  • YAML vs. JSON: 機能的には似ており、YAMLはJSON (JavaScript Object Notation)のスーパーセットですが、YAMLは読みやすいので、設定ファイルによく使われます。YAMLはインデントの代わりにブラケットとカンマを使わないし、重要なことに、設定の選択を文書化するために貴重なコメントをサポートする。
  • YAMLとXMLの比較 XML (eXtensible Markup Language) と比較して、YAML ははるかに冗長ではありません。XMLは開閉タグを使うことで、ファイルが大きくなり、人間が素早く解析することが難しくなるのに対して、YAMLの最小限の構文は直接編集するために設計されている。

幅広いエコシステムとツール

YAMLの有用性は、コンピューター・ビジョンにとどまらない。DevOpsの世界では基本的なコンポーネントであり、コンテナ・オーケストレーションを定義するKubernetesやIT自動化プレイブックを作成するAnsibleのようなツールで使われている。このコンセプトは、しばしばConfiguration as Code(CaC)と呼ばれる。

Pythonを使う開発者にとって、PyYAMLライブラリはYAMLデータの解析と生成のための一般的なツールです。インデントの影響を受けやすい構文エラーを防ぐために、YAMLバリデーターを使用することが推奨されるベストプラクティスである。このようなツールのエコシステムにより、YAMLはJupyter Notebookでの初期セットアップから、Dockerや GitHub Actionsのようなツールを使ったCI/CDパイプラインを使った本格的なモデルのデプロイまでMLOpsのライフサイクル全体を管理するための強固な選択肢となる。構成管理が容易なため、Ultralytics HUBのようなプラットフォームとの統合も簡素化され、シームレスなトレーニングとデプロイメントを実現します。

Ultralyticsコミュニティに参加する

AIの未来に参加しませんか。世界のイノベーターとつながり、協力し、成長する

今すぐ参加する
クリップボードにコピーされたリンク