veilletech.fr
24 oct. Feed du jour
#08 LLM Article

vLLM sert GLM-5.3 en contexte 1M sur 16 H200

Le contexte long se paie en mémoire avant de se payer en calcul.

L'équipe vLLM décrit comment servir GLM-5.3 sur 16 H200 avec des contextes jusqu'à 1 million de jetons : prefill réparti par jetons (PCP), cache KV réparti à son tour (DCP), decode avec KV en mémoire de l'hôte. Sur le benchmark AgentX, la vitesse par utilisateur est de 1,7 à 3,2 fois celle d'un déploiement en parallélisme de données, au même débit.

3 min de lectureavancévidéo 1:17
Partager
Sommaire5 sections
  1. Ce qui se passe
  2. Le mécanisme
  3. Les résultats
  4. Comment s'y prendre
  5. À retenir

Ce qui se passe

Un agent de code allonge son contexte à chaque tour : sorties d'outils, contenus de fichiers. Sur des H200, les poids de GLM-5.3 occupent l'essentiel de la mémoire de chaque GPU et laissent peu de place au cache KV de ces longs contextes. Le prefill, lui, devient le goulot de tout le déploiement sous charge. L'équipe vLLM (Red Hat et Mistral) publie la deuxième partie de sa méthode : 16 H200, répartis en un nœud de prefill et un nœud de decode. Ce sont les mesures de l'équipe elle-même, pas une vérification indépendante.

Le mécanisme

Deux façons classiques de faire le prefill sur un nœud de 8 GPU :

Schéma Ce qu'il répartit Défaut pour GLM-5.3
DP8 un prompt entier par GPU l'attention d'un prompt n'utilise qu'un GPU ; son KV doit tenir sur celui-ci
TP8 les têtes d'attention chaque GPU garde tout le KV latent, et l'indexeur est refait sur chacun

La solution combine deux découpages :

Les résultats

Banc : AgentX (SemiAnalysis), des traces Claude Code rejouées avec réutilisation du préfixe, une heure par mesure, décodage spéculatif MTP3 avec une longueur d'acceptation fixée à 2,99 pour que toutes les configurations en profitent pareil.

Comment s'y prendre

Il faut vLLM 0.32.0 ou plus (image vllm/vllm-openai:v0.32.0). Les mesures ont été prises sur la branche principale au commit 9e38b4111a ; le gist de reproduction épingle 2537629eb2. Options clés du moteur de prefill :

Terminal
vllm serve <modèle> \
  --prefill-context-parallel-size 8 \
  --decode-context-parallel-size 8 \
  --dcp-comm-backend ag_rs \
  --enable-expert-parallel \
  --attention-config '{"sparse_mla_force_mqa":true}'

Sans sparse_mla_force_mqa, les lots dont les prompts tiennent dans les 2 048 jetons sélectionnés prennent le chemin dense MHA ; l'option les garde sur le noyau d'attention creuse.

Limite à garder en tête : la configuration suppose deux nœuds de 8 H200, hors de portée d'un poste de développeur. Le transfert du KV entre nœuds passe par le connecteur NIXL, derrière un routeur llm-d.

Source : vLLM, « GLM-5.3 Optimizations, Part 2 », 23 octobre 2026. Source en anglais.