# Méthode de mesure : série AI TOP ATOM de quelllm.fr Version publique du 8 octobre 2026. Machine fournie gracieusement par GIGABYTE pour cette série de guides. Les mesures et les avis sont les nôtres ; GIGABYTE n'a ni relu ni validé nos guides avant leur publication. Ce document résume les règles et les méthodes des mesures publiées dans les 7 guides de la série. Notre protocole a été rédigé le 5 octobre 2026 et figé le 6 octobre à 13 h 30, avant la première mesure. Ses avenants, tous datés, sont listés à la section 5. ## 1. La machine - GIGABYTE AI TOP ATOM, référence ATAGB10-9000 : puce NVIDIA GB10, 128 Go de mémoire unifiée LPDDR5x, SSD de 4 To en PCIe 5.0. Reçue le 29 septembre 2026. - Système figé pendant toutes les mesures : DGX OS 7.5.0, pilote NVIDIA 580.159.03, CUDA 13.0. Aucune mise à jour du système. - Alimentation : l'adaptateur de 240 W d'origine. ## 2. Règles communes - Au début de chaque journée de mesure, un test de santé de trois minutes (calcul matriciel en bf16) vérifie que le GPU tient sa puissance de calcul, sans bridage. - Au début de chaque essai : aucun autre processus sur le GPU, charge du processeur inférieure à 1, aucune session de bureau à distance ouverte. - llama-bench : cinq répétitions par mesure, avec un écart-type relatif d'au plus 3 %. Exception signalée dans le guide 3 : sur les tests courts de llama 7B et de gpt-oss 20B, les répétitions varient de 3 à 5 %. - Guide 1 : les vitesses principales de llama.cpp ont été remesurées à froid le soir même, après 20 minutes de repos et cache disque vidé ; l'écart est de 2,6 % au plus, sous le seuil de 3 %. Les autres mesures (chargement, mémoire, SSD, entraînement) sont des mesures uniques, comme l'indiquent les guides. - Les empreintes SHA-256 des fichiers GGUF des modèles du guide 1 (13 modèles et deux variantes plus lourdes) sont identiques à celles publiées par Hugging Face (fichier joint). - Quand nous comparons nos chiffres à des mesures publiées, nous reprenons la même version de logiciel, le même fichier et la même commande lorsque c'est possible. Quand la version ou la commande de la publication n'est pas connue, nous le disons. - Nos mesures et celles de tiers ne sont jamais mélangées dans une même ligne ou une même barre sans le dire. - Unités : les tailles de mémoire et les débits de disque sont en Go et Go/s au sens de Linux (1 Go = 1 024 Mo) ; les débits de mémoire en Go/s sont ceux annoncés par les fabricants, en unités décimales. Un token vaut environ deux tiers de mot en français. - Puissance : celle du GPU, lue sur la puce par nvidia-smi (NVIDIA précise qu'elle ne couvre que le GPU). Ces chiffres sont indicatifs. Nous n'avions ni wattmètre ni sonomètre : les mesures au mur et de bruit citées viennent de tiers, nommés à chaque fois. ## 3. Logiciels utilisés | Logiciel | Version | Usage | |---|---|---| | llama.cpp | build 11430 (commit 8345f3339, 5 octobre 2026) et build 7941 (commit 11fb327bf, celui du tableau publié pour le DGX Spark), compilés pour CUDA | Vitesses, mémoire, contexte, décodage spéculatif | | Ollama | 0.34.1 et 0.12.6 | Comparaison avec la mesure d'un lecteur sur MacBook Pro M5 Max (0.34.1) ; script officiel d'Ollama, version de ses mesures publiées pour le DGX Spark (0.12.6) | | vLLM | conteneur NVIDIA 26.09 (vLLM 0.29.0) | Plusieurs utilisateurs, charge continue, service des modèles entraînés | | TensorRT-LLM | 1.3.0rc12 (conteneur NVIDIA) | Recette de NVIDIA pour le décodage spéculatif | | PyTorch, PEFT, Unsloth | conteneur NVIDIA 26.03 (PyTorch 2.11), PEFT 0.21.2, Unsloth 2026.10.1 | Fine-tuning LoRA et QLoRA | | Open WebUI | 0.11.4, avec gpt-oss 120B (MXFP4) et bge-m3 (Q8_0) servis par llama-server | Assistant privé (RAG) | | fio | 3.36 | SSD | ## 4. Méthodes par guide ### Guide 1 : quels LLM tournent vraiment sur 128 Go - Vitesses : `llama-bench -ngl 99 -fa on -lm dio -p 2048 -n 32 -ub 2048 -d 0,4096,8192,16384,32768 -r 5` (lecture directe, sans mmap), 6 octobre 2026. - Mémoire occupée : baisse de la mémoire disponible (MemAvailable) une fois le modèle chargé avec 32 768 tokens de contexte réservés. Chargement à froid, cache disque vidé. - Plafond de mémoire : deux versions plus lourdes des plus gros modèles chargées avec le même contexte, avec un garde-fou qui coupe le chargement si la mémoire libre tombe sous 3 Go. - Document long : lecture d'un bloc d'un document de 30 000 tokens avec llama-server, puis vitesse d'écriture de la réponse. - Décodage spéculatif MTP de Qwen3.8 27B : llama-server, six textes de 400 tokens (prose et code). - Plusieurs utilisateurs : `vllm bench serve`, demandes de 1 024 tokens et réponses de 512 tokens, 1, 8 et 16 utilisateurs, trois séries de requêtes différentes par point, médiane publiée. - Comparaison avec le MacBook Pro M5 Max mesuré par un lecteur le 16 septembre 2026 (Ollama 0.34.1, un passage) : mêmes modèles et même prompt, deux passages sur l'ATOM, tous deux publiés. - Plafond théorique : 273 Go/s divisés par le volume des poids actifs lus par token. C'est un calcul, jamais présenté comme une mesure. ### Guide 2 : AI TOP ATOM et DGX Spark - Parité : trois mesures publiées pour le DGX Spark rejouées avec le même outil. llama.cpp build 7941 sur six modèles communs, mêmes réglages ; script officiel d'Ollama 0.12.6 (`benchmark.py -k0.2 -c10 -n500 --temperature 0`, médiane de 10 passages) ; les trois scénarios de StorageReview avec vLLM 26.09, pour 1 et 64 utilisateurs (StorageReview ne publie ni sa version de vLLM ni sa commande). - Charge continue : vLLM 26.09, 1 heure à 16 utilisateurs sur gpt-oss 120B (4 096 tokens lus et 512 écrits par demande, tranches de 64 demandes), puis 2 heures à 8 utilisateurs sur Llama 3.3 70B NVFP4 (1 024 tokens lus et 256 écrits, tranches de 32 demandes). Relevés à 1 Hz de la puissance du GPU, de son horloge, des températures et des raisons de bridage ; débit tranche par tranche. - Repos : 30 minutes de relevés après 20 minutes de calme. - SSD : fio 3.36, accès direct, profondeur de file 32 ; lecture séquentielle en blocs de 1 Mo, lecture aléatoire en blocs de 4 Ko, écriture séquentielle en rafale sur un fichier neuf de 32 Go, disque au repos. Lecture d'un fichier de modèle de 59 Go avec dd en accès direct (mesure unique). - Inventaire : versions et ports relevés en lecture seule, sans rien modifier. ### Guide 3 : GB10, Ryzen AI Max+ 395 ou Mac - Nous n'avons ni Ryzen ni Mac sur notre banc : l'ATOM est mesurée au format exact des mesures publiées pour ces machines, avec la référence de chaque publication. - Format court, contexte vide (format de kyuz0 et de la discussion n° 4167 de llama.cpp), 7 octobre 2026 : `llama-bench -m modele.gguf -ngl 99 -fa on -lm dio -p 512 -n 128 -r 5`. - Format long (discussion n° 16578), 6 octobre 2026, avec le build 11430 et le build 7941 : `llama-bench -m modele.gguf -ngl 99 -fa on -lm dio -d 0,4096,8192,16384,32768 -p 2048 -n 32 -ub 2048 -r 5`. ### Guide 4 : un LLM de 70 milliards de paramètres en local - Llama 3.3 70B mesuré avec Ollama 0.34.1, llama.cpp (Q4_K_M), vLLM 26.09 (NVFP4) et TensorRT-LLM 1.3.0rc12 (FP4). - Décodage spéculatif : six textes de 400 tokens (trois de prose en français, trois de code), température 0, un utilisateur ; médiane de trois textes par genre. llama.cpp avec un brouillon Llama 3.2 1B (8 et 16 mots d'avance) ; TensorRT-LLM avec un brouillon Llama 3.1 8B FP4 (4 mots d'avance), recette de NVIDIA pour DGX Spark. - Mémoire selon le contexte : llama-server, contexte de 8 192 à 131 072 tokens, cache en f16 puis en q8_0 ; mesure après chargement, puis avec un contexte rempli à 90 %. ### Guide 5 : fine-tuning en local - Cas réel : extraction de factures en JSON. Jeu fictif généré par script avec une graine fixe : 2 000 documents d'entraînement (10 mises en page), 200 documents de test jamais vus (100 sur les mêmes mises en page, 100 sur 2 mises en page absentes de l'entraînement). - LoRA sur Qwen3-8B en bf16 : rang 16, alpha 32, dropout 0,05, 7 projections, une époque de 500 pas de 4 documents, taux 1e-4 avec montée sur 30 pas puis décroissance en cosinus, lots de longueur voisine, perte calculée sur la réponse seule. Réglages fixés avant toute évaluation sur le jeu de test. Un seul entraînement. - Évaluation : JSON valide, exactitude champ par champ après normalisation, part de factures parfaites ; mêmes 200 documents pour Qwen3-8B sans entraînement et pour gpt-oss 120B sans entraînement. - Débit d'entraînement : QLoRA 4 bits de Llama 3.3 70B et de gpt-oss 120B avec Unsloth (séquences de 1 024 tokens, lot de 1) ; LoRA de Qwen3-8B en bf16 avec transformers et PEFT (séquences de 1 024 tokens, lot de 4). Secondes par étape, tokens par seconde et pic de mémoire. ### Guide 6 : assistant IA privé pour PME (RAG) - Corpus : les 60 documents d'une PME fictive, Lustrelle, complétés par des fiches Service-Public (licence ouverte Etalab) : bases de 50, 500 et 5 000 pages (26, 114 et 701 fichiers). - Pile : Open WebUI 0.11.4 dans un conteneur dédié ; gpt-oss 120B (MXFP4) servi par llama-server build 11430 avec 10 demandes en parallèle ; plongements bge-m3 (Q8_0) ; découpage par défaut d'Open WebUI (1 000 caractères, recouvrement de 100) et 5 extraits par question. Les serveurs de modèles sont dans un réseau Docker interne, sans sortie. - 100 questions (80 avec une réponse dans les documents, 20 sans) : une conversation neuve par question, formulation inchangée, 4 questions à la fois, aucune relance. Aucune erreur technique sur 200 réponses. - Indicateur « bon document retrouvé » : part des 80 questions avec réponse pour lesquelles au moins un document attendu figure parmi les sources renvoyées. Il est calculé par script et n'est pas une note de qualité. - Notation : les 100 réponses sur 500 pages ont été notées une par une par Claude, le modèle d'IA d'Anthropic, à la demande de l'auteur, et non par le modèle qui répond. Pour chaque question : la réponse attendue, le document source et la grille de 0 à 2 ; en cas de doute, la note la plus basse. Chaque note et sa justification sont publiées (fichier joint). - Latence : depuis un autre poste, par un tunnel SSH, 1, 5 et 10 utilisateurs simultanés posant 6 questions chacun, réponses en flux ; temps du premier mot et de la réponse complète, en médiane. - Confidentialité : capture du trafic réseau des conteneurs de la pile pendant 200 réponses ; aucun paquet vers une adresse extérieure. Cette preuve vaut pour notre configuration. - Énergie par réponse : puissance du GPU relevée chaque seconde pendant les réponses, intégrée puis divisée par le nombre de réponses. ### Guide 7 : consommation d'une IA locale - Puissance du GPU lue par nvidia-smi : une mesure par seconde pendant chaque tâche (6 au 8 octobre 2026), puis une mesure toutes les 10 secondes pour le relevé continu de 30 jours, démarré le 6 octobre 2026 à 23 h 46. - Coût : tarif réglementé EDF Tarif Bleu, option Base, 6 kVA, 20,01 centimes TTC par kWh (grille applicable au 1er août 2026), abonnement non compté. - Les mesures à la prise citées viennent de tiers (ServeTheHome, Hardware & Co, Peter Falkingham). ## 5. Avenants au protocole | Date | Contenu | |---|---| | 6 octobre 2026, vers 16 h 50 | Remesure à froid des chiffres principaux le jour même (20 minutes de repos, cache vidé, même seuil de 3 %). Ajout du script officiel d'Ollama, des scénarios de StorageReview rejoués avec vLLM, du décodage spéculatif, de la charge continue et de Llama 3.3 70B en NVFP4. | | 6 octobre 2026, vers 23 h 45 | Ajout de l'inventaire, du repos, du SSD avec fio, du format de comparaison des mesures publiées pour le Ryzen et le Mac (guide 3), de la tenue de 2 heures, de la mémoire selon le contexte, du fine-tuning, de l'assistant privé et du relevé de consommation. Bruit et consommation : chiffres indicatifs seulement. | | 6 octobre 2026, vers 23 h 50 | Ajout de la recette de NVIDIA pour le décodage spéculatif avec TensorRT-LLM (guide 4). | | 7 octobre 2026, vers 14 h 30 | Fine-tuning des factures : une époque et des lots de longueur voisine, fixés avant toute évaluation sur le jeu de test. | | 7 octobre 2026, vers 17 h 15 | Guide 6 : bases, pile, déroulé des questions et indicateur « bon document retrouvé », fixés avant tout essai. | | 7 octobre 2026, vers 17 h 55 | Précision des conditions de mesure : machine réservée aux essais pendant chaque mesure. | | 8 octobre 2026, vers 14 h 15 | Guide 6 : notation des 100 réponses confiée à Claude (Anthropic), à la demande de l'auteur, avec la grille inchangée. | ## 6. Fichiers de ce dossier - `METHODE.md` : ce document. - `empreintes-sha256-modeles.txt` : empreintes des fichiers GGUF du guide 1, comparées à Hugging Face. - `guide6-notation-100-reponses.csv` : les 100 questions du guide 6, la réponse attendue, la réponse de l'assistant, ses sources, la note et sa justification. Séparateur point-virgule, UTF-8. - `guideN-tableau-NN.csv` : les tableaux de chaque guide, tels que publiés, avec leur légende en première ligne. Séparateur point-virgule, UTF-8. ## 7. Licence Les données (fichiers CSV et texte de ce dossier), les infographies et les photos de notre AI TOP ATOM publiées dans les guides de la série sont sous licence Creative Commons Attribution 4.0 International (CC BY 4.0) : réutilisation libre, y compris commerciale, à condition de citer quelllm.fr. Texte de la licence : https://creativecommons.org/licenses/by/4.0/deed.fr. Les captures d'écran de logiciels tiers ne sont pas concernées. ## 8. Limites - Une seule machine, la référence ATAGB10-9000. Les autres machines GB10, le Ryzen AI Max+ 395 et les Mac sont comparés par des mesures publiées, citées avec leur source. - La version de 64 Go n'est pas mesurée : les guides en donnent un calcul tiré de nos relevés, signalé comme tel. - Puissance du GPU seul, sans wattmètre ; pas de mesure de bruit. - Les prix cités dans les guides sont des relevés datés, qui changent chaque semaine. - Chaque correction des guides est datée sur la page concernée.