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
0
240
Deep Dive - Mosaic AI の Model Training
Mosaic AI の Model TrainingについてDeep Diveした資料です。
Databricks Japan
April 12, 2024
Tweet
Share
More Decks by Databricks Japan
See All by Databricks Japan
Databricks連携で実現する DWHモダナイゼーション
databricksjapan
0
78
[2025年7月版] AI/BI 最新機能アップデート / AIBI update on July
databricksjapan
0
120
AIもデータも、もっと身近に。Databricksで広がる金融業界の可能性 / FDUA-Study
databricksjapan
0
200
OTFSG勉強会 / Introduction to the History of Delta Lake + Iceberg
databricksjapan
0
240
[2025年5月版] Azure Databricks最新機能アップデート / 202505 Azure Databricks Latest Updates
databricksjapan
0
260
DatabricksとPower BIの連携メリット / Databricks PowerBI Integration Merits
databricksjapan
1
310
[2025年4月版] Databricks Academy ラボ環境 利用開始手順 / Databricks Academy Labs Onboarding
databricksjapan
2
550
Lakeflow Connectのご紹介
databricksjapan
1
320
MLflowの現在と未来 / MLflow Present and Future
databricksjapan
1
850
Other Decks in Technology
See All in Technology
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
210
人工衛星のファームウェアをRustで書く理由
koba789
13
7.2k
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
AWSで始める実践Dagster入門
kitagawaz
1
590
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
6
750
2025年になってもまだMySQLが好き
yoku0825
8
4.6k
研究開発と製品開発、両利きのロボティクス
youtalk
1
520
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
230
Agile PBL at New Grads Trainings
kawaguti
PRO
1
400
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
260
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
150
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
A designer walks into a library…
pauljervisheath
207
24k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Done Done
chrislema
185
16k
How to train your dragon (web standard)
notwaldorf
96
6.2k
4 Signs Your Business is Dying
shpigford
184
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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