rectangle-historyUnsloth によるマルチ GPU ファインチューニング

Unsloth を使って複数 GPU と並列処理で LLM をファインチューニングする方法を学びましょう。

Unslothは現在、AccelerateやDeepSpeedのようなライブラリを通じてマルチGPU構成をサポートしています。つまり、既に次のような並列化手法を活用できます: FSDP および DDP をUnslothで利用できます。

新しいDistributed Data Parallel (DDP)マルチGPUガイドはこちら.

このプロセスは複雑で手動設定が必要になることを承知しています。マルチGPUサポートをより簡単で使いやすくするために全力で取り組んでおり、近いうちにUnslothの公式マルチGPUサポートを発表します。

現時点では、次を使用できます: Magistral-2509のKaggleノートブック は、24BパラメータモデルにフィットさせるためにマルチGPUのUnslothを利用する例です。または、私たちの DDPガイド.

その間に、DDPでマルチGPUを有効にするには次を行ってください:

  1. トレーニングスクリプトを次の名前で作成します: train.py (または類似の名前)。たとえば、私たちの次のいずれかの トレーニングスクリプトarrow-up-right を、さまざまなノートブックから作成したものとして使用できます!

  2. 次を実行します accelerate launch train.py または torchrun --nproc_per_node N_GPUS train.py ここで N_GPUS はあなたが持っているGPUの数です。

パイプライン/モデル分割の読み込み

もし1台のGPUで例えばLlama 70Bを読み込むためのVRAMが足りない場合でも心配いりません — モデルを各GPUに分割して読み込みます!これを有効にするには、次のフラグを使用してください: device_map = "balanced" フラグ:

from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
    "unsloth/Llama-3.3-70B-Instruct",
    load_in_4bit = True,
    device_map = "balanced",
)

公式発表をお楽しみに! 詳細については、進行中のこちらの プルリクエストarrow-up-right でマルチGPUサポートについて議論しています。

最終更新

役に立ちましたか?