Principe et mise en œuvre

Qwenputer repose sur le modèle Qwen 3.5 4B et y ajoute un processeur RISC‑V entièrement fonctionnel. L’innovation provient de l’utilisation des couches Gated DeltaNet (GDN) comme mémoire vive. Trois des quatre couches d’attention du modèle emploient un RNN linéaire : chaque tête conserve une matrice d’état. En fixant le gate à 1 et la force d’écriture beta à 1, aucune donnée ne s’estompe et chaque écriture remplace exactement une ligne, grâce à un encodage one‑hot. Cette configuration transforme les têtes GDN en RAM adressable, bien moins coûteuse que le cache KV d’une attention classique.

Architecture du CPU et utilisation de la RAM GDN

Un compilateur spécial convertit la description d’un CPU en poids du transformeur. Chaque instruction se traduit en trois tokens :

ADDR VAL STEP
où ADDR désigne la ligne de mémoire, VAL la valeur à écrire et STEP marque la fin de l’instruction. Le processeur occupe 11 couches supplémentaires placées devant les 32 couches originelles de Qwen. Il implémente le jeu d’instructions RV32IM avec l’extension Zba et une petite unité de calcul sur grands entiers. Les tests officiels riscv‑tests sont passés, les résultats concordent avec ceux de QEMU et le CPU a exécuté 18 millions d’instructions en mode libre‑exécution sans aucune divergence.

Performances et validation

Sur les jeux de données DeepMind, Qwenputer atteint : 97,5 % sur div_big, 97,5 % sur mul_big, 100 % sur mul_div_multiple_longer et 97,5 % sur add_or_sub_big. Sur le benchmark NUPA d’arithmétique à entiers longs, le taux passe de 48,6 % à 100 %, identique à l’ajout d’un outil Python. Une comparaison de 230 000 positions de sortie avec une machine de référence ne révèle aucune différence, et la divergence KL du texte généré reste à 6 × 10⁻⁴, proche du bruit de fond (5 × 10⁻⁴), montrant que l’insertion du CPU n’altère pas la qualité linguistique.

Système de fichiers intégré et limites

Le même mécanisme de RAM GDN a été exploité pour créer un mini‑système de fichiers. Un répertoire de 1 024 slots est haché dans l’état DeltaNet, chaque fichier étant stocké sous forme de chaînes de huit tokens par ligne, chaînées entre elles. Les opérations put, append, get, list et delete sont exécutées sans appel externe. Malgré ces succès, l’exécution reste lente comparée à du matériel dédié, le CPU ne supporte pas de système d’exploitation complet et la capacité de mémoire dépend du nombre de têtes GDN disponibles, limitant la scalabilité à très grande échelle.