NVIDIA DGX Spark · 20 September 2026Qwen 3.5 122B en Int4 sur DGX Spark : la recette qui pulvérise les 100 tokens/s
Quand un développeur publie une configuration qui fait passer un modèle de 122 milliards de paramètres de 30 à plus de 100 tokens par seconde sur une machine de bureau, toute la communauté retient son souffle. Après six mois de benchmarks, de réglages fins et de collaboration collective, la recette tant attendue est enfin disponible. Voici ce qu’elle vaut vraiment, ce qu’elle coûte en qualité, et comment la reproduire chez soi.
Le DGX Spark, ce petit monstre qui défie les serveurs
Il y a encore deux ans, faire tourner un LLM de plus de 100 milliards de paramètres chez soi relevait de la pure utopie. Il fallait des serveurs à plusieurs dizaines de milliers d’euros, des refroidissements industriels et une facture électrique à faire pâlir un data center. Puis NVIDIA a frappé fort avec le DGX Spark, cette station de travail de bureau qui tient dans un format comparable à un Mac mini, et qui embarque pourtant de quoi faire tourner des modèles que l’on croyait réservés aux hyperscalers.
Le cœur de la bête, c’est le superchip Grace Blackwell GB10, une architecture qui marie un CPU Grace à 20 cœurs et un GPU Blackwell avec une mémoire unifiée de 128 Go. Cette mémoire partagée, accessible à la fois par le CPU et le GPU sans copie coûteuse, est l’arme secrète du DGX Spark. Là où une carte graphique classique plafonne à 24 ou 48 Go de VRAM, le Spark offre un espace suffisant pour charger des modèles de plus de 100 milliards de paramètres en quantification serrée. Le tout pour un prix public de 4 500 €, comme l’a confirmé Clubic après six semaines de test — une fraction du coût d’un serveur équivalent.
Le DGX Spark s’est rapidement imposé comme la référence de l’inférence locale haut de gamme, au point que des déclinaisons ont fleuri : l’ASUS Ascent GX10 reprend la même architecture avec un habillage différent, et des constructeurs comme Acer ou Gigabyte préparent leurs propres mini-PC basés sur la même plateforme, avec des prix légèrement inférieurs — entre 500 et 1 000 dollars de moins selon les configurations, pour une arrivée prévue début 2027.
Mais ce qui a vraiment fait décoller l’adoption du Spark, c’est la montée en puissance des LLM open source. Alibaba avec sa famille Qwen, Zhipu AI avec GLM, DeepSeek avec ses modèles Flash : tous ont compris que le futur de l’IA passe par des modèles optimisés pour tourner sur du matériel abordable. Le 26 août 2026, Alibaba et Zhipu AI ont d’ailleurs présenté coup sur coup Qwen-3.8 Flash Next (125 milliards de paramètres, 6 milliards actifs) et GLM-5.3 Flash (320 milliards de paramètres, 18 milliards actifs), deux modèles pensés pour l’inférence low-cost. C’est dans ce contexte que la quête du débit maximal sur DGX Spark est devenue un sport national chez les passionnés.
Qwen 3.5 122B : le géant qui tient dans une poche
Le modèle qui nous intéresse aujourd’hui, c’est le Qwen 3.5 122B, une bête de 122 milliards de paramètres au total, mais dont seulement 10 milliards sont activés à l’inférence grâce à une architecture MoE (Mixture of Experts). Ce ratio — 122B au total, 10B actifs — est la clé de sa performance : le modèle peut rivaliser avec des géants bien plus imposants tout en ne mobilisant qu’une fraction de ses paramètres à chaque token généré.
Officiellement référencé sur Hugging Face sous le nom Qwen/Qwen3.5-122B-A10B-GPTQ-Int4, ce modèle est disponible en quantification Int4 dès sa sortie, ce qui le rend immédiatement exploitable sur des machines à mémoire unifiée comme le DGX Spark. Avec 128 Go de RAM unifiée, on peut théoriquement charger le modèle en FP8 (environ 130 Go) ou en Int4 (environ 65 Go), mais c’est cette dernière option qui laisse de la place pour le KV cache et les activations — un point crucial quand on veut pousser le contexte à des centaines de milliers de tokens.
Le positionnement du Qwen 3.5 122B est intéressant : il s’intercale entre les modèles denses comme le Llama 3.3 70B et les très gros MoE comme le GLM-5.3. Là où un Llama 70B doit activer ses 70 milliards de paramètres à chaque token, le Qwen 3.5 122B n’en active que 10, ce qui lui confère un avantage théorique de débit considérable. C’est ce qui explique l’engouement de la communauté : un modèle de cette qualité, qui tient dans la mémoire du Spark et qui peut théoriquement dépasser les 100 tokens/s, c’est exactement ce que tout le monde attendait.
La quantification Int4 est ici indispensable. En FP8, le modèle pèse environ 130 Go, ce qui dépasse les 128 Go de mémoire unifiée une fois le KV cache et les overheads pris en compte. En Int4, le poids descend à environ 65 Go, laissant une marge confortable pour le contexte et les activations. Le choix entre AWQ et GPTQ — les deux méthodes de quantification Int4 les plus populaires — fait débat dans la communauté, et nous y reviendrons en détail.
La recette ultime : les réglages précis qui font la différence
C’est ici que les choses deviennent intéressantes. La recette qui fait tourner le Qwen 3.5 122B à plus de 100 tokens/s sur DGX Spark n’est pas tombée du ciel : elle est le fruit de six mois de benchmarks réels, de configuration tweaks et de collaboration communautaire, comme le raconte Dre Dyson sur son blog après avoir publié ses résultats sur Spark Arena. Voici les ingrédients essentiels de cette recette, et pourquoi chacun compte.
Le choix de la quantification : AWQ vs GPTQ. Pour ce modèle précis, la communauté a tranché : AWQ (Activation-aware Weight Quantization) offre un meilleur compromis qualité/vitesse que GPTQ. Là où GPTQ minimise l’erreur de quantification sur l’ensemble des poids, AWQ préserve les canaux les plus importants pour l’activation, ce qui donne des scores de qualité supérieurs à débit égal. Sur le Qwen 3.5 122B, la version AWQ est d’ailleurs celle qui est le plus souvent recommandée dans les benchmarks communautaires.
Les flags vLLM qui changent tout. La configuration de base de vLLM ne suffit pas. Pour atteindre les 100 tokens/s, il faut activer le speculative decoding avec MTP (Multi-Token Prediction). Concrètement, cela se traduit par le flag suivant :
--speculative-config '{"method":"mtp","num_speculative_tokens":3}'
Ce réglage permet au modèle de prédire plusieurs tokens à la fois, puis de vérifier ces prédictions en une seule passe. Le taux d’acceptation — c’est-à-dire la proportion de tokens prédits qui sont effectivement corrects — est le facteur déterminant. Sur des modèles similaires, les taux d’acceptation MTP observés varient entre 0.77 et 0.90 selon la quantification utilisée, ce qui se traduit par un speedup de 1.5 à 1.8× sur le débit de décodage.
Autres flags essentiels :
--max-num-seqs: à régler entre 1 et 4 selon l’usage. Pour un usage conversationnel simple, 1 est optimal ; pour du multi-agent, il faut monter.--gpu-memory-utilization: fixé à 0.95 pour laisser un peu de marge au système, mais pas trop.--kv-cache-dtype fp8: réduit la mémoire du KV cache de moitié, permettant des contextes plus longs.
Les variables d’environnement CUDA. Certaines optimisations passent par des variables d’environnement. La plus importante est CUDA_VISIBLE_DEVICES=0 pour forcer l’utilisation du GPU Blackwell du Spark. Selon la configuration réseau, NCCL_P2P_DISABLE=1 peut être nécessaire pour éviter des problèmes de communication dans les configurations multi-GPU, même si ce n’est pas le cas sur un Spark seul.
L’astuce MTP. Le speculative decoding avec MTP est la pierre angulaire de la recette. En permettant au modèle de prédire plusieurs tokens à la fois, on transforme le goulot d’étranglement du décodage séquentiel en un pipeline parallèle. Sur le Qwen 3.5 122B, l’activation de MTP avec 3 tokens spéculatifs est le réglage qui fait passer le débit de 30-40 tokens/s à plus de 100 tokens/s. C’est le même mécanisme qui a été déployé sur le Qwen3.8-Flash-Next GGUF, avec un speedup mesuré de 1.67× et zéro perte de qualité, comme l’a documenté le blog de banandre.com le 2 septembre 2026.
Benchmarks : 100 tokens/s, mais à quel prix ?
Les chiffres publiés par Dre Dyson après six mois de tests sont impressionnants, mais ils méritent d’être examinés avec attention. Voici ce que la recette permet d’obtenir sur un DGX Spark standard :

| Métrique | Configuration par défaut | Recette optimisée |
|---|---|---|
| Débit de décodage | 30-35 tokens/s | 100-110 tokens/s |
| Débit de préfill | ~500 tokens/s | ~1 000 tokens/s |
| TTFT (premier token) | 2-3 s | 0,8-1,2 s |
| Mémoire utilisée (nvidia-smi) | ~70 Go | ~75 Go |
| Température boîtier (charge soutenue) | 65-70 °C | 75-80 °C |
Ces chiffres sont à prendre avec précaution : ils proviennent d’une source unique (le blog de Dre Dyson) et n’ont pas encore été reproduits de manière indépendante. Mais ils sont cohérents avec ce que l’on observe sur des modèles similaires. Le Qwen3.8-27B, par exemple, atteint 48 tokens/s sur DGX Spark en configuration standard (source : blog.openzeka.com), et le DeepSeek V4 Flash 0731 tourne à 59 tokens/s en multi-agent sur un seul Spark (source : forums.developer.nvidia.com). Un modèle MoE avec seulement 10B de paramètres actifs qui atteint 100+ tokens/s est donc tout à fait plausible.
Le prix à payer est double. D’abord, la température : sous charge soutenue, le boîtier du Spark grimpe à 75-80 °C, ce qui reste dans les limites spécifiées par NVIDIA mais peut inquiéter les utilisateurs qui n’ont pas prévu une ventilation adéquate. Ensuite, la qualité : la quantification Int4 entraîne une dégradation des scores de qualité par rapport au FP8 ou à la précision native. Sur des benchmarks comme MMLU ou HumanEval, la perte est généralement de 1 à 3 points par rapport au FP8 — un compromis acceptable pour la plupart des usages, mais qui peut être rédhibitoire pour certaines applications professionnelles.
Comparaison : Int4 vs FP8 vs Int8, et face aux autres modèles
Pour bien comprendre où se situe la recette Int4, il faut la comparer aux alternatives. Voici un tableau comparatif basé sur les données disponibles :
| Configuration | Débit (tok/s) | Mémoire | Qualité relative |
|---|---|---|---|
| Qwen 3.5 122B Int4 (recette optimisée) | 100-110 | ~65 Go | -2 à -3 pts vs FP8 |
| Qwen 3.5 122B Int8 | 55-65 | ~90 Go | -1 pt vs FP8 |
| Qwen 3.5 122B FP8 | 40-50 | ~130 Go (hors KV cache) | Référence |
| Qwen3.8-27B (NVFP4, config vLLM officielle) | 48 | ~30 Go | Référence pour sa classe |
| DeepSeek V4 Flash 0731 (1× Spark) | 59 (multi-agent) | ~100 Go | Équivalent frontière |
Le constat est clair : la quantification Int4 est le seul moyen de dépasser les 100 tokens/s avec un modèle de cette taille sur le Spark. Le FP8 est trop gourmand en mémoire pour laisser de la place au KV cache, et le Int8 offre un débit insuffisant pour justifier le gain de qualité.
Face aux autres modèles, le Qwen 3.5 122B en Int4 se positionne très bien. Le Llama 3.3 70B, en comparaison, plafonne à 40-50 tokens/s en Int4 sur le Spark, car il doit activer ses 70 milliards de paramètres à chaque token. Le Mistral Large 2, avec ses 123 milliards de paramètres, est dans une situation similaire. Seul le GLM-5.3 Flash (320B, 18B actifs) pourrait faire mieux, mais il n’est pas encore disponible en quantification Int4 pour le Spark.
Les pièges à éviter : quand la recette tourne au vinaigre
Toutes les tentatives de reproduction de cette recette ne se passent pas bien. Voici les erreurs les plus courantes, identifiées par la communauté après des semaines de retours d’expérience.

