Configuration Multi-GPU

Exécutez de grands modèles IA sur plusieurs GPUs sur Clore.ai

Exécutez de grands modèles d'IA sur plusieurs GPU sur CLORE.AI.

circle-check

Quand avez-vous besoin de plusieurs GPU ?

Taille du modèle
Option GPU unique
Option multi-GPU

≤13B

RTX 3090 (Q4)

Non nécessaire

30B

RTX 4090 (Q4)

2x RTX 3090

70B

A100 40GB (Q4)

2x RTX 4090

70B FP16

-

2x A100 80Go

100B+

-

4x A100 80GB

405B

-

8x A100 80Go


Concepts multi-GPU

Parallélisme de tenseur (TP)

Répartir les couches du modèle sur plusieurs GPU. Idéal pour l'inférence.

GPU 0 : Couches 1-20
GPU 1 : Couches 21-40

Avantages : Latence plus faible, configuration simple Inconvénients : Nécessite une interconnexion à haut débit

Parallélisme par pipeline (PP)

Traiter différents lots sur différents GPU.

Avantages : Débit plus élevé Inconvénients : Latence plus élevée, plus complexe

Parallélisme de données (DP)

Même modèle sur plusieurs GPU, données différentes.

Avantages : Simple, mise à l'échelle linéaire Inconvénients : Chaque GPU nécessite le modèle complet


Configuration multi-GPU pour LLM

vLLM (Recommandé)

2 GPU :

4 GPU :

8 GPU (pour 405B) :

Ollama Multi-GPU

Ollama utilise automatiquement plusieurs GPU lorsqu'ils sont disponibles :

Limiter à des GPU spécifiques :

Text Generation Inference (TGI)

llama.cpp


Génération d'images Multi-GPU

ComfyUI

ComfyUI peut décharger différents modèles sur différents GPU :

Exécuter le VAE sur un GPU séparé :

Stable Diffusion WebUI

Activer le multi-GPU dans webui-user.sh :

FLUX Multi-GPU


Entraînement Multi-GPU

PyTorch Distribué

Lancer :

DeepSpeed

Lancer :

Accelerate (HuggingFace)

Configurer :

Entraînement Kohya (LoRA)


Sélection du GPU

Vérifier les GPU disponibles

Sélectionner des GPU spécifiques

Variable d'environnement :

En Python :


Optimisation des performances

Connexion
Bande passante
Idéal pour

NVLink

600 GB/s

Parallélisme tensoriel

PCIe 4.0

32 GB/s

Parallélisme de données

PCIe 5.0

64 GB/s

Charges de travail mixtes

Vérifier l'état de NVLink :

Configuration optimale

GPUs
Taille TP
Taille PP
Remarques

2

2

1

Parallélisme de tenseur simple

4

4

1

Nécessite NVLink

4

2

2

Compatible PCIe

8

8

1

Parallélisme de tenseur complet

8

4

2

Parallélisme mixte

Équilibrage de la mémoire

Répartition uniforme (par défaut) :

Répartition personnalisée (GPU inégaux) :


Dépannage

"Erreur NCCL"

"Mémoire insuffisante sur le GPU X"

"Performance multi-GPU lente"

  1. Vérifier la connectivité NVLink

  2. Réduire la taille du parallélisme de tenseur

  3. Utiliser plutôt le parallélisme par pipeline

  4. Vérifier le goulet d'étranglement CPU

"GPU non détectés"


Optimisation des coûts

Quand le multi-GPU en vaut la peine

Scénario
GPU unique
Multi-GPU
Gagnant

70B usage occasionnel

A100 80GB (0,25 $/h)

2x RTX 4090 (0,20 $/h)

Multi

70B production

A100 40GB (0,17 $/h)

2x A100 40GB (0,34 $/h)

Unique (Q4)

Entraînement 7B

RTX 4090 (0,10 $/h)

2x RTX 4090 (0,20 $/h)

Dépend du temps

Configurations rentables

Cas d'utilisation
Configuration
~Coût/h

Inférence 70B

2x RTX 3090

$0.12

Inférence rapide 70B

2x A100 40Go

$0.34

70B FP16

2x A100 80Go

$0.50

Entraînement 13B

2x RTX 4090

$0.20


Exemples de configurations

Serveur de chat 70B

DeepSeek-V3 (671B)

Pipeline Image + LLM


Prochaines étapes

Mis à jour

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