これは、大規模な言語モデルとマルチモーダルモデルとその推論のトレーニングを成功させるのに役立つ方法論、ツール、段階的な指示のオープンコレクションです。
これは、LLM/VLMトレーニングエンジニアおよびオペレーターに適した技術的な資料です。これは、ここのコンテンツには、多くのスクリプトとコピーN-Pasteコマンドが含まれており、ニーズに迅速に対応できるようにします。
このレポは、大規模な言語モデル(LLM)(およびVLM)をトレーニングする私の経験の継続的な脳のダンプです。 2022年にオープンソースBloom-176Bモデルと2023年にIDEFICS-80Bマルチモーダルモデルをトレーニング中にトレーニング中に私が獲得した多くのノウハウ、および2024年にContext.AIでRAGモデルをトレーニングしました。
私はこの情報を自分のために主に編集してきたので、過去にすでに研究してきた解決策をすぐに見つけることができましたが、いつものように、これらのメモをより広いMLコミュニティと共有できてうれしいです。
パート1。洞察
パート2。ハードウェア
計算- アクセラレータ、CPU、CPUメモリ。
ストレージ- ローカル、分散、共有ファイルシステム。
ネットワーク- ノード間およびノード間ネットワーク。
パート3。オーケストレーション
パート4。トレーニング
パート5。推論
パート6。開発
デバッグとトラブルシューティング- 簡単で困難な問題をデバッグする方法
そして、より多くのデバッグ
テスト- テストライティングを楽しいものにするための多くのヒントとツール
パート7。その他
Twitterチャンネルhttps://twitter.com/stasbekmanの重要な更新を発表します。
本のPDFバージョンをダウンロードしてください。
私はそれを週に1回程度再構築しようとしますが、最新のものが必要な場合は、建物の指示がここにあります。
HFハブで本のPDFをホストする許可を与えてくれたHuggingfaceに感謝します。
ML Engineeringに関連することについて話し合いたい場合は、このリポジトリにはコミュニティの議論があります。そのため、あなたの経験を共有したり、情熱を持っていることについての新しい議論を開始することを躊躇しないでください。
ハイエンドの加速器:
ネットワーク:
迅速かつ頻繁に見つける必要がある可能性が高いもの。
ツール:
ガイド:
私が最初のノウハウを学んだ特定のLLM/VLMトレーニングを行うことを私が委ねられなければ、これは不可能でした。これは、巨大なMLコンピューティングクラスターをレンタルするための非常に高価なコストのために、ほんの数人しか楽しむことができないことです。したがって、MLコミュニティの残りの部分がこれらのメモから代表的に学ぶことを願っています。
Thom Wolfに感謝します。ThomWolfは、大規模なトレーニングについて何も知らなかったときにBloom-176Bのトレーニングをリードすることを提案しました。これは、私を激しい学習プロセスに追い込んだプロジェクトでした。そして、もちろん、Bloom-176Bおよび後にIDEFICS-80Bトレーニングでフルタイムで働く機会を与えてくれたハッグフェイス。
最近、私はモデルのトレーニングとコンテキストでスケーラブルなトレーニング/推論システムを構築しながら知識と経験を拡大し続け、AmanとDouweへのその機会に感謝しています。
また、このテキストを素晴らしいものにしてエラーのないものにしてくれた多くの貢献者にも感謝します。
バグ、タイプミス、または改善を提案したい場合は、問題を開いたりPRを寄せたりすることをheしないでください。
このサイトのコンテンツは、Attribution-Sharealike 4.0 Internationalの下で配布されています。
@misc { bekman2024mlengineering ,
author = { Bekman, Stas } ,
title = { Machine Learning Engineering Open Book } ,
year = { 2023-2024 } ,
publisher = { Stasosphere Online Inc. } ,
journal = { GitHub repository } ,
url = { https://github.com/stas00/ml-engineering }
}✔機械学習: MLエンジニアリングオープンブック| MLウェイ|移植
✔ガイド:デバッグの芸術
✔アプリケーション: iPyexperiments
✔ツールとチートシート: BASH | conda | git | jupyter-notebook | make | Python |テンソルボード| Unix