Cursus
Qwen3.8-27B s’impose rapidement comme l’un des modèles préférés pour l’IA en local. Malgré ses 27 milliards de paramètres, il rivalise avec des modèles bien plus volumineux sur des benchmarks de code, de raisonnement, d’agents et généralistes. Il se rapproche même de modèles comme GLM-5.2 dans plusieurs domaines, ce qui en fait un choix de premier plan pour celles et ceux qui expérimentent avec du matériel local puissant.
La RTX 5090 convient particulièrement à Qwen3.8-27B, car son architecture Blackwell prend en charge NVFP4, permettant au modèle de tourner à très haute vitesse tout en conservant une excellente qualité de sortie. Associé au décodage spéculatif via la prédiction multi‑tokens (MTP), à une build optimisée de llama.cpp et au bon modèle GGUF, Qwen3.8-27B peut dépasser largement les 100 tokens par seconde sur une seule RTX 5090.
Dans ce guide, nous allons mettre en place ce que je considère comme l’une des approches les plus simples pour obtenir le meilleur compromis entre vitesse, précision et prise en charge de longs contextes sur une RTX 5090 ou un autre GPU Blackwell. Nous compilerons llama.cpp avec la prise en charge native Blackwell, téléchargerons le GGUF Qwen3.8-27B NVFP4‑MTP, l’exécuterons avec l’accélération GPU et le décodage spéculatif MTP, testerons l’API compatible OpenAI et l’interface web intégrée, puis le connecterons à Pi pour utiliser Qwen3.8-27B comme agent de code entièrement local.
Ingénieur IA associé pour les scientifiques de données
1. Configurer llama.cpp pour les GPU Blackwell
Nous allons d’abord vérifier que le GPU est bien détecté et contrôler la version du pilote NVIDIA et de CUDA.
nvidia-smi
Vous devriez voir votre RTX 5090, la version du pilote, la version de CUDA, la mémoire GPU et l’utilisation actuelle du GPU.
Remarque : cette configuration vise spécifiquement les GPU NVIDIA Blackwell, comme la RTX 5090. La build ci‑dessous cible SM120, l’architecture de calcul utilisée par la RTX 5090.
Ensuite, nous allons télécharger et compiler la dernière version de llama.cpp avec la prise en charge CUDA.
cd /workspace
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build \
-DGGML_CUDA=ON \
-DCMAKE_CUDA_ARCHITECTURES=120
cmake --build build --config Release -j$(nproc)

L’élément clé ici est -DCMAKE_CUDA_ARCHITECTURES=120. Cela indique à llama.cpp de compiler spécifiquement pour l’architecture Blackwell utilisée par la RTX 5090.
Une fois la compilation terminée, nous allons rendre llama-server accessible globalement afin de pouvoir l’exécuter depuis n’importe quel dossier :
sudo ln -sf "$(realpath ./build/bin/llama-server)" /usr/local/bin/llama-server
Vérifiez maintenant que tout fonctionne :
llama-server --version
Vous devriez obtenir une sortie similaire à :
version: 0.1.1-dev (build 10479, commit 0021a77de)
built with GNU 13.3.0 for Linux x86_64
C’est tout. Nous disposons maintenant d’une build llama.cpp compatible CUDA, capable d’exploiter la RTX 5090 et sa prise en charge NVFP4 native Blackwell.
2. Télécharger le modèle Qwen3.8-27B NVFP4‑MTP
Nous allons maintenant télécharger le modèle Qwen3.8-27B.
Commencez par installer la CLI Hugging Face :
pip install -U huggingface_hub
Créez un dossier pour stocker le modèle :
mkdir -p /workspace/models/qwen38
Puis téléchargez le GGUF NVFP4‑MTP :
hf download felippeburk/Qwen3.8-27B-NVFP4-MTP-GGUF \
--local-dir /workspace/models/qwen38

