Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Tensor Parallelism

ia

Définition

Le Tensor Parallelism (parallelisme de tenseurs) est une technique de parallelisme pour les LLMs qui partitionne les matrices de poids individuelles (attention, FFN) sur plusieurs GPUs, chaque GPU ne stockant et ne calculant qu'une partie des operations matricielles. C'est la technique de base pour servir des modeles dont les poids depassent la VRAM d'un seul GPU. Dans le Tensor Parallelism, une multiplication matricielle Y = XW est decomposee sur N GPUs en partitionnant la matrice W par colonne (column-parallel) ou par ligne (row-parallel). Pour le Multi-Head Attention, les h tetes d'attention sont reparties sur les GPUs (h/N tetes par GPU). Pour le FFN, la dimension intermediaire d_ff est divisee. La librairie Megatron-LM (NVIDIA) est la reference pour le Tensor Parallelism dans l'entrainement des LLMs. Pour l'inference, vLLM et TGI implementent le Tensor Parallelism via la biblioteque PyTorch Distributed Communications (NCCL). Le parametre --tensor-parallel-size=N dans ces frameworks active le TP. Le Tensor Parallelism necessite une communication all-reduce entre tous les GPUs apres chaque operation parallelisee, ce qui le rend tres dependant de la bande passante GPU-GPU. NVLink (bande passante 600-900 GB/s entre GPU) est quasi-indispensable pour du TP efficace — sans NVLink, la communication PCIe (64 GB/s max) devient le goulot d'etranglement. En pratique, le Tensor Parallelism est combine avec le Pipeline Parallelism (couches du modele distribuees sur des stages) et le Data Parallelism (repliques du modele pour plusieurs batches) dans les configurations 3D parallelism utilises pour les modeles frontier (GPT-4, LLaMA 405B).

Tensor Parallelism avec vLLM

# LLaMA 3.1 70B sur 4 x A100 80GB avec Tensor Parallelism
python -m vllm.entrypoints.openai.api_server \
  --model meta-llama/Meta-Llama-3.1-70B-Instruct \
  --tensor-parallel-size 4 \
  --gpu-memory-utilization 0.90 \
  --max-model-len 32768

Regles empiriques

  • 7B FP16 : 1 GPU (14GB VRAM)
  • 13B FP16 : 2 GPU (26GB VRAM)
  • 70B FP16 : 4 GPU A100 80GB (140GB VRAM)
  • 405B FP16 : 8+ GPU A100 80GB (810GB VRAM)

3D Parallelism (Megatron-style)

  • Data Parallelism : repliques du modele pour des batches differents
  • Tensor Parallelism : partition des matrices au sein d'une couche
  • Pipeline Parallelism : partition des couches entre stages
  • Combine pour les modeles frontier : ex LLaMA 405B = TP=8, PP=8, DP=N

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis