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
260
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ホストモデルでAIコーディング環境を構築する
databricksjapan
0
230
[Iceberg Meetup #4] ゼロからはじめる: Apache Icebergとはなにか? / Apache Iceberg for Beginners
databricksjapan
0
570
Microsoft Tech Brief : Microsoft Fabric × Databricks × Microsoft Foundry が切り拓く Agentic Analytics 革命 ― Microsoft Ignite & Databricks 社 主催 DATA+AI World Tour Tokyo 最新アップデート総括
databricksjapan
1
140
Money Forwardにおける Databricks利⽤の現状と今後の展望
databricksjapan
0
110
Databricks Lakeflow クイックワークショップ / lakeflow-workshop
databricksjapan
0
200
NEXT弥⽣を⽀えるAI‧データ基盤構想 とシルバー構築について
databricksjapan
0
66
世界をつなぐ、SEGAのグローバルデータメッシュ 〜Databricksで進化する基盤とゲーム運営〜
databricksjapan
0
190
JEDAI認定プログラム JEDAI Order 2026 エントリーのご案内 / JEDAI Order 2026 Entry
databricksjapan
0
290
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
2
390
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
130
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
110
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
370
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
640
システムのアラート調査をサポートするAI Agentの紹介/Introduction to an AI Agent for System Alert Investigation
taddy_919
2
1.5k
SMTP完全に理解した ✉️
yamatai1212
0
190
セキュリティ はじめの一歩
nikinusu
0
1.4k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
1.8k
月間数億レコードのアクセスログ基盤を無停止・低コストでAWS移行せよ!アプリケーションエンジニアのSREチャレンジ💪
miyamu
0
720
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
270
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
310
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
GraphQLとの向き合い方2022年版
quramy
50
14k
Marketing to machines
jonoalderson
1
4.6k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
88
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
290
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
180
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