Aller au contenu principal

Formation distribuée multi-GPU

info

Bêta

Cette fonctionnalité est en version bêta.

Ces exemples permettent de monter en charge l’entraînement des modèles sur plusieurs GPU et nœuds dans AI Runtime. Les exemples de Notebook utilisent l’API Python serverless_gpu sur un compute GPU associé. Les exemples de la CLI Databricks fournissent des configurations de charges de travail et du code source pour l’entraînement sur nœud unique et sur plusieurs nœuds.

remarque

L’entraînement distribué multi-GPU basé sur le Notebook est pris en charge sur les GPU H100.

Choisissez votre technique de parallélisme​

Choisissez une technique de parallélisme en fonction de la taille de votre modèle, de la mémoire GPU disponible et des exigences de performance. Le tableau suivant compare les options.

Technique

Quand utiliser

DDP (Parallélisme de données distribué)

Le modèle complet tient dans une seule mémoire GPU ; il faut augmenter le throughput de données.

FSDP (Fully Sharded Data Parallel)

Modèles très volumineux qui ne tiennent pas dans une seule mémoire GPU

DeepSpeed ZeRO

Grands modèles avec des besoins d'optimisation avancée de la mémoire

Technique

Quand utiliser

DDP (Parallélisme de données distribué)

Le modèle complet tient dans une seule mémoire GPU ; il faut augmenter le throughput de données.

FSDP (Fully Sharded Data Parallel)

Modèles très volumineux qui ne tiennent pas dans une seule mémoire GPU

DeepSpeed ZeRO

Grands modèles avec des besoins d'optimisation avancée de la mémoire

Pour des informations détaillées sur chaque technique, veuillez consulter DDP, FSDP et DeepSpeed.

Pour obtenir des conseils et des modèles permettant de rendre votre pipeline d'entraînement plus efficace et plus résilient, consultez le guide de performance et de résilience.

Exemples de Notebook par technique et framework​

Le tableau suivant classe les exemples de Notebooks par framework ou bibliothèque et selon la technique de parallélisme appliquée. Plusieurs Notebooks peuvent apparaître dans une même cellule.

Exemples de CLI​

Les exemples suivants renvoient à des recettes exécutables dans le AI Runtime Cookbook.

Exemple

Technique

Description

Affinement de ResNet-50 avec Ray Train

DDP

Affinez ResNet-50 avec un Worker Ray Train par GPU A10 sur deux nœuds.

Affinement de Qwen2.5-3B avec Ray Train

DDP

Affinez Qwen2.5-3B avec un worker Ray Train par GPU sur un nœud 8x H100.

Affinement multi-nœuds de Llama 3.1 8B

FSDP

Affinez Llama 3.1 8B avec PyTorch FSDP sur deux nœuds équipés chacun de 8 GPU H100.

Affinement multi-nœuds de Qwen3.8-27B

FSDP2

Affinez Qwen3.8-27B avec PyTorch FSDP2 sur quatre nœuds 8x H100.

Affinement de Qwen3-8B pour l’extraction de factures

DeepSpeed ZeRO-3

Affinez Qwen3-8B pour l’extraction d’entités de factures et de reçus avec TRL sur un nœud 8x H100.

Exemple

Technique

Description

Affinement de ResNet-50 avec Ray Train

DDP

Affinez ResNet-50 avec un Worker Ray Train par GPU A10 sur deux nœuds.

Affinement de Qwen2.5-3B avec Ray Train

DDP

Affinez Qwen2.5-3B avec un worker Ray Train par GPU sur un nœud 8x H100.

Affinement multi-nœuds de Llama 3.1 8B

FSDP

Affinez Llama 3.1 8B avec PyTorch FSDP sur deux nœuds équipés chacun de 8 GPU H100.

Affinement multi-nœuds de Qwen3.8-27B

FSDP2

Affinez Qwen3.8-27B avec PyTorch FSDP2 sur quatre nœuds 8x H100.

Affinement de Qwen3-8B pour l’extraction de factures

DeepSpeed ZeRO-3

Affinez Qwen3-8B pour l’extraction d’entités de factures et de reçus avec TRL sur un nœud 8x H100.

Commencez dans un Notebook​

Utilisez les tutoriels suivants pour get start avec la bibliothèque Python de GPU Serverless pour la formation distribuée :

Didacticiel

Description

AI Runtime avec des GPU H100.

Apprenez à utiliser Databricks AI Runtime avec des accélérateurs H100 pour exécuter des charges de travail GPU distribuées à l'aide de la bibliothèque Python serverless_gpu.

Didacticiel

Description

AI Runtime avec des GPU H100.

Apprenez à utiliser Databricks AI Runtime avec des accélérateurs H100 pour exécuter des charges de travail GPU distribuées à l'aide de la bibliothèque Python serverless_gpu.