accelerateは、GitHubで公開されている、GPUを効率的かつ簡易な設定で使うためのライブラリ。
#contents

*ソフトウェアについて [#yf07629d]
**概要 [#u31d62a1]
-公式GitHubページ
https://github.com/huggingface/accelerate

-マルチ GPU、fp16/bf16切り替えを簡単に行うことができる。
--ローカルマシンとAWSどちらを使うか
--マルチGPUか単一GPUか。
--fp16かbf16か。  etc

>
--&color(red){CPUだけを使いたい人はこの設定を変更する。特に、VRAM不足につきメインメモリを使いたい場合};
--&color(red){アプリの速度が異常に遅い人(なぜか、CPU単独で動いている)はこの設定を見直すこと};

**保存場所 [#k9711fba]
venv環境下の場合、下記に保存されている。
 venv\Lib\site-packages\accelerate

**accelerate config:環境設定[#accelerate_config]
この設定は、accelerateのインストール以降、いつでも何回でも行える。
#shadowheader(3,venv仮想環境をアクティベートする。)
[[venv環境]]に従って有効化する。
なお、グローバル環境を使う場合、この行程は省略する。

#shadowheader(3,設定を開始する)
 accelerate config

#shadowheader(3,設定する)
config設定で、質問に対して順番に答えていく。
各々のPC環境にもよるが、多くのユーザーは以下の回答になる。

#pre{{
This machine             (Enterキー)
No distributed training  (Enterキー)
NO                       (NOと入力してEnterキー)
NO                       (NOと入力してEnterキー)
NO                       (NOと入力してEnterキー)
all                      (allと入力してEnterキー)
fp16                     (数字キー1で選択してEnterキー)
}}

#br
----------
#br

詳細は以下の通り。
■どのマシンで動かすか。
#pre{{
In which compute enviroment are you runnning?
Please select achoice using the arrow or number keys, and selecting with enter
 * This machine

Which type of machine are you using?
Please select a choice using the arrow or number keys, and selecting with enter
 * No distributed training
}}
ここまでは一番上の選択肢をそのまま選ぶのでエンターを押すだけでいい。

■CPU単独を使うか、GPUを使うか
■mixed precisionはどれを使うか。

#pre{{
Do you want to run your training on CPU only (even if a GPU is available)? [yes/NO]:NO
Do you wish to optimize your script with torch dynamo? [yes/NO]:NO
Dou you want to use DeepSpeed? [yes/NO]:NO
What GPU(s) (by id) should be used for training on this machine as a comma-seperated list? [all]:all
}}
これらの質問には、それぞれ該当する答えを入力してエンターを押す。つまり、順番に「NO」「NO」「NO」「all」で答える。
#pre{{
Dou you wish to use FP16 or BF16 (mixed precision)?
Please select a choice using the arrow or number keys, and selecting with enter
 no
 *fp16
 bf16
}}
注意:ここで選択する際に、矢印キーで選択しようとするとプログラムが落ちる不具合があるので、数字キーで選択する。それぞれ0,1,2が該当するので、1を押せば「fp16」にカーソルが合うのでエンター。「fp166」みたいに表示されてるかもしれないが気にしない。


**【参考】各アプリでのacceralate config設定の要否 [#c7c7d7ad]
最新の情報は、公式ページや当wikiの解説ページを参照のこと。
***Stable Diffusion web UI [#j14003e2]
-最新版を導入する設定になっており、インストール及びconfig設定は自動で行われる。
RIGHT:2023/8/23 Ver.1.5.1時点

***sd-scripts [#kc5c43f7]
Ver.0.15.0を導入する設定になっており、
設定は自分で行う必要がある。(acceralate config)
RIGHT:2023/8/23 Ver.0.6.5時点

**accelerate launch [#b5db8abf]
-これは、Pythonプログラムを実行するためのコマンド。
--例えば、Stable Diffusion web UIやsd-scripts起動の際に使用する。

**関連ページ [#o4b1063b]
-[[LoRA]]