Accelerate documentation
Accelerate
はじめに
チュートリアル
ハウツーガイド
Accelerate
学習
勾配の累積Local SGD低精度 (FP8) トレーニングDeepSpeedDeepSpeedで複数のモデルを使用するDDP通信フックFully Sharded Data ParallelMegatron-LMAmazon SageMakerApple M1 GPUIntel CPUIntel Gaudiコンパイル
推論
コンセプトと基礎
Accelerate の内部メカニズム大規模モデルをメモリに読み込む分散環境間のパフォーマンス比較ジョブの実行と遅延勾配の同期FSDPとDeepSpeedFSDP1とFSDP2コンテキスト並列性シーケンス並列性低精度トレーニング手法TPUでのトレーニング
リファレンス
You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v1.15.0).
Accelerate
Accelerateは、わずか4行のコードを追加するだけで、同じPyTorchコードをあらゆる分散構成で実行できるようにするライブラリです。要するに、大規模なトレーニングと推論を、シンプルで効率的、かつ柔軟に実現します。
+ from accelerate import Accelerator
+ accelerator = Accelerator()
+ model, optimizer, training_dataloader, scheduler = accelerator.prepare(
+ model, optimizer, training_dataloader, scheduler
+ )
for batch in training_dataloader:
optimizer.zero_grad()
inputs, targets = batch
inputs = inputs.to(device)
targets = targets.to(device)
outputs = model(inputs)
loss = loss_function(outputs, targets)
+ accelerator.backward(loss)
optimizer.step()
scheduler.step()torch_xla と torch.distributed を基盤として構築された Accelerate が複雑な処理を処理するため、これらのプラットフォームに対応するためのカスタムコードを書く必要はありません。
既存のコードベースを DeepSpeed を活用するように変換し、fully sharded data parallelism を実行し、混合精度トレーニングの自動サポートを実現できます!
このプロセスをよりよく理解するために、チュートリアルをぜひご覧ください。
このコードは、AccelerateのCLIインターフェースを通じて、任意のシステムで起動できます。
accelerate launch {my_script.py} Update on GitHub