De gpt2-experiments à qwen3-experiments-rs
Retour sur quelques semaines de code, de Rust, d'assembleur, de kernels en metal ou vulkan.
De GPT-2 à Qwen3
Après avoir exploré les bases avec GPT-2, l'étape suivante est l'inférence locale de modèles modernes : Qwen 3, en dense et en MoE.
L'objectif n'est pas juste de "faire tourner", mais de comprendre les goulots d'étranglement réels.
Le constat : bande passante, pas FLOPs
L'inférence locale sur CPU n'est pas une question de FLOPs, mais de bande passante mémoire.
En benchant un Mac Studio M3 Ultra, le constat est fascinant : c'est une machine incroyable, mais le CPU est bridé par le hardware. Il ne peut physiquement pas accéder à l'intégralité de la bande passante théorique (les fameux 800GB/s).
Même avec un contrôleur mémoire et un SLC (System Level Cache) impressionnants, pour du pur CPU, d'autres architectures peuvent paradoxalement offrir plus de "tuyauterie".
Le mur DRAM en chiffres
Les mesures sur Qwen3 montrent clairement le mur de la bande passante DRAM :
| Précision | Bits/weight | Decode tok/s |
|---|---|---|
| BF16 | 16 | 2.83 |
| INT8 | 8 | 5.35 |
| Q4 | 4 | 9.69 |
Le débit en tokens/seconde est quasi linéairement proportionnel à la réduction du nombre de bits par poids. C'est la signature d'un régime purement memory-bound.
De l'expérimentation au produit
Il y a assez de matière pour plusieurs articles, mais l'heure est au changement de focus : passer de l'expérimentation pure à la construction d'un produit exploitable par tous.
C'est le seul moyen de rendre ces découvertes concrètes.
Les expérimentations continuent en toile de fond (réorganisation mémoire, nouvelles pistes), mais la consolidation prime.