Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Deep Dive - Mosaic AI の Model Training
Search
Databricks Japan
April 12, 2024
Technology
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Deep Dive - Mosaic AI の Model Training
Mosaic AI の Model TrainingについてDeep Diveした資料です。
Databricks Japan
April 12, 2024
More Decks by Databricks Japan
See All by Databricks Japan
生成AIワークショップ / Custom-AI-Agents-workshop
databricksjapan
0
170
Lakeflow Designer ワークショップ / lakeflow-designer-workshop
databricksjapan
0
200
Databricks 生成AIガバナンス実践ワークショップ / LLMOps-workshop
databricksjapan
0
190
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
2
1.3k
DatabricksにおけるIcebergとDelta Lakeの現在と未来 / The Present and Future of Iceberg and Delta Lake in Databricks
databricksjapan
0
850
Databricks Academic Series 〜 データアナリスト編 〜 / academic-series-data-analyst
databricksjapan
1
320
Databricks Academic Series 〜 データエンジニアリング編 〜 / academic-series-data-engineering
databricksjapan
1
450
Databricks Academic Series 〜 機械学習編 〜 / academic-series-ml
databricksjapan
1
180
Databricks Academic Series 〜 大規模言語モデル / エージェント編 〜 / academic-series-llm
databricksjapan
1
310
Other Decks in Technology
See All in Technology
現場で使える AWS DevOps Agent 活用ノウハウ - Release Management 機能の検証結果を添えて / AWS DevOps Agent Release Management and Know-How
kinunori
5
810
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
700
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
210
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.4k
システム監視を 「システムを監視するだけ」で 終わらせないために
seiud
0
160
Power Automateアップデート情報
miyakemito
0
290
plamo-3-translateの開発
pfn
PRO
0
220
reFACToring
moznion
1
1k
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
190
運用を犠牲にせずコストを制御し事業成長を支える B2B SaaS ID管理基盤におけるS3 Tableのログストレージ活用
kaminashi
1
120
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
1k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
310
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
480
Context Engineering - Making Every Token Count
addyosmani
9
1k
Balancing Empowerment & Direction
lara
6
1.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Producing Creativity
orderedlist
PRO
348
40k
KATA
mclloyd
PRO
35
15k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
850
Transcript
Mosaic AI Model Training Deep Dive 1 February 2024
©2024 Databricks Inc. — All rights reserved 2 大規模なLLMの事前学習を どうやって実現するか?
©2024 Databricks Inc. — All rights reserved 3 1つ目:大量のデータ
©2024 Databricks Inc. — All rights reserved 4 The Stack
The Pile C4 mC4 RefinedWeb Dolma RedPajama Your Data …and so on
©2024 Databricks Inc. — All rights reserved 5 2つ目:大規模なモデル
©2024 Databricks Inc. — All rights reserved 6 MPT GPT
LLama Falcon Orca Nemo StarCoder Your Model …and so on
©2024 Databricks Inc. — All rights reserved 7 And then...
©2024 Databricks Inc. — All rights reserved 8 Until...
©2024 Databricks Inc. — All rights reserved データ • クラウドに置いたデータセットで
トレーニング • 高信頼性、高速、スケーラブル 9 高速なトレーニングを追求して開発されたソフトウェア群 The Code • LLMのPre-Training • LLMのFine Tuning • LLMの評価 トレーナー • より高速なトレーニングし • より低いコストで • より高い精度を実現する LLM Foundry Diffusion Composer Streaming
©2024 Databricks Inc. — All rights reserved 10 スケーラビリティを実現するオーケストレーションツール MCLOUD
©2024 Databricks Inc. — All rights reserved 11 スケーラビリティを実現するオーケストレーションツール 数千個のGPUで分散学習
• クラウドを跨いだ学習 • 大規模な並列化 • 数十億パラメータ 学習の失敗に自動で対処 • GPUの障害を検知 • 簡単で高速なリスタート • クラスターを跨いだリカバリ 高度な分散学習 耐障害性 10億パラメータを数分で • 開発し、学習を実行 • 複雑なセットアップや設定は不要 • 反復が容易 シームレス
©2024 Databricks Inc. — All rights reserved 12 MPT-7B MPT-7B-Instruct
MPT-7B-Chat MPT-30B MPT-30B-Chat MPT-* (上記に加え、お客様が使用する全てのLLM)
©2024 Databricks Inc. — All rights reserved 13
©2024 Databricks Inc. — All rights reserved 14 Composer モデルをより高品質に、より速く、より安くトレーニングするライブラリ
• Trainer ◦ PyTorchのトレーニングをハイパフォーマンスで実行可能で、機能豊富なAPI • 分散学習 ◦ FullyShardedDataParallel (FSDP) で自動的にラップされ、DistributedDataParallel (DDP) へのフォールバックする仕組みも具備 ◦ FSDP は ZeRO Stage 3 の実装 ▪ 大規模なモデルをスケーラブルにトレーニングするために必要 • Methods ◦ Alibi : 長いシーケンスへの対応を可能にする ◦ GradientClipping : トレーニングを安定させる • Checkpointing, ICL Evaluation, Auto-Resumption, Lora/PEFT, etc
©2024 Databricks Inc. — All rights reserved 15 Composer モデルをより高品質に、より速く、より安くトレーニングするライブラリ
• Trainer ◦ PyTorchのトレーニングをハイパフォーマンスで実行可能で、機能豊富なAPI
©2024 Databricks Inc. — All rights reserved 16
©2024 Databricks Inc. — All rights reserved • Trainer ◦
PyTorchのトレーニングをハイパフォーマンスで実行可能で、機能豊富なAPI • 分散学習 ◦ FullyShardedDataParallel (FSDP) で自動的にラップされ、DistributedDataParallel (DDP) へのフォールバックする仕組みも具備 ◦ FSDP は ZeRO Stage 3 の実装 ▪ 大規模なモデルをスケーラブルにトレーニングするために必要 17 Composer モデルをより高品質に、より速く、より安くトレーニングするライブラリ
©2024 Databricks Inc. — All rights reserved 18 Composer モデルをより高品質に、より速く、より安くトレーニングするライブラリ
• Trainer ◦ PyTorchのトレーニングをハイパフォーマンスで実行可能で、機能豊富なAPI • 分散学習 ◦ FullyShardedDataParallel (FSDP) で自動的にラップされ、DistributedDataParallel (DDP) へのフォールバックする仕組みも具備 ◦ FSDP は ZeRO Stage 3 の実装 ▪ 大規模なモデルをスケーラブルにトレーニングするために必要 • Methods ◦ Alibi : 長いシーケンスへの対応を可能にする ◦ GradientClipping : トレーニングを安定させる
©2024 Databricks Inc. — All rights reserved 19
©2024 Databricks Inc. — All rights reserved 20 Composer モデルをより高品質に、より速く、より安くトレーニングするライブラリ
• Trainer ◦ PyTorchのトレーニングをハイパフォーマンスで実行可能で、機能豊富なAPI • 分散学習 ◦ FullyShardedDataParallel (FSDP) で自動的にラップされ、DistributedDataParallel (DDP) へのフォールバックする仕組みも具備 ◦ FSDP は ZeRO Stage 3 の実装 ▪ 大規模なモデルをスケーラブルにトレーニングするために必要 • Methods ◦ Alibi : 長いシーケンスへの対応を可能にする ◦ GradientClipping : トレーニングを安定させる • Checkpointing, ICL Evaluation, Auto-Resumption, Lora/PEFT, etc
©2024 Databricks Inc. — All rights reserved 21 https://docs.mosaicml.com/ projects/composer/
©2024 Databricks Inc. — All rights reserved 22
©2024 Databricks Inc. — All rights reserved 23 Streaming クラウドストレージからデータセットを高速かつ正確にストリーミング
• クラウドストレージ ◦ OCI, Azure, GCP, AWSのクラウドストレージにデータを配置し、トレーニング環境へ オンデマンドで直接データをストリーミングで提供 • MDS ◦ Mosaic Data Shards ◦ 高速な学習とデータ転送を可能にするバイナリデータフォーマット • 決定論的なデータシャッフル ◦ 適切なデータシャッフルを決定論的に実施することは非常に難易度が高い ◦ Streaming shuffling = ロスのスパイクを無くし、決定論的シャッフルを実現 ▪ py1s, py1b, etc
©2024 Databricks Inc. — All rights reserved 24 Streaming クラウドストレージからデータセットを高速かつ正確にストリーミング
• クラウドストレージ ◦ OCI, Azure, GCP, AWSのクラウドストレージにデータを配置し、トレーニング環境へ オンデマンドで直接データをストリーミングで提供
©2024 Databricks Inc. — All rights reserved 25
©2024 Databricks Inc. — All rights reserved 26 Streaming クラウドストレージからデータセットを高速かつ正確にストリーミング
• クラウドストレージ ◦ OCI, Azure, GCP, AWSのクラウドストレージにデータを配置し、トレーニン グ環境へオンデマンドで直接データをストリーミングで提供 • MDS ◦ Mosaic Data Shards ◦ 高速な学習とデータ転送を可能にするバイナリデータフォーマット
©2024 Databricks Inc. — All rights reserved 27 MPT-30B pre-training
dataset - 10 streams - 488,894 shards - 2,000,047,734 samples (physical) - 32,784,871,217,218 bytes (decompressed)
©2024 Databricks Inc. — All rights reserved 28 Streaming クラウドストレージからデータセットを高速かつ正確にストリーミング
• クラウドストレージ ◦ OCI, Azure, GCP, AWSのクラウドストレージにデータを配置し、トレーニング環境へ オンデマンドで直接データをストリーミングで提供 • MDS ◦ Mosaic Data Shards ◦ 高速な学習とデータ転送を可能にするバイナリデータフォーマット • 決定論的なデータシャッフル ◦ 適切なデータシャッフルを決定論的に実施することは非常に難易度が高い ◦ Streaming shuffling = ロスのスパイクを無くし、決定論的シャッフルを実現 ▪ py1s, py1b, etc
©2024 Databricks Inc. — All rights reserved 29
©2024 Databricks Inc. — All rights reserved 30
©2024 Databricks Inc. — All rights reserved 31 https://docs.mosaicml.com/ projects/streaming/
©2024 Databricks Inc. — All rights reserved 32
©2024 Databricks Inc. — All rights reserved 33 LLM Foundry
• MPT ◦ モデルコード(モデルレイヤー、PretrainingとFinetuningのための dataloader、optimizer、tokenizerなどを含む) • Recipes ◦ PretrainingとFinetuningのためのプリセット構成 ◦ これらのレシピには、PretrainingとFinetuningのために吟味されたハイ パーパラメータが含まれる • Evaluation ◦ InContext Learning による評価や Gauntlet に必要な全てのコード ◦ 学習中、モデル出力からICLタスク生成させ、一連の評価ベンチマークで 実行させることができる。 LLMのトレーニング、ファインチューニング、評価のコードを含むリポジトリ
©2024 Databricks Inc. — All rights reserved 34 LLM Foundry
LLMのトレーニング、ファインチューニング、評価のコードを含むリポジトリ • MPT ◦ モデルコード(モデルレイヤー、PretrainingとFinetuningのための dataloader、optimizer、tokenizerなどを含む)
©2024 Databricks Inc. — All rights reserved 35 LLM Foundry
LLMのトレーニング、ファインチューニング、評価のコードを含むリポジトリ • MPT ◦ モデルコード(モデルレイヤー、PretrainingとFinetuningのための dataloader、optimizer、tokenizerなどを含む) • Recipes ◦ PretrainingとFinetuningのためのプリセット構成 ◦ これらのレシピには、PretrainingとFinetuningのために吟味されたハイ パーパラメータが含まれる
©2024 Databricks Inc. — All rights reserved 36
©2024 Databricks Inc. — All rights reserved 37 Why YAML?
©2024 Databricks Inc. — All rights reserved 38 Why YAML?
Many, many things to configure
©2024 Databricks Inc. — All rights reserved 39
©2024 Databricks Inc. — All rights reserved 40 LLM Foundry
LLMのトレーニング、ファインチューニング、評価のコードを含むリポジトリ • MPT ◦ モデルコード(モデルレイヤー、PretrainingとFinetuningのための dataloader、optimizer、tokenizerなどを含む) • Recipes ◦ PretrainingとFinetuningのためのプリセット構成 ◦ これらのレシピには、PretrainingとFinetuningのために吟味されたハイ パーパラメータが含まれる • Evaluation ◦ InContext Learning による評価や Gauntlet に必要な全てのコード ◦ 学習中、モデル出力からICLタスク生成させ、一連の評価ベンチマークで 実行させることができる。
©2024 Databricks Inc. — All rights reserved 41
©2024 Databricks Inc. — All rights reserved 42 https://github.com/mosaicm l/llm-foundry
©2024 Databricks Inc. — All rights reserved 43 ソフトウェアだけでなく、 トレーニングを実行する環境も提供
©2024 Databricks Inc. — All rights reserved 44 MCLOUD
©2024 Databricks Inc. — All rights reserved 45 MCloud トレーニングのオーケストレーションと実行のためのプラットフォーム
• トレーニングの実行管理 ◦ 数千個のGPUに跨る学習の実行をスケジューリング ◦ 複数のクラウド上の複数のクラスターで、トレーニング実行のスケジューリン グとデプロイを管理 • 障害の自動リカバリ ◦ GPUの障害をモニタリング ◦ 使用不能になったGPUを除外し、最新の状態から自動的にリスタート • 様々なインテグレーション・ユーティリティ ◦ プロビジョニング環境 (例:正しい WORLD_SIZE の取り込み) ◦ インテグレーション (例:Git、クラウドストレージの認証、 etc) ◦ 全てのノードからリアルタイムにログをストリーミング
©2024 Databricks Inc. — All rights reserved 46 MCloud トレーニングのオーケストレーションと実行のためのプラットフォーム
• トレーニングの実行管理 ◦ 数千個のGPUに跨る学習の実行をスケジューリング ◦ 複数のクラウド上の複数のクラスターで、トレーニング実行のスケジューリ ングとデプロイを管理
©2024 Databricks Inc. — All rights reserved 47 Our LLM
Foundry YAML MCLI YAML
©2024 Databricks Inc. — All rights reserved 48 MCloud トレーニングのオーケストレーションと実行のためのプラットフォーム
• トレーニングの実行管理 ◦ 数千個のGPUに跨る学習の実行をスケジューリング ◦ 複数のクラウド上の複数のクラスターで、トレーニング実行のスケジューリングと デプロイを管理 • 障害の自動リカバリ ◦ GPUの障害をモニタリング ◦ 使用不能になったGPUを除外し、最新の状態から自動的にリスタート
©2024 Databricks Inc. — All rights reserved 49
©2024 Databricks Inc. — All rights reserved 50 MCloud トレーニングのオーケストレーションと実行のためのプラットフォーム
• トレーニングの実行管理 ◦ 数千個のGPUに跨る学習の実行をスケジューリング ◦ 複数のクラウド上の複数のクラスターで、トレーニング実行のスケジューリン グとデプロイを管理 • 障害の自動リカバリ ◦ GPUの障害をモニタリング ◦ 使用不能になったGPUを除外し、最新の状態から自動的にリスタート • 様々なインテグレーション・ユーティリティ ◦ プロビジョニング環境 (例:正しい WORLD_SIZE の取り込み) ◦ インテグレーション (例:Git、クラウドストレージの認証、 etc) ◦ 全てのノードからリアルタイムにログをストリーミング
©2024 Databricks Inc. — All rights reserved 51 MCloud トレーニングのオーケストレーションと実行のためのプラットフォーム
• CLI → MCLI • UI → https://console.mosaicml.com/ • SDK → https://pypi.org/project/mosaicml-cli/
©2024 Databricks Inc. — All rights reserved 52 Demo https://youtu.be/QyxB_QA94U4?si=SF2iCLx0P1TtAaVG