用語集

ヤムル

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

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

YAML Ain't Markup Language (YAML)は人間が読めるデータシリアライズ言語である。YAMLは一般的に、設定ファイルや、データが保存または送信されるアプリケーションで使用される。AIと機械学習の文脈では、YAMLの主な役割は、設定ファイルを簡単に理解・管理できるようにし、人間の可読性と機械処理のギャップを埋めることである。

YAMLの主な特徴

YAMLは人間が簡単に読み書きできるように設計されている。そのクリーンでわかりやすい構文は構造を定義するためにブラケットやタグではなくインデントに依存します。このため、YAMLファイルはXMLや JSONのような他のデータフォーマットと比較して、はるかに乱雑でなく、ナビゲートしやすくなっています。主な機能は以下のとおりです:

  • 人間が読めるフォーマット:YAMLの構文は読みやすさを重視し、空白とインデントを使って階層的なデータ構造を定義する。
  • データのシリアライズ:YAMLはデータ構造のシリアライズに効果的である。つまり、複雑なデータオブジェクトを簡単に保存または送信できるテキスト形式に変換し、再構築できる。
  • 設定ファイル:YAMLは、AIやMLを含むソフトウェアアプリケーションの設定ファイルを書くために広く使われている。これによってユーザーは、パラメーター、設定、ワークフローを構造化されたアクセス可能な方法で定義できる。
  • 言語にとらわれない: YAMLはあらゆるプログラミング言語で動作するように設計されているため、複数の言語やフレームワークが関与する可能性のある多様なAIやMLプロジェクトに対応できる。
  • AI/MLツールとの統合:以下のような多くのAIやMLフレームワークやツールがあります。 PyTorchTensorFlowなどの多くのAIやMLフレームワークやツールは、設定用のYAMLをサポートしており、モデルやトレーニングプロセスのセットアップやカスタマイズを簡素化している。

AIとMLアプリケーションにおけるYAML

AIやMLの分野では、YAMLファイルは設定の管理、モデルアーキテクチャの定義、トレーニングパイプラインの設定に欠かせない。実際の例をいくつか紹介しよう:

  • モデル構成Ultralytics YOLO:で作業する場合 Ultralytics YOLO YAMLファイルは、モデル・アーキテクチャ、データセット・パス、以下のようなトレーニング・ハイパー・パラメータを定義するために使われる。 バッチサイズ や学習率など、さまざまな設定を行うことができる。例えば yolov8s.yaml ファイルは、YOLOv8 小さなモデルの層とパラメータを指定し、ユーザが簡単にカスタマイズしたり実験を再現したりできるようにする。これらの設定ファイルは、カスタムモデルのトレーニングと、Ultralytics HUBを使用した事前トレーニング済みモデルのデプロイの両方に不可欠である。
  • データパイプラインの設定:YAMLはMLプロジェクトのデータパイプラインの設定にも使われる。例えば、YAMLファイルはデータの前処理、フィーチャーエンジニアリング、データ増強のステップを記述することができる。これにより、データワークフローの自動化と再現性が可能になり、モデルトレーニングの一貫性と効率が保証される。

YAMLとJSONの比較

YAMLとJSONはどちらもデータシリアライズ言語だが、YAMLは可読性が高いため、AIやMLのコンフィギュレーションではYAMLが好まれることが多い。JSONもある程度は人間が読めるが、中括弧や括弧のような句読点が多く使われ、複雑な設定を一目で解析するのが難しくなることがある。YAMLのインデントと最小限の構文への依存は、よりクリーンで直感的な設定ファイルをもたらし、エラーの可能性を減らし、複雑なAIプロジェクトの保守性を向上させる。

YAMLを使用することで、AIやMLの実務者は、コンフィギュレーションを効果的に管理、伝達することができ、ワークフローをより透明化し、再現可能にし、コラボレーションを容易にする。そのシンプルさと人に優しい性質により、YAMLはAIとMLの現場において不可欠なツールとなっている。

すべて読む