rectangle-historyUnsloth を使ったマルチ GPU ファインチューニング

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

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の数です。

パイプライン/モデル分割のロード

例えばLlama 70Bを1つのGPUで読み込むのに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サポートが議論されています。

最終更新

役に立ちましたか?