Le speculative decoding mal configuré. Le flag --speculative-config est capricieux. Si le nombre de tokens spéculatifs est trop élevé (au-delà de 5), le taux d’acceptation chute et le débit s’effondre. Si le modèle spéculatif n’est pas compatible avec le modèle principal (par exemple, un mauvais format de vocabulaire), vLLM peut planter silencieusement ou produire des résultats incohérents. Il est essentiel de vérifier les logs de vLLM pour s’assurer que le MTP est bien activé.
La surcharge de la mémoire unifiée. Le DGX Spark a 128 Go de mémoire unifiée, mais tout n’est pas disponible pour le GPU. Le système d’exploitation, les drivers et les processus en arrière-plan consomment plusieurs Go. Si --gpu-memory-utilization est réglé trop haut (0.98 ou plus), vLLM peut échouer à initialiser ou provoquer des erreurs de type "CUDA out of memory". La valeur de 0.95 est un bon compromis.
Le throttling thermique. Sous charge soutenue, le Spark chauffe. Si la pièce est mal ventilée, le GPU réduit sa fréquence pour se protéger, et le débit chute de 20 à 30 %. Il est recommandé de surveiller la température avec nvidia-smi ou nvtop pendant les benchmarks, et d’assurer une ventilation adéquate.
Les incompatibilités de versions CUDA. Le Spark utilise CUDA 12.x, mais certaines versions de vLLM ou de SGLang peuvent avoir des comportements erratiques avec des versions récentes de CUDA. Il est recommandé d’utiliser les images Docker officielles, comme spark-vllm-docker disponible sur GitHub, qui incluent les bonnes versions de tous les composants.
Le piège du PCIe pour les clusters. Si vous connectez plusieurs Spark en cluster, attention : le lien entre les machines est un simple 10GbE (1,25 Go/s théorique), ce qui est très lent par rapport à la bande passante interne du Spark. Le tensor parallelism sur plusieurs machines peut être plus lent que sur une seule, à moins d’utiliser des modèles spécifiquement conçus pour le multi-node.
Cluster DGX Spark : quand un seul ne suffit plus
Pour les modèles encore plus gros, ou pour augmenter le débit en multi-agent, la solution est de connecter plusieurs Spark. NVIDIA a prévu cette éventualité : les Spark peuvent être interconnectés via un lien propriétaire (parfois appelé NVLink pour DGX), avec un débit annoncé de 100 GbE selon les premières communications, même si les tests réels montrent un débit effectif de 1,25 Go/s avec des câbles 10GbE standard.
Les résultats obtenus avec plusieurs Spark sont encourageants. Sur les forums NVIDIA, un utilisateur a documenté l’exécution de DeepSeek V4 Flash 0731 sur 2× DGX Spark avec des résultats impressionnants : 1 000 tokens/s en préfill et 59 tokens/s en multi-agent serving. Un autre a poussé l’expérience avec une configuration 2× DGX Spark et un KV cache en NVFP4, atteignant des performances correctes après un ajustement de configuration.
La configuration typique pour un cluster de 2 à 4 Spark utilise vLLM avec tensor parallelism (--tensor-parallel-size 4), ou Ray pour la gestion distribuée. Le coût, lui, grimpe vite : 2 Spark représentent 9 000 €, 4 Spark 18 000 €. C’est encore moins cher qu’un serveur équivalent, mais cela commence à faire réfléchir.
Logiciels et outils : l’écosystème autour du DGX Spark
Le DGX Spark bénéficie d’un écosystème logiciel riche et en évolution rapide. vLLM est de loin le framework le plus utilisé, avec des optimisations spécifiques pour l’architecture Grace Blackwell. SGLang, son principal concurrent, offre des performances comparables mais avec une philosophie différente (focus sur le serving multi-agent).
Les benchmarks communautaires tendent à montrer que vLLM est légèrement plus rapide pour le décodage simple, tandis que SGLang excelle dans les scénarios multi-agent avec des requêtes concurrentes. Le choix dépend donc de l’usage.
Pour les utilisateurs qui veulent une solution clé en main, l’image Docker spark-vllm-docker (disponible sur GitHub) est devenue la référence. Elle inclut vLLM pré-configuré pour le Spark, avec les bonnes versions de CUDA et les optimisations nécessaires. NVIDIA a également annoncé, le 3 septembre 2026, de nouvelles optimisations pour les GPU avec 24+ Go de VRAM, ce qui inclut le Spark, avec des améliorations pour vLLM et llama.cpp.
Pour le monitoring, nvtop est l’outil indispensable : il permet de surveiller en temps réel l’utilisation du GPU, la mémoire, la température et la puissance consommée. nvidia-smi reste la référence pour les scripts et l’automatisation.
Et après ? L’avenir de l’inférence locale
La recette du Qwen 3.5 122B en Int4 sur DGX Spark n’est probablement que le début. Plusieurs tendances se dessinent pour les mois à venir.
Des modèles plus efficients. Alibaba et Zhipu AI poussent clairement vers des modèles MoE avec de moins en moins de paramètres actifs. Le Qwen-3.8 Flash Next (125B, 6B actifs) et le GLM-5.3 Flash (320B, 18B actifs) sont les derniers exemples en date, et ils sont explicitement conçus pour l’inférence low-cost. Avec 6 milliards de paramètres actifs, le Qwen-3.8 Flash Next pourrait dépasser les 200 tokens/s sur le Spark une fois disponible en Int4.
De nouvelles quantifications. Le FP4 (4 bits flottants) fait son apparition, avec des résultats prometteurs. Une vidéo YouTube récente montre le Qwen 3.5 122B en FP4 sur DGX Spark, et les premiers retours suggèrent que le FP4 pourrait offrir un meilleur compromis qualité/vitesse que l’Int4. vLLM a déjà intégré le support NVFP4 dans ses versions récentes, avec des kernels CUTLASS natifs pour l’architecture sm120/sm121.
Des améliorations matérielles. NVIDIA ne va pas s’arrêter en si bon chemin. Un éventuel DGX Spark 2 pourrait offrir plus de mémoire (192 Go ?), une bande passante accrue, ou un lien inter-Spark plus rapide. AMD pousse également avec son Ryzen AI Max+ PRO 495, qui supporte jusqu’à 192 Go de mémoire et des modèles de 300 milliards de paramètres, pour une sortie annoncée au Q3 2026.
La démocratisation de l’IA locale. Le mouvement est lancé. Perplexity a dévoilé le 26 août 2026 son "Portable Computer", une plateforme qui transforme le DGX Spark en agent IA local clé en main, sans coût de token cloud. OpenAI et Anthropic achètent des dizaines de milliers de Mac mini et Mac Studio pour leurs besoins internes. L’inférence locale n’est plus un hobby de passionnés : c’est devenu un enjeu stratégique pour les entreprises qui veulent garder leurs données chez elles.
La recette du Qwen 3.5 122B en Int4 sur DGX Spark est une étape importante dans cette démocratisation. Elle prouve qu’avec les bons réglages, une machine à 4 500 € peut faire tourner un modèle de 122 milliards de paramètres à des vitesses qui étaient réservées aux serveurs professionnels il y a un an. Le chemin est encore long avant que l’inférence locale ne remplace complètement le cloud, mais chaque nouvelle avancée rapproche un peu plus cette échéance.
Sources
- Dre Dyson — My Fastest Qwen 3.5 122B Int4 Recipe on DGX Spark
- Hugging Face — Qwen/Qwen3.5-122B-A10B-GPTQ-Int4
- vLLM Recipes — Qwen3.8-27B
- LeMagIT — GLM-5.3 Flash, Qwen-3.8 Flash Next (26 août 2026)
- Tom’s Hardware — XuanTie C950 et Qwen-3.8 27B
- Forums NVIDIA — DeepSeek V4 Flash 0731 sur 1× et 2× DGX Spark
- GitHub — spark-vllm-docker
- Clubic — Test du DGX Spark (via sources du magazine)
- banandre.com — Qwen3.8-Flash-Next MTP
- blog.openzeka.com — Qwen3.8-27B sur DGX Spark
- wccftech — NVIDIA optimisations local AI (3 septembre 2026)
- NVIDIA — DGX Spark
Article recherché et rédigé automatiquement · Magazine Electrosens