rectangle-historyMulti-GPU-Finetuning mit Unsloth

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

Unsloth unterstützt derzeit Multi-GPU-Setups über Bibliotheken wie Accelerate und DeepSpeed. Das bedeutet, dass Sie bereits Parallelitätsmethoden wie FSDP und DDP mit Unsloth.

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. Ausführen accelerate launch train.py oder torchrun --nproc_per_node N_GPUS train.py sudo kill -9 XXXX N_GPUS ist die Anzahl der GPUs, 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 dran für unsere offizielle Ankündigung! Für weitere Details, sehen Sie sich unsere laufende Pull-Anfragearrow-up-right an, die die Multi-GPU-Unterstützung diskutiert.

Zuletzt aktualisiert

War das hilfreich?