このプロジェクトについて

🤗 Accelerateは、Hugging Faceが開発したPyTorchユーザー向けのライブラリで、ボイラープレートコードを書き換えることなく、あらゆるデバイスや分散構成でトレーニングスクリプトを実行できるように設計されています。このライブラリは、マルチGPU、TPU、混合精度(fp8、fp16、bf16)など、必要な部分のみを抽象化し、コードの他の部分は変更しません。標準的なPyTorchスクリプトに数行追加するだけで、単一CPU、単一GPU、マルチGPU、TPUの各構成で、混合精度の有無にかかわらず実行できます。 このライブラリは、デバイス配置、混合精度、分散トレーニングのセットアップを処理する`Accelerator`クラスを提供します。また、CLIツール(`accelerate config`および`accelerate launch`)も含まれており、トレーニング環境を迅速に構成・起動でき、`torch.distributed.run`やTPU固有のランチャーを覚える必要がありません。ノートブックユーザー向けには、`notebook_launcher`関数があり、ColabやKaggleのノートブックから分散トレーニングを実行できます。 Accelerateは、高度な分散トレーニングのためにDeepSpeedやPyTorch Fully Sharded Data Parallel(FSDP)、さらにMegatron-LMをサポートしています。Hugging Face TransformersのPyTorchトレーニングのバックエンドとして使用され、fastai、Catalyst、Stable Diffusion Web UIなど、他の多くのフレームワークにも統合されています。 インストールは`pip install accelerate`で簡単で、Python 3.8以上とPyTorch 1.10.0以上が必要です。このプロジェクトはApache 2.0ライセンスのオープンソースで、広範なドキュメントと例が用意されています。