C’est la version à privilégier ici, car elle utilise NVFP4 et inclut la prise en charge MTP, à l’origine d’une grande partie du gain de vitesse sur la RTX 5090.
3. Démarrer le serveur Qwen3.8-27B
Passons au concret. Nous allons servir Qwen3.8-27B entièrement sur le GPU avec Flash Attention, une fenêtre de contexte de 131K et le décodage spéculatif MTP pour accélérer la génération.
Exécutez :
cd /workspace/llama.cpp
llama-server \
-m /workspace/models/qwen38/qwen3.8-27b-text-nvfp4-mtp.gguf \
--alias qwen3.8-27b \
--host 0.0.0.0 \
--port 8910 \
--ctx-size 131072 \
--n-gpu-layers all \
--flash-attn on \
--cache-type-k q8_0 \
--cache-type-v q8_0 \
--parallel 1 \
--spec-type draft-mtp \
--spec-draft-n-max 4 \
--spec-draft-p-min 0.75 \
--spec-draft-ngl all \
--spec-draft-type-k q8_0 \
--spec-draft-type-v q8_0 \
--reasoning-effort medium \
--jinja
Il y a beaucoup d’options, mais la plupart visent simplement à tirer le meilleur parti de la 5090.
Les principales à connaître :
-
--ctx-size 131072offre une fenêtre de contexte d’environ 131K. -
--n-gpu-layers allmaintient le modèle sur le GPU. -
--flash-attn onactive Flash Attention. -
--cache-type-k q8_0et--cache-type-v q8_0réduisent la mémoire utilisée par le cache KV. -
--spec-type draft-mtpactive le décodage spéculatif MTP de Qwen3.8. -
--spec-draft-n-max 4règle le nombre de tokens spéculatifs que MTP peut proposer à la fois.
Dans cette config, nous utilisons n-max 4 comme point de départ sur une RTX 5090. Vous pouvez tester des valeurs comme 2 (recommandé sur la fiche du modèle pour ce GGUF) ou 3 ensuite, car le réglage le plus rapide peut varier légèrement selon votre système.
Une fois le chargement terminé, llama-server expose Qwen3.8 en local sur http://127.0.0.1:8910.

Qwen3.8-27B tourne maintenant en local. Nous allons à présent tester le modèle via l’API et l’interface navigateur intégrée.
4. Tester la vitesse et les performances en code de Qwen3.8-27B
Avec le serveur actif, ouvrez un autre terminal et envoyez une requête de test à l’API compatible OpenAI :
curl http://127.0.0.1:8910/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-27b",
"messages": [
{
"role": "user",
"content": "Write a Python FastAPI application that monitors GPU usage."
}
],
"max_tokens": 2000
}'

Dans ce test, Qwen3.8-27B a généré 2 000 tokens à 122 tokens/s, avec un excellent taux d’acceptation MTP de 84,9 %.
llama.cpp inclut aussi une interface navigateur, ce qui permet de tester le modèle sans passer par l’API.
Ouvrez http://127.0.0.1:8910 dans votre navigateur pour afficher l’UI.

Pour un test plus complexe, j’ai utilisé ce prompt :
Create a stunning single-file animated HTML website with a dark futuristic
theme, smooth scrolling, glowing gradients, floating particles, animated cards,
hover effects, and responsive design using only HTML, CSS, and JavaScript.

Sur ma RTX 5090, j’obtenais en moyenne ~142 tokens par seconde, avec des pointes autour de 170 tokens par seconde, ce qui est extrêmement rapide pour un modèle 27B en local.

Qwen3.8-27B a généré un site web propre et pleinement fonctionnel, prêt à l’emploi. C’est un bon moyen d’évaluer rapidement la capacité en code du modèle et la vitesse de votre configuration locale.
5. Utiliser Qwen3.8-27B avec Pi
Dans cette section, nous allons connecter Qwen3.8-27B à Pi et l’utiliser comme agent de code entièrement local.
Pi est un agent de code léger en ligne de commande qui vous aide à créer, modifier, tester et déboguer vos projets directement depuis le terminal.
Installez Pi avec :
curl -fsSL https://pi.dev/install.sh | sh
L’installeur nécessite Node.js et npm. Il installe Pi dans votre préfixe npm global. Si vous n’avez pas encore Node, installez‑le d’abord avec nvm ou votre gestionnaire de paquets.
Une fois l’installation terminée, redémarrez votre terminal.
Ensuite, installez l’extension pi-llama et pointez Pi vers notre serveur llama.cpp local :
pi install git:github.com/huggingface/pi-llama
export LLAMA_BASE_URL=http://127.0.0.1:8910/v1
Créez un nouveau projet et lancez Pi :
mkdir new-project
cd new-project
Pi

Dans Pi, exécutez /model, recherchez llama-cpp et sélectionnez Qwen3.8-27B.
Pour le test, je lui ai donné ce prompt :
Build a polished personal finance dashboard from scratch that imports CSV
bank statements, categorizes spending, shows monthly trends and charts, and
detects unusual expenses; also generate a realistic sample CSV, import it,
test the full app end-to-end, and fix any errors automatically.

Il a construit l’ensemble du projet en quelques minutes.

Je lui ai ensuite demandé de démarrer le serveur et de tester le frontend ainsi que la logique applicative. Il a passé plus de temps à déboguer et tester pour s’assurer que tout fonctionnait correctement.

Lors de mes propres tests, le tableau de bord fonctionnait bien, les graphiques étaient réussis et l’expérience globale fluide.

La principale faiblesse concernait les ajustements UI très précis. Après plusieurs relances, il a commencé à faire des modifications hors sujet au lieu de comprendre exactement ce que je voulais, j’ai donc fini par m’arrêter là.
Conclusion
Qwen3.8-27B est encore très récent, et la communauté affine activement la meilleure combinaison entre quantification et décodage spéculatif. MTP fonctionne extrêmement bien, mais de nouvelles approches comme DFlash 2 et DSpark sont aussi testées, certains utilisateurs rapportant des vitesses encore supérieures selon le matériel et la charge.
Unsloth vient également de publier des GGUF Dynamic v3.0 pour Qwen3.8-27B, annonçant environ 10 % de précision en plus à taille de modèle égale par rapport à ses précédents quants. Unsloth devient donc une option très intéressante si vous cherchez une meilleure qualité tout en gardant une configuration d’inférence locale similaire.
À ce stade, NVFP4 + MTP + llama.cpp me paraît l’un des montages les plus simples et rapides sur RTX 5090. Obtenir ~140 tokens par seconde avec un modèle 27B tout en conservant une grande fenêtre de contexte et suffisamment de capacités pour faire tourner un véritable agent de code, c’est remarquable. Cette configuration devrait encore gagner en vitesse au fil des améliorations de llama.cpp, Unsloth, DFlash 2 et DSpark.
FAQ pour exécuter Qwen3.8-27B en local
Avez-vous besoin d’une RTX 5090 pour exécuter Qwen3.8-27B en local ?
Non. Les quantifications GGUF standard 4 bits de Qwen3.8-27B tiennent dans environ 16–19 Go de VRAM, donc une RTX 5080, une 4090 ou un Mac 24 Go feront tourner le modèle. La RTX 5090 est importante pour cette configuration précise car NVFP4 nécessite les Tensor Cores Blackwell. Sur les cartes plus anciennes, les fichiers NVFP4 fonctionnent mais n’apportent que l’économie mémoire, pas l’accélération.
Quelle quantité de VRAM cette configuration utilise‑t‑elle réellement ?
Le GGUF NVFP4‑MTP pèse environ 19 Go sur disque, et c’est le cache KV qui fait grimper l’empreinte totale à mesure que le contexte s’allonge. Avec la quantification K/V q8_0 sur très long contexte, les exécutions publiées sur RTX 5090 se situent au milieu des 20 Go, donc une carte 32 Go est à l’aise. Avec 24 Go, vous devrez réduire --ctx-size bien en‑deçà de 131072.
Que fait le décodage spéculatif MTP, et est‑il sans perte ?
Qwen3.8 intègre des couches de prédiction multi‑tokens directement dans le GGUF, qui servent de modèle brouillon intégré, sans second fichier. La tête de brouillon propose plusieurs tokens d’un coup et le modèle complet les vérifie : les ébauches acceptées ne coûtent qu’une fraction d’un passage avant classique. La qualité de sortie est inchangée, car chaque token accepté par le modèle principal est un token qu’il aurait de toute façon produit.
Faut‑il utiliser NVFP4 ou une quantification Q4_K_M classique ?
Choisissez NVFP4 si vous avez un GPU Blackwell et recherchez un maximum de vitesse ; choisissez un GGUF standard comme Q4_K_M ou le UD-Q4_K_XL d’Unsloth si vous êtes sur Ampere ou Ada, ou si vous privilégiez la qualité de sortie par gigaoctet. La prise en charge NVFP4 dans llama.cpp est aussi plus récente que la filière K‑quant, attendez‑vous donc à quelques aspérités côté conversion et outils.
Cette configuration gère‑t‑elle les images, puisque Qwen3.8-27B est un modèle de vision ?
Qwen3.8-27B est un modèle natif vision‑langage, mais les conversions GGUF texte‑seulement retirent la tour de vision. Pour utiliser des images, vous devez fournir un projecteur multimodal avec --mmproj, en général le fichier mmproj publié dans le même dépôt ou dans le dépôt GGUF d’Unsloth.
En tant que data scientist certifié, je suis passionné par l'utilisation des technologies de pointe pour créer des applications innovantes d'apprentissage automatique. Avec une solide expérience en reconnaissance vocale, en analyse de données et en reporting, en MLOps, en IA conversationnelle et en NLP, j'ai affiné mes compétences dans le développement de systèmes intelligents qui peuvent avoir un impact réel. En plus de mon expertise technique, je suis également un communicateur compétent, doué pour distiller des concepts complexes dans un langage clair et concis. En conséquence, je suis devenu un blogueur recherché dans le domaine de la science des données, partageant mes idées et mes expériences avec une communauté grandissante de professionnels des données. Actuellement, je me concentre sur la création et l'édition de contenu, en travaillant avec de grands modèles linguistiques pour développer un contenu puissant et attrayant qui peut aider les entreprises et les particuliers à tirer le meilleur parti de leurs données.

