divagr18/qwenputer

Modèle expérimental : compile un CPU RISC-V 32 bits en un Transformer de 11 couches placé devant les propres couches de Qwen3.5-4B, utilise l'état Gated DeltaNet de Qwen comme mémoire, permettant au modèle d'exécuter réellement des programmes C et MicroPython lors du calcul avant, en écrivant avec précision bit par bit des opérations arithmétiques telles que la multiplication et la division de grands nombres.

Modèle expérimental : compile un CPU RISC-V 32 bits en un Transformer de 11 couches placé devant les propres couches de Qwen3.5-4B, utilise l'état Gated DeltaNet de Qwen comme mémoire, permettant au modèle d'exécuter réellement des programmes C et MicroPython lors du calcul avant, en écrivant avec précision bit par bit des opérations arithmétiques telles que la multiplication et la division de grands nombres.

Nombre d'étoiles 309 (+80 / 24h)

Raison

  • Les poids de la couche CPU ne sont pas entraînés, mais calculés directement par le compilateur ; Qwen écrit normalement les appels d'outils calc, mais sans aucun exécuteur externe, la couche de calcul interne du modèle lit les appels, effectue les calculs sur le CPU, puis le modèle écrit lui-même les résultats bit par bit. L'auteur affirme que les tests officiels riscv-tests sont réussis, avec une erreur nulle sur environ 23 000 positions de sortie lors de la relecture, et une divergence KL de 6e-4 par rapport au comportement textuel du modèle original
  • Comparaison fournie par l'auteur (décodage glouton, 40 questions par groupe) : l'arithmétique entière synthétique passe de 75.0 pour le modèle de base à 97.5, DeepMind mul_big passe de 55.0 à 97.5, ce qui est comparable aux performances du modèle de base appelant l'interpréteur Python de l'hôte
  • Autres branches expérimentales : la version NPU avec instructions de produit scalaire peut exécuter un petit modèle stories260K de 26 000 paramètres dans le modèle ; la version système de fichiers stocke jusqu'à 512 fichiers dans l'état DeltaNet, l'auteur affirmant une amélioration des questions de rappel inter-sessions de 7.8 à 83.3 ; la version précoce CHIP-8 est toujours téléchargeable

Utilisation

  • Après git clone, entrez dans experimental/riscv, exécutez uv sync --extra hf, téléchargez les poids avec hf download divagr1925/Qwen3.5-4B-Qwenputer, puis posez des questions avec uv run python -m chipformer.rv.chat qwenputer-rv --firmware tests/data/rv/calc-bridge.elf --ask "…"
  • Le modèle est chargé selon la classe standard Qwen3_5ForCausalLM, le code d'exemple est placé sur CUDA et la réduction de précision bf16 est désactivée pour garantir la précision des multiplications matricielles ; la conception et toutes les mesures se trouvent dans experimental/riscv/docs/rv32.md

Risques

  • L'auteur affirme que ce n'est pas utile partout : les problèmes de texte comme GSM8K sont à égalité, le modèle de base reste en avance sur les chaînes d'expressions longues, et le modèle vérifie à plusieurs reprises les résultats déjà donnés jusqu'à épuisement du budget de tokens ; les tableaux de la version CHIP-8 prennent les meilleurs scores de chaque benchmark parmi les points de contrôle de développement
  • L'exemple s'exécute sur GPU NVIDIA, l'auteur donne une vitesse d'environ 3,200 tokens de trajectoire par seconde sur L4, la version NPU génère un token d'histoire en environ 41 secondes ; le code est sous licence MIT, les poids suivent une version modifiée de Qwen3.5-4B sous Apache-2.0, le dépôt a été créé le 19 10

Ouvrir

GitHub

Parcourir les dernières actualités IA