rectangle-historyMulti-GPU-Feinabstimmung mit Unsloth

Lerne, wie man LLMs auf mehreren GPUs und mit Parallelismus mit Unsloth feinabstimmt.

Unsloth unterstützt derzeit Multi-GPU-Setups über Bibliotheken wie Accelerate und DeepSpeed. Das bedeutet, dass Sie bereits Parallelisierungsverfahren wie FSDP und DDP mit Unsloth nutzen können.

Siehe unseren neuen Distributed Data Parallel (DDP) Multi-GPU-Leitfaden hier.

Wir wissen, dass der Prozess komplex sein kann und manuelle Einrichtung erfordert. Wir arbeiten intensiv daran, die Multi-GPU-Unterstützung viel einfacher und benutzerfreundlicher zu machen, und werden bald die offizielle Multi-GPU-Unterstützung für Unsloth ankündigen.

Für den Moment können Sie unser Magistral-2509 Kaggle-Notebook als Beispiel verwenden, das Multi-GPU-Unsloth nutzt, um das 24B-Parameter-Modell zu trainieren, oder unseren DDP-Leitfaden.

In der Zwischenzeit, um Multi-GPU für DDP zu aktivieren, tun Sie Folgendes:

  1. Erstellen Sie Ihr Trainingsskript als train.py (oder ähnlich). Zum Beispiel können Sie eines unserer Trainingsskriptearrow-up-right verwenden, die aus unseren verschiedenen Notebooks erstellt wurden!

  2. Führen Sie accelerate launch train.py oder torchrun --nproc_per_node N_GPUS train.py wobei N_GPUS die Anzahl der GPUs ist, die Sie haben.

Pipeline- / Modellaufteilung beim Laden

Wenn Sie nicht genug VRAM haben, damit 1 GPU z. B. Llama 70B laden kann, kein Problem - wir teilen das Modell für Sie auf jeder GPU auf! Um dies zu aktivieren, verwenden Sie das device_map = "balanced" Flag:

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

Bleiben Sie gespannt auf unsere offizielle Ankündigung! Für weitere Details sehen Sie sich unseren laufenden Pull Requestarrow-up-right an, der die Multi-GPU-Unterstützung diskutiert.

Zuletzt aktualisiert

War das hilfreich?