Actualités

Notre configuration expérimentale : un modèle d'environ 83,6 Go fonctionnant localement sur une RTX 3060 économique

Qwen3.8-Flash-Next IQ3_S sur un RTX 3060 12 Go avec seulement 48 Go de RAM système. Aucune inférence de nuage. Juste du matériel grand public abordable.

Inférence IA locale Strata : 68 jetons par seconde sur un RTX 3060 12 Go avec 48 Go de DDR5

C'est incroyable !

Qwen3.8-Flash-Next IQ3_S (~ 83,6 Go) fonctionnant localement sur un budget RTX 3060 12 Go avec seulement 48 Go de RAM système !

Décodage jusqu'à 68 jetons/s, traitement d'invite d'environ 916 jetons/s et traitement d'invite de 30 000 jetons en seulement 34 secondes.

Propulsé par Strata par coldniko. Aucune inférence de nuage. Juste du matériel grand public abordable !

Benchmarks complets, spécifications matérielles, optimisations et compromis ci-dessous.

Vous pouvez passer directement aux principaux points à retenir dans la dernière section.

Le matériel derrière ces résultats

Pas de GPU de centre de données, pas de serveur multi-GPU coûteux et pas de configuration RAM massive.

L’ensemble de l’expérience a été réalisé sur un PC grand public/poste de travail assez ordinaire.

Le PC compact utilisé pour l'expérience

CPU

Carte mère

Mémoire

GPU

Stockage

OS

Réseau

Le détail crucial : le modèle est bien plus grand que la VRAM et la RAM disponibles réunies.

C’est exactement ce qui rend cette expérience intéressante.

Architecture du modèle, du moteur et de la mémoire

Modèle

Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S

Deux fragments GGUF :

Composants supplémentaires

Moteur d'inférence

Allocation de mémoire réelle

Paramètres de configuration importants

--expert-cache auto
--prefill 4096
--spec 4
--spec-min-p 0.5
--mtp mtp/rt
--max-context 32768
--kv int8
--kv-grow
--kv-resident 32768
--vision
--vram-reserve-mib 960
--pool-workers 12
--conversation-cache-mib 1536
--prompt-cache-tail
--prompt-cache-spread
--resident-experts
--resident-budget-gib 24

Il ne s’agit pas d’une configuration conventionnelle « charger l’intégralité du modèle dans la mémoire GPU ».

Strata utilise ensemble la mémoire GPU, la RAM système, la mise en cache experte et le stockage NVMe.

L'optimisation importante consiste à minimiser les transferts d'experts coûteux tout en gardant le GPU productif.

De vrais résultats de référence

Même modèle, même matériel, deux configurations de routage.

Mode A : routage expert rapide et axé sur la résidence (priorité = 1,5)

ContextePréremplirDécodage à froidDécodage chaleureux
1K285 tok/s42 tok/s61 tok/s
4K804 tok/s50 tok/s65 tok/s
8K819 tok/s61 tok/s68 tok/s
16K916 tok/s60 tok/s68 tok/s
30K890 tok/s58 tok/s61 tok/s

Temps froid jusqu'au premier jeton :

À titre de comparaison, le mode B désactive le routage basé sur la résidence (prior = 0) :

ContextePréremplirDécodage à froidDécodage chaleureux
1K282 tok/s24 tok/s27 tok/s
4K781 tok/s29 tok/s26 tok/s
8K789 tok/s30 tok/s32 tok/s
16K889 tok/s30 tok/s29 tok/s
30K878 tok/s26 tok/s27 tok/s

Génération de 500 jetons :

Les mesures de vitesse ont été recoupées avec les horaires de streaming côté client.

Observation principale :

La désactivation du routage basé sur le cache peut réduire la vitesse de décodage d'environ 2 à 2,4×.

Mais il existe une raison importante de ne pas laisser le routage agressif activé pour chaque charge de travail. Plus d’informations à ce sujet dans la section suivante.

Vitesse vs qualité du modèle : le compromis caché

Sur cette version du moteur Strata, les GPU avec ≤ 13 Go de VRAM utilisent automatiquement le routage basé sur la résidence :

STRATA_ROUTE_PRIOR=1.5

Cela favorise les experts déjà disponibles dans la mémoire rapide au lieu de toujours sélectionner les experts que le routeur d'origine préférerait.

Le bénéfice est spectaculaire :

Mais ce n'est PAS une optimisation gratuite.

La modification de la sélection des experts peut modifier le comportement du modèle, augmenter la divergence par rapport au modèle d'origine et affecter les longs raisonnements ou les flux de travail des agents.

D’après l’évaluation du développeur sur 10 tâches d’agent :

Les résultats de base eux-mêmes variaient d’une exécution à l’autre ; il s’agit donc d’un résultat directionnel et non d’une mesure de qualité définitive.

Mes six brefs contrôles d'agent ont été réussis dans les deux modes.

Cependant, une analyse de stress d'unicité distincte a exposé la répétition :

La conclusion est simple :

Et la vitesse de référence ne doit jamais être confondue avec la qualité du modèle.

La mise en cache rapide change tout

L’un des résultats les plus impressionnants n’est pas la vitesse de décodage. Il s'agissait du temps de réponse aux demandes répétées utilisant la même invite.

Avec une invite entièrement mise en cache :

ContexteTTFT à froidTTFT en cache
1K3.7 s0.08 s
4K4.9 s0.08 s
8K9.7 s0.27 s
16K17.3 s0.34 s
30K33.9 s0.44 s

Cela représente environ 45 à 90 fois moins de temps pour obtenir le premier jeton dans ces exécutions.

Le cache d'invites fait une énorme différence lors de l'interrogation répétée du même long document ou du maintien d'une conversation avec un contexte stable.

Le moteur est également configuré pour la mise en cache des conversations :

Il y a un hic : ces résultats concernent des invites identiques avec un cache entièrement réutilisable.

Cela ne signifie pas que de nouvelles invites arbitraires de jetons de 30 000 seront traitées en une demi-seconde.

Mais pour l’IA locale interactive, un cache chaud change la donne.

Le mystère du SSD : PCIe 5.0 n’est pas le goulot d’étranglement

Au début, le lecteur NVMe semblait étrangement lent. Nous avons étudié la liaison PCIe, la topologie de stockage et le comportement réel des E/S.

Le lecteur : Lexar NM1090 PRO 2 To, PCIe 5.0×4.

Connexion PCIe vérifiée :

Le disque fonctionne donc à sa vitesse de liaison PCIe 5.0 maximale.

Benchmarks de lecture directe non mis en cache :

Ce résultat parallèle de 10,94 Go/s est particulièrement important : il dépasse la bande passante pratique du PCIe 4.0 ×4.

Pourquoi le débit d’un flux unique est-il beaucoup plus faible ?

Parce que la bande passante PCIe n’est pas la même chose que le débit au niveau des applications.

La profondeur de la file d’attente, la taille des E/S, le parallélisme des demandes et la latence sont tous importants.

Le modèle de chargement expert de Strata est beaucoup plus proche du cas de faible concurrence que d’un benchmark synthétique à débit maximum.

Débit de stockage moteur observé :

La différence vient du nombre d’experts qui doivent être récupérés, et non d’un déclassement PCIe.

Encore un détail utile : le RTX 3060 lui-même est un appareil PCIe 4.0. Voir son lien tomber vers Gen1 alors qu'il est inactif est un comportement normal de gestion de l'alimentation.

Vérifiez toujours quel appareil vous mesurez avant de diagnostiquer un problème PCIe.

Une leçon importante : ne laissez pas Linux mettre en cache un modèle de 83,6 Go sur une machine de 48 Go

Nous avons rencontré un sérieux problème lors du démarrage initial.

La première configuration permettait le chargement en mémoire tampon des fichiers de modèle.

Le modèle fait environ 83,6 Go, alors que le système ne dispose que de 48 Go de RAM physique.

Sous cette charge de travail, Linux a été soumis à une forte pression de récupération de mémoire. La machine ne répondait presque plus, y compris la connectivité SSH, et nécessitait un redémarrage forcé.

La solution consistait à modifier la stratégie de chargement et à introduire des sauvegardes de mémoire.

Paramètres actuels :

Après ces changements :

La leçon :

Il est possible d'exécuter un modèle plus grand que votre mémoire physique, mais la comptabilité de la mémoire est absolument essentielle.

La pression du cache de pages, les données de modèle épinglées, les experts résidents et le cache KV doivent être pris en compte ensemble.

Ne copiez pas aveuglément les indicateurs de performances maximales à partir de machines dotées de configurations de RAM beaucoup plus importantes.

Consommation d'énergie, thermiques et coût d'inférence

C'est une autre agréable surprise.

Puissance des composants mesurée :

Inactif avec le modèle chargé :

Pendant la génération :

Puissance totale estimée du système au niveau du mur (non mesurée à l'aide d'un compteur mural) :

Températures observées :

Aucune limitation thermique observée.

Pour un prix de l'électricité supposé de 0,25 €/kWh :

Il est donc tout à fait réaliste d’exploiter à la maison un point de terminaison d’IA local capable et préservant la confidentialité.

Bien entendu, il s’agit de coûts d’électricité estimés et non du coût total de possession. La dépréciation du matériel, le refroidissement et la maintenance sont exclus.

Là où la configuration du RTX 3060 n’a plus de sens

Cette configuration est excellente pour les requêtes interactives courtes, mais elle a des limites.

Le plus important :

A titre de comparaison, j'ai exécuté le même modèle sur un système local plus puissant avec un GPU de 24 Go.

Performances mesurées sur ce système :

Le système RTX 3060 offre un débit de préremplissage bien inférieur et environ la moitié du débit de décodage dans des cas comparables, avec un huitième du contexte disponible.

Cependant, la carte de 12 Go est bien plus accessible et reste incroyablement utile.

Mon approche actuelle :

Il ne s’agit pas de prétendre qu’un GPU bon marché remplace une machine haut de gamme.

Le fait est de savoir dans quelle mesure l’IA locale utile peut déjà fonctionner sur du matériel peu coûteux.

Qu’est-ce qui pourrait encore être optimisé ?

Le système fonctionne déjà bien, mais il existe quelques pistes intéressantes pour de nouvelles expériences.

Inférence simultanée

L'option --slots 2 pourrait améliorer le débit total avec deux conversations simultanées.

Un débit global estimé de +10 à 12 % est possible pour cette charge de travail, mais il doit être validé.

Cela ne signifie pas qu’une seule conversation devient 12 % plus rapide.

Des lots de pré-remplissage plus importants

Actuel: --prefill 4096

Candidat: --prefill auto:16384

Des fenêtres de pré-remplissage plus grandes pourraient améliorer le traitement des invites longues, mais la VRAM disponible est déjà limitée.

Avec environ 11,14 Gio sur les 12 Gio du GPU occupés, le comportement de la mémoire doit être mesuré avec soin.

Plus de RAM système

L'utilisation de --ple-io ram pourrait apporter davantage de données de modèle dans la mémoire système et réduire les lectures de stockage.

La documentation du développeur suggère :

Mais cette configuration nécessiterait beaucoup plus de RAM, environ 72+ Gio pour la disposition mesurée.

Ce n'est pas pratique sur la configuration actuelle de 48 Go.

Décodage spéculatif

Le décodage spéculatif MTP est déjà activé.

Acceptation observée : ~33 à 41 jetons acceptés sur 50 à 60 rédigés, soit environ 65 à 70 %.

Contexte plus long

La limite actuelle de 32 Ko est une limite de configuration opérationnelle et ne prouve pas que le modèle lui-même ne prend en charge que 32 Ko.

L'augmenter nécessite de revérifier la capacité de la mémoire, le comportement du cache KV, la latence et la stabilité.

Pour cette charge de travail, la réduction des lectures expertes coûteuses et l’amélioration des modèles d’accès peuvent être plus importantes que l’augmentation de la bande passante séquentielle maximale du disque.

Comme toujours : évaluez la charge de travail réelle, et pas seulement les chiffres marketing du matériel.

Réflexions finales

Voici ce que démontre cette expérience.

Un modèle MoE quantifié d'environ 83,6 Go peut être exécuté localement sur :

Avec des résultats mesurés jusqu'à :

Mais il y a des mises en garde importantes.

Je suis particulièrement intéressé par l’économie pratique de l’IA locale.

Non seulement la référence maximale sur un système à 10 000 €, mais aussi les performances utiles réalisables sur des machines grand public et des configurations abordables à partir d'environ 1 000 €.

La confidentialité, l’indépendance, les coûts d’exploitation contrôlés et l’utilité réelle comptent bien plus que la seule recherche de chiffres de référence impressionnants.

Il s'agit toujours d'une expérience en évolution et je continuerai à partager les mesures, les échecs, les modifications de configuration et les améliorations.

L’avenir de l’IA locale devient déjà étonnamment abordable.

Ajouts ultérieurs

Oh, j'ai oublié de mentionner que le GPU fonctionne avec NVIDIA Unlock, sorti il y a quelques jours à peine, la semaine dernière.

J'ai maintenant demandé à mon agent IA d'exécuter les mêmes benchmarks sans déverrouillage, nous pourrons donc comparer les résultats en 15 à 20 minutes environ.

Dans les prochains jours, mais pas aujourd’hui, j’installerai ce GPU dans un système coûtant moins de 1 000 $ et verrai comment il fonctionne là-bas.

Discussion originale sur X · Toutes les actualités