veilletech.fr
22 oct. Feed du jour
#09 IA Article

vLLM sert Flint (40B MoE) sur un seul GPU, dès J0

Cinq cents tokens par seconde, mais sur du Blackwell.

vLLM prend en charge Flint dès sa sortie, un modèle de 40 milliards de paramètres à experts (2,5 milliards actifs) proposé en NVFP4 et en BF16 sur un seul GPU. Des noyaux dédiés aux petits lots portent le décodage à environ 500 tokens par seconde sur un GB200. Les noyaux ne ciblent qu'un seul GPU Blackwell ; ailleurs, retour aux couches standard.

3 min de lectureavancévidéo 1:15
Partager
Sommaire6 sections
  1. Ce qui se passe
  2. Pourquoi il est léger
  3. Où est le gain de vitesse
  4. Lancer Flint
  5. La limite
  6. À retenir

Ce qui se passe

Le 21 octobre 2026, vLLM annonce la prise en charge de Flint, le modèle de Recursive, dès le jour de sa sortie. Flint est un modèle à experts (MoE) de 40 milliards de paramètres dont environ 2,5 milliards actifs par token, avec un contexte de 262 000 tokens. Il existe en deux points de contrôle, NVFP4 (quantifié, entraîné en tenant compte de la quantification) et BF16, qui tournent chacun sur un seul GPU. Une requête isolée y décode à environ 500 tokens par seconde sur un GB200, même avec 100 000 tokens de contexte.

Pourquoi il est léger

L'architecture compte 49 couches, dont 35 n'attendent qu'une fenêtre glissante de 513 tokens ; seules 14 regardent tout le contexte et gardent un cache clé-valeur complet. Le cache coûte donc 28 kibioctets par token. Le reste : attention GQA avec 32 têtes de requête pour 4 têtes clé-valeur, 256 experts (top-6 sigmoïde plus un expert partagé), les deux premières couches étant denses.

Le point de contrôle NVFP4 est un fichier GGUF dont vLLM réarrange les blocs sans perte au chargement ; il tourne en poids seuls (W4A16), avec activations et cache en BF16. Selon vLLM, la précision égale l'implémentation de référence sur GSM8K, GPQA-Diamond, MRCR long contexte et une suite d'appels d'outils.

Où est le gain de vitesse

La première version, bâtie sur les couches standard de vLLM, était lente aux petits lots : un pas de décodage lançait 1 096 noyaux, réglés pour de gros lots. L'équipe les a remplacés un par un, en vérifiant chaque étape contre la référence :

Au total, le décodage NVFP4 passe de 4,81 à 1,78 ms (×2,7), le BF16 de 3,53 à 2,34 ms, un préremplissage de 8 192 tokens de 207 à 145 ms, et une passe avant tombe de 1 096 à 346 noyaux. De bout en bout, 2,06 ms par token à 100 000 tokens de contexte (environ 485 tokens/s).

Lancer Flint

L'image Docker vllm/vllm-openai:flint (x86_64 et arm64, CUDA 13.0) le contient. Le support est en cours de fusion dans vLLM (PR #62938) : avec un build à jour, vllm serve accepte les mêmes arguments.

Terminal
docker run --gpus all --ipc=host -p 8000:8000 \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  vllm/vllm-openai:flint RecursiveSI/flint \
  --enable-auto-tool-choice --tool-call-parser glm47 \
  --reasoning-parser glm47 --exclude-tools-when-tool-choice-none

Pour la version NVFP4, remplacer le modèle par RecursiveSI/flint-nvfp4-gguf et ajouter --hf-config-path RecursiveSI/flint --tokenizer RecursiveSI/flint.

Notes d'usage : Flint produit des appels d'outils et des blocs de réflexion au format GLM-4.7, d'où les analyseurs glm47 ; l'échantillonnage par défaut est température 1,0, top-p 0,95, top-k 20 ; la réflexion compte dans max_tokens, donc prévoir au moins 32 000 pour les problèmes difficiles.

La limite

Les noyaux visent un seul GPU Blackwell (TP=1, cache clé-valeur en BF16) ; toute autre configuration retombe sur les couches standard de vLLM. Les 500 tokens par seconde viennent d'un GB200, un GPU de centre de données : le billet ne donne aucune mesure sur du matériel grand public.

Source : vLLM, 21 octobre 2026. Source en anglais.