4 ポイント 投稿者 GN⁺ 2024-01-25 | 1件のコメント | WhatsAppで共有
  • AI戦闘エンジニアリング - 知っておくべきこと

    • 人工知能(ML)モデル、特に大規模言語モデル(LLM)とマルチモーダルモデル(VLM)を成功裏に訓練するための方法論を集めたオープンなコレクション。
    • LLM/VLMの訓練エンジニアおよび運用担当者向けの技術資料で、スクリプトとコピー&ペースト用コマンドが多く含まれており、必要な作業をすばやく実行できる。
    • 2022年にオープンソースのBLOOM-176Bモデル、2023年にIDEFICS-80Bマルチモーダルモデルを訓練した際に得た経験とノウハウを継続的に記録しており、現在はContextual.AIでオープンソースの検索拡張モデルを開発・訓練中。
  • 目次

    • レイアウトが不安定であることを詫びつつ、新しい章を執筆し、内容をより直感的に再構成している最中。
  • ハードウェア構成要素

    • アクセラレータ - MLの主力であり、GPU、TPU、IPU、FPGA、HPU、QPU、RDUなどを含む。
    • ネットワーク - ノード内およびノード間の接続性、帯域幅要件の計算。
    • ストレージ - ローカルおよび分散ディスクとファイルシステム。
    • CPU - CPUとアフィニティに関する内容。
    • CPUメモリ - どれだけのCPUメモリが十分かについての最も短い章。
  • 性能

    • 耐障害性
    • 性能
    • マルチノードネットワーキング
    • モデル並列性
  • 運用

    • SLURM
    • 訓練ハイパーパラメータとモデル初期化
    • 不安定性
  • 開発

    • ソフトウェアおよびハードウェア障害のデバッグ
    • さらなるデバッグ
    • 再現性
    • テンソル精度 / データ型
    • HF Transformersノート - 小さなモデル、トークナイザー、データセットなどに関するヒント。
  • その他

    • 資料 - LLM/VLM年代記。
  • ショートカット

    • 頻繁にすばやく探す必要があるツールとガイド。
    • ツール: all_reduce_bench.py, torch-distributed-gpu-test.py
    • ガイド: debugging pytorch applications, slurm for users, make tiny models/datasets/tokenizers, LLM/VLM chronicles collection
  • 本を作る

    • PDFを作成したい、またはリンクを確認したい場合は「本を作る」セクションを参照。
  • 謝辞

    • このようなノウハウを学べたのは、大規模MLコンピュートクラスタを借りる費用が非常に高額であるため、ごく一部の人しか享受できない特権。
    • Thom WolfとHuggingFaceに特別な感謝を表明。
  • 貢献する

    • バグや誤字の発見、改善提案があれば、Issueを開くかPRを送ることを推奨。
  • ライセンス

    • このサイトの内容はAttribution-ShareAlike 4.0 Internationalライセンスの下で配布される。
  • 自分のリポジトリマップ

    • 機械学習: ML Engineering Open Book | ML ways | Porting
    • ガイド: The Art of Debugging
    • アプリケーション: ipyexperiments
    • ツールおよびチートシート: bash | conda | git | jupyter-notebook | make | python | tensorboard | unix

GN⁺の意見

  • この資料は、大規模言語モデルとマルチモーダルモデルの訓練に必要な実践的知識とツールを提供することで、MLコミュニティに大きく貢献している。
  • 実際のプロジェクト経験から得たノウハウを共有することで、初級ソフトウェアエンジニアが大規模MLモデル訓練に必要な実務知識を身につける助けになる。
  • オープンソースのアプローチは、ML分野における知識共有と協力を促進し、これは研究とイノベーションの加速に重要な役割を果たす。

1件のコメント

 
GN⁺ 2024-01-25
Hacker Newsのコメント
  • この記事は本当に価値がある。研究を支えるためにLLMのトレーニング設定をデバッグする仕事をしているが、始めるときにこういうメモがあればよかった。

    • LLMのトレーニング設定のデバッグに従事する人にとって、初期段階でこうした情報があれば有用だっただろうということを述べている。
  • 私はApplied Scientistと一緒に働きながら、モデルのトレーニングやデプロイに関する作業を手伝っています。私のような人間は、最適化や性能といったより低レベルのエンジニアリング作業に、どうすれば触れられるのでしょうか? MLインフラチームはありますが、彼らの目標はプラットフォーム周辺のツールを構築することであって、必ずしもワークロードを最適に実行することではありません。

    • モデルのトレーニングおよびデプロイを支援する人が、最適化や性能のような低レベルのエンジニアリング作業の経験を積みたいと考えていることを示している。
  • これを試してみたいのですが、まともなGPUがありません。みなさんはこういうものをどうやって動かしているのでしょうか?

    • 適切なGPUがないため、実験を始めるのに苦労していることを表している。
  • AI Battlefieldセクションの"Unsolicited Advice"に書かれているすべてのことに、本当に感謝しています [1]。AI開発の急速な進歩と、それに伴う感情的な負担について、非常に現実的な見方です。

    • AI開発の速い進展とそれに伴う感情的な負担を現実的に捉えた"Unsolicited Advice"への感謝を表している。
  • Slurmはどのくらい広く使われているのでしょうか?

    • Slurmの利用範囲についての疑問を示している。
  • 何となくクリックしてrepeatabilityについて読んだのですが、分散トレーニングでこれがどう達成されるのか、まだ気になります。決定的な同期は処理を遅くしないのでしょうか? でも少なくともいくつかの大企業では、彼らのトレーニングが再現可能だと聞いたことがあります。

    • 分散トレーニングにおける再現可能性と、決定的な同期が性能に与える影響について疑問を投げかけている。
  • 仕事がないとき、こうしたことの経験はどうやって積むのですか?

    • 実際の仕事がなくても、関連する経験をどう積めるのかを尋ねている。
  • どこかにpdfはありますか? ビルド方法はありますが、実際のファイルはないようです。

    • 関連文書のpdf版を探していることを示している。