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
17
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
45億!増え続けるデータセットと基盤と私
databricksjapan
2
200
Databricks における 『MLOps』
databricksjapan
2
180
[2023年11月版] Databricksを用いた『生成AIアプローチ』
databricksjapan
0
64
Databricks:『生成AI World Cup』のご案内
databricksjapan
2
190
Databricks の セキュリティ
databricksjapan
0
61
Databricks SQL サーバレスとは?
databricksjapan
0
36
Databricks Academy Lab のご紹介
databricksjapan
0
40
クラスターのアクセスモードについて
databricksjapan
0
30
高品質オープンLLM: DBRXとは何か?
databricksjapan
0
68
Other Decks in Technology
See All in Technology
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
35k
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
2
370
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
160
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
1k
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
4
890
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
1
360
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
3
410
JAWS-UG Bedrock Claude Night
yamahiro
3
720
Amplify 🩷 Bedrock 〜生成AI入門〜
minorun365
PRO
8
830
アクセス制御にまつわる改善 / Improving access control
itkq
0
590
ルーターでプレゼンする
puhitaku
1
3.3k
20分で完全に理解するGrafanaダッシュボード
hamadakoji
5
900
Featured
See All Featured
Six Lessons from altMBA
skipperchong
22
3k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
The Cost Of JavaScript in 2023
addyosmani
20
3.9k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
21
6.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
14
1.5k
Web Components: a chance to create the future
zenorocha
306
41k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
BBQ
matthewcrist
80
8.8k
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