rectangle-historyAffinage multi-GPU avec Unsloth

Apprenez comment affiner des LLM sur plusieurs GPU et le parallélisme avec Unsloth.

Unsloth prend actuellement en charge les configurations multi-GPU via des bibliothèques comme Accelerate et DeepSpeed. Cela signifie que vous pouvez déjà tirer parti de méthodes de parallélisme telles que FSDP et DDP avec Unsloth.

Consultez notre nouveau guide Distributed Data Parallel (DDP) multi-GPU ici.

Nous savons que le processus peut être complexe et nécessite une configuration manuelle. Nous travaillons dur pour rendre la prise en charge multi-GPU beaucoup plus simple et conviviale, et nous annoncerons bientôt la prise en charge multi-GPU officielle pour Unsloth.

Pour l’instant, vous pouvez utiliser notre carnet Kaggle Magistral-2509 comme exemple qui utilise Unsloth multi-GPU pour entraîner le modèle de 24 milliards de paramètres ou notre guide DDP.

En attendant, pour activer le multi-GPU pour DDP, faites ce qui suit :

  1. Créez votre script d’entraînement sous le nom train.py (ou similaire). Par exemple, vous pouvez utiliser l’un de nos scripts d’entraînementarrow-up-right créés à partir de nos différents notebooks !

  2. Exécutez accelerate launch train.py ou torchrun --nproc_per_node N_GPUS train.pyN_GPUS est le nombre de GPU que vous possédez.

Chargement par pipeline / découpage du modèle

Si vous n’avez pas assez de VRAM pour qu’un seul GPU charge par exemple Llama 70B, pas d’inquiétude - nous diviserons le modèle pour vous sur chaque GPU ! Pour activer cela, utilisez le device_map = "balanced" paramètre :

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

Restez à l’écoute pour notre annonce officielle ! Pour plus de détails, consultez notre Pull Requestarrow-up-right en cours qui discute de la prise en charge multi-GPU.

Mis à jour

Ce contenu vous a-t-il été utile ?