Optimisation de Qwen3.5-9B sur RTX 3070 Mobile avec ik_llama.cpp : Réglages de configuration et Benchmarks

✍️ OpenClawRadar📅 Publié: March 25, 2026🔗 Source
Optimisation de Qwen3.5-9B sur RTX 3070 Mobile avec ik_llama.cpp : Réglages de configuration et Benchmarks
Ad

Configuration Matérielle et Logicielle

Un développeur a documenté son expérience d'optimisation de l'inférence locale sur un ordinateur portable équipé d'un GPU RTX 3070 Mobile (8 Go de VRAM, effectivement ~7,7 Go utilisables). Le système fonctionne sous CachyOS (Linux 6.19 basé sur Arch) avec 32 Go de RAM et un processeur Intel i7-10750H. Il a utilisé ik_llama.cpp (la version optimisée d'ikawrakow de llama.cpp) avec le modèle Qwen3.5-9B Q4_K_M provenant de Jackrong/Qwen3.5-9B-Claude-4.6-Opus-Reasoning-Distilled-v2-GGUF.

Problèmes de Configuration Initiale

La configuration initiale naïve présentait plusieurs problèmes :

  • Les drapeaux spécifiques aux MoE (--n-cpu-moe, -ger, -ser) étaient incorrectement appliqués à un modèle non-MoE (n_expert = 0)
  • --mlock échouait silencieusement en raison de limites d'allocation mémoire (nécessite ulimit -l unlimited ou une entrée dans limits.conf)
  • La taille de lot -b 4096 consommait une quantité excessive de VRAM (tampon de calcul de 2004 Mio), soit près de 2 Go sur une carte de 8 Go

Cette configuration produisait une vitesse de génération d'environ 47,8 t/s et une évaluation de prompt d'environ 82 t/s avec la VRAM à ~97 %.

Résultats de l'Optimisation

Après avoir corrigé les problèmes de configuration et ajusté les tailles de lot à -b 2048 -ub 512 (réduisant le tampon de calcul à 501 Mio), le développeur a testé différentes configurations de cache KV :

  • Originale (q4_0/q4_0, b4096) : 47,8 t/s génération, 82,6 t/s prompt, ~97 % VRAM
  • Drapeaux corrigés + b2048/ub512, q8_0K/q4_0V : 48,4 t/s génération, 189,9 t/s prompt, ~80 % VRAM
  • q8_0K/q8_0V : 50,0 t/s génération, 213,0 t/s prompt, ~84 % VRAM

La vitesse d'évaluation des prompts a augmenté considérablement, passant d'environ 82 à environ 213 t/s, principalement grâce à la réduction de la taille des lots pour libérer de la mémoire GPU. Bien que la vitesse de génération ait montré un changement minimal (différence d'environ 2 % entre q4_0 et q8_0), la configuration q8_0/q8_0 a produit des réponses nettement plus cohérentes et complètes sur les sorties longues, justifiant l'utilisation supplémentaire d'environ 256 Mio de VRAM.

Ad

Configuration Finale

La commande optimisée pour une utilisation en serveur local mono-utilisateur :

./build/bin/llama-server \
 -m ./models/Qwen3.5-9B.Q4_K_M.gguf \
 -ngl 999 \
 -fa on \
 -c 65536 \
 -b 2048 \
 -ub 512 \
 -ctk q8_0 \
 -ctv q8_0 \
 --threads 6 \
 --threads-batch 12

Questions Ouvertes et Tests Futurs

Le développeur a identifié plusieurs domaines nécessitant des investigations supplémentaires :

  • Réglage de la limite de puissance du GPU sur les GPU mobiles (potentiel pour réduire le TGP avec une perte de vitesse minimale puisque l'inférence est limitée par la bande passante mémoire)
  • Autres modèles compatibles 8 Go avec de bonnes performances en codage ou raisonnement
  • Comparaison d'ik_llama.cpp par rapport à la version principale de llama.cpp (les optimisations spécifiques à ik incluent des opérations fusionnées et la réutilisation de graphes)
  • Conseils pour l'architecture hybride SSM (les avertissements de changement de contexte provoquent des arrêts brusques lorsque le contexte est plein, pas de fenêtre glissante)

Les tests ont utilisé un prompt demandant l'implémentation d'un programme Rust du Crible d'Ératosthène avec explication de l'algorithme, analyse de complexité et exemple de sortie pour N=50.

📖 Lire la source complète : r/LocalLLaMA

Ad

👀 See Also

Utiliser Claude pour analyser les schémas d'écriture afin d'améliorer les instructions personnalisées.
Guides

Utiliser Claude pour analyser les schémas d'écriture afin d'améliorer les instructions personnalisées.

Un utilisateur de Reddit décrit une méthode pour créer des instructions personnalisées plus efficaces en faisant analyser par Claude 10 échantillons d'écriture afin d'identifier des modèles concrets comme l'évitement de la ponctuation et les sources d'analogies, plutôt que de se fier à des descriptions subjectives du ton.

OpenClawRadar
Claude pour les graphismes animés : Modèles de prompts qui produisent des visuels HTML animés que vous pouvez capturer en vidéo
Guides

Claude pour les graphismes animés : Modèles de prompts qui produisent des visuels HTML animés que vous pouvez capturer en vidéo

Un utilisateur de r/ClaudeAI partage une structure de prompt fiable pour générer des graphiques animés et des diagrammes interactifs sous forme de widgets HTML à partir de Claude, puis les capturer en MP4 avec Playwright + ffmpeg.

OpenClawRadar
Guide pour configurer OpenClaw sur un VPS Hostinger
Guides

Guide pour configurer OpenClaw sur un VPS Hostinger

Un guide étape par étape pour déployer OpenClaw sur un VPS Hostinger, connecter les API d'IA d'OpenAI et d'Entropics, et intégrer avec Telegram pour un fonctionnement 24h/24 et 7j/7.

OpenClawRadar
Correction de l'invalidation du cache KV de Claude Code avec des backends locaux
Guides

Correction de l'invalidation du cache KV de Claude Code avec des backends locaux

Les versions 2.1.36+ de Claude Code injectent des en-têtes de télémétrie dynamique et des mises à jour de l'état git dans chaque requête, rompant la correspondance par préfixe et forçant le retraitement complet des prompts système de plus de 20 000 tokens sur les backends locaux comme llama.cpp. Un correctif de configuration dans ~/.claude/settings.json peut réduire le traitement de plus de 60 secondes à environ 4 secondes.

OpenClawRadar