mlcommons/training
Reference implementations of MLPerf® training benchmarks
MLPerf® Training リファレンス実装 (mlcommons/training)
何であるか – MLPerf Training ベンチマークスイート用のリファレンスコードのコレクションです。各ベンチマーク(例:Llama 3.1、Stable Diffusion v2、RetinaNet、DLRMなど)は、以下のことができる最小限の実装を提供しています:
- 1つ以上のディープラーニングフレームワークでモデルを構築する
- 必要なデータセットを MLCommons ストレージサイトから取得する
- モデルのトレーニングを実行し、ベンチマークの目標品質に達するまで実行する Docker コンテナを起動する
- 所要時間を報告する
これらの実装は意図的に完全に最適化されていないものであり、ベンチマーク結果の提出やベンチマークの仕組みを学ぶための出発点として設計されています。
README からの主なポイント
| 項目 | 詳細 |
|---|---|
| 範囲 | 複数の MLPerf トレーニングモデル(ビジョン、言語、推薦、グラフ、拡散など)のリファレンス実装 |
| 各ベンチマークの構成要素 | • モデルコード(通常 PyTorch、TensorFlow、NeMo、またはその他のフレームワーク) |
| • Dockerfile | |
| • データセットダウンロードスクリプトとオプションの検証スクリプト | |
| • 目標品質に達するまでの所要時間を測定するトレーニング実行スクリプト | |
| 実行方法 | 1. Docker をインストールし、共有の install_cuda_docker.sh を実行する。 |
2. ホスト上で training.mlcommons-storage.org からデータセットをダウンロードする。 |
|
| 3. (オプション)データセットを検証する。 | |
| 4. 各ベンチマークフォルダ内のコマンドを使って Docker イメージをビルド・起動する。 | |
| カバーされているベンチマーク | v4.0 から現在の v6.1 まで、以下のモデルを含む: |
- Flux.1(テキストから画像生成、Torchtitan)
- Llama 3.1‑8B、Llama 2‑70B‑LoRA(NeMo / PyTorch)
- GPT‑OSS‑20B、DeepSeek‑V3、Qwen‑35‑397B‑GRPO(大規模 LLM)
- RetinaNet、Stable Diffusion v2、BERT‑large、GPT‑3、DLRM、RGAT(ビジョン、NLP、推薦、GNN) | | 引用 | 学術的な研究で本リポジトリの一部を使用する場合、MLPerf Training ベンチマーク論文(arXiv:1910.01500)と提供された BibTeX エントリを引用してください。 | | 状態 | 「アルファ/ベータ」品質と記述されており、貢献者には問題やプルリクエストの提出を促しています。 |
どのような人にとって役立つのか?
- 研究者:MLPerf Training ベンチマークへの提出準備をし、ベースライン実装が必要な人。
- ハードウェアベンダー:新しいアクセラレータをテストする再現可能なワークロードが必要な人(コードが大幅にチューニングされていないことを理解している)。
- 学生やエンジニア:大規模トレーニングベンチマークの構造(Dockerベース、データセット処理、品質目標による停止基準)を学びたい人。
すぐに始める(簡単なステップ)
- リポジトリをクローン:
git clone https://github.com/mlcommons/training.git。 - ベンチマークフォルダを選択(例:Flux.1 なら
text_to_image)。 - フォルダ内の README を確認:
install_cuda_docker.shを実行し、指示に従ってデータセットをダウンロード。その後、docker buildとdocker runを実行。 - コンテナは、ベンチマークで定義された品質指標に達するまでモデルをトレーニングし、経過時間を出力します。
制限事項 / 注意点
- 性能は現実的ではない – これらはリファレンス(最適化されていない)実装であり、実際のプロダクション環境での性能は、これらよりもはるかに遅くなるでしょう。
- リソース要件が非常に高い – 一部のベンチマーク(例:70BパラメータのLLM)は大規模なGPUクラスタと膨大なストレージを必要とし、一般的なラップトップでは実行できません。
- データセットのダウンロードはDocker外で実行 – スクリプトはデータセットがホストファイルシステム上にあることを前提としています。誤配置すると失敗します。
- アルファ/ベータ品質 – コードは未完成である可能性があり、バグを含むか、十分なテストが行われていない場合があります。コミュニティの貢献により安定性が向上することを期待しています。
まとめ
mlcommons/training は、幅広いAIタスクにおいて MLPerf Training ベンチマークスイートの最小限で再現可能なリファレンス実装を提供する、本物のコミュニティメンテナンスリポジトリです。MLPerfトレーニングチャレンジの理解、実験、結果の提出を検討する人にとって貴重な出発点ですが、プロダクションレベルのトレーニングパフォーマンスを目的としたものではありません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト