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
PRO
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
PRO
April 12, 2024
More Decks by Databricks Japan
See All by Databricks Japan
MLOps実践ワークショップ:Unity CatalogとMLflowで学ぶ特徴量・モデル管理
databricksjapan
PRO
0
29
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
340
データエンジニアリングワークショップ:Auto LoaderとSparkで学ぶデータパイプライン構築
databricksjapan
PRO
0
160
Lakebase ワークショップ / Lakebase-workshop
databricksjapan
PRO
0
93
はじめてのDatabricks:技術者向けワークショップ / beginner-workshop
databricksjapan
PRO
0
150
GenieAgents 品質向上ワークショップ / Genie-Tuning-Workshop
databricksjapan
PRO
0
59
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
360
生成AIワークショップ / Custom-AI-Agents-workshop
databricksjapan
PRO
0
440
Lakeflow Designer ワークショップ / lakeflow-designer-workshop
databricksjapan
PRO
0
530
Other Decks in Technology
See All in Technology
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
3
1.4k
Azure App Service / Container Apps の組み込み認証
kuniteru
0
190
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
180
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
3
2.3k
書籍『生成AIの安全性入門』の入門
wataoka
0
210
Autonomous AI Databaseサービス・アップデート(FY27)/ adb-service-update-jp-fy27
oracle4engineer
PRO
0
110
AI時代のAPI品質を支えるガードレール / API Guardrails for API quality in the AI era
yokawasa
1
110
その指示、Bobにしっかり伝わってる?初心者でも即実践できる プロンプト/コンテキスト設計のコツ
muehara
1
150
grill-me(grilling):AI駆動開発を超助けてくれるSkill / grill me
mathbullet
0
110
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
2
2.3k
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
150
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
130
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
650
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
ラッコキーワード サービス紹介資料
rakko
1
4.7M
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
510
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
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