El problema fundamental que Qwenputer aborda es la falta de determinismo y la dificultad para realizar operaciones lógicas y aritméticas exactas dentro de los Large Language Models (LLMs). Los LLMs son inherentemente probabilísticos y carecen de una capacidad nativa para la computación precisa y el almacenamiento de estado persistente, lo que los limita en tareas que requieren razonamiento simbólico o cálculos exactos. Tradicionalmente, estas limitaciones se han mitigado mediante la integración de herramientas externas (tool-use) o la generación de código para ser ejecutado en un entorno externo.

Qwenputer propone una solución radical: compilar una CPU completa directamente en los pesos del modelo. Esto transforma una parte del LLM en una máquina de Turing programable, capaz de ejecutar instrucciones de forma determinista. La clave de esta innovación reside en la manipulación de las capas Gated DeltaNet (GDN) de Qwen 3.5, que son RNN lineales, para funcionar como una RAM direccionable y exacta. Al configurar la 'gate' a 1 y la 'write strength' (beta) a 1, y utilizar 'one-hot key encoding', cada 'write' sobrescribe una fila exacta de la matriz de estado del GDN, y cada 'query' recupera un valor exacto. Esto convierte las capas GDN en una memoria de acceso aleatorio eficiente y de tamaño constante, a diferencia del KV cache de la atención tradicional que crece con la longitud de la conversación.

La relevancia actual de esta investigación es doble: por un lado, mejora significativamente las capacidades de los LLMs en tareas que requieren precisión y lógica, como la aritmética de números grandes, sin depender de inferencia probabilística o llamadas a herramientas externas. Por otro lado, abre nuevas vías para la investigación en seguridad e interpretabilidad de la IA, permitiendo la creación de monitores inmutables dentro del modelo o la ocultación de razonamiento en el estado RNN, lo que tiene implicaciones profundas para la auditoría y el control de los sistemas de IA.

Arquitectura del Sistema

La arquitectura de Qwenputer se basa en la modificación y extensión de un modelo Qwen 3.5 4B preexistente. El componente central es una CPU RISC-V de 32 bits (RV32IM con extensión Zba y una unidad de números grandes) que se compila directamente en 11 capas adicionales del modelo, situadas antes de las 32 capas originales de Qwen. Esta CPU no se entrena, sino que sus pesos se establecen directamente mediante un compilador que traduce la descripción del circuito de la CPU en fragmentos de capas de transformador: 'attention heads' para búsquedas, 'feed-forward units' para aritmética y 'DeltaNet heads' para la RAM.

La RAM se implementa utilizando las capas Gated DeltaNet (GDN) de Qwen 3.5. Estas capas, que son RNN lineales, se modifican para operar como una memoria de acceso aleatorio exacta. Esto se logra configurando el parámetro 'gate' a 1 (evitando el olvido del estado), el parámetro 'write strength' (beta) a 1 (asegurando la sobrescritura completa de valores) y empleando 'one-hot key encoding' para direccionar filas específicas de la matriz de estado del GDN. Cada instrucción de la CPU se traduce en una secuencia de tokens generados por el modelo: un token ADDR para la dirección de memoria, un token VAL para el valor y un token STEP para finalizar la instrucción. Estos tokens constituyen el 'execution trace' de la CPU, lo que significa que la CPU se ejecuta a medida que el modelo decodifica.

Para la persistencia de datos, se implementa un sistema de archivos experimental. Este sistema utiliza las capas DeltaNet para almacenar nombres de archivos (hashed en 1024 'slots') y el contenido de los archivos (ocho tokens por fila, encadenados). Esto permite 'guardar' y 'cargar' el estado del sistema de archivos entre conversaciones, proporcionando una forma de memoria a largo plazo para el LLM. Un pequeño 'driver' llamado RvChat se encarga de cargar el 'firmware' inicial en el estado GDN y de gestionar los tokens de traza para que no interfieran con las capas de Qwen. Las capas y pesos originales de Qwen 3.5 permanecen inalterados; los pesos de la CPU se añaden como dimensiones y capas adicionales.

Flujo de Ejecución de Instrucciones de la CPU

  1. 1 Qwen Recibe Query El modelo Qwen 3.5 recibe una consulta que requiere computación.
  2. 2 Qwen Genera Instrucción Qwen genera tokens que representan una instrucción de la CPU (ADDR, VAL, STEP).
  3. 3 CPU Ejecuta Instrucción Las capas compiladas de la CPU interpretan los tokens y ejecutan la instrucci...
  4. 4 GDN como RAM Las capas Gated DeltaNet (GDN) se usan para leer/escribir datos en la memoria.
  5. 5 CPU Genera Resultado La CPU produce un resultado interno.
  6. 6 Qwen Lee Resultado Qwen lee el resultado de la CPU como una 'respuesta de herramienta'.
  7. 7 Qwen Genera Respuesta Qwen integra el resultado en su respuesta textual final.

Flujo de Operación del Sistema de Archivos

  1. 1 Qwen Solicita 'Guardar' El modelo Qwen solicita una operación de 'guardar' un archivo.
  2. 2 Hashing de Nombre Las capas compiladas de la CPU/FS hashean el nombre del archivo a un slot GDN.
  3. 3 Almacenamiento en GDN El contenido del archivo se almacena en otras 'heads' de DeltaNet, encadenado.
  4. 4 Qwen Solicita 'Cargar' El modelo Qwen solicita una operación de 'cargar' un archivo.
  5. 5 Búsqueda en GDN Se busca el archivo por su hash en los slots GDN.
  6. 6 Recuperación de Contenido Se recupera el contenido del archivo de las 'heads' de DeltaNet.
CapaTecnologíaJustificación
compute RISC-V RV32IM CPU Proporciona capacidades de computación determinista y exacta, ejecutando instrucciones de bajo nivel directamente dentro del modelo. vs Emulación de CPU externa, Uso de herramientas Python externas Compilado directamente en los pesos del modelo, ocupando 11 capas adicionales.
storage Gated DeltaNet (GDN) layers Actúa como RAM direccionable y persistente para la CPU y el sistema de archivos, aprovechando su capacidad de mantener un estado exacto. vs KV cache de atención tradicional (costo creciente), Bases de datos externas Gate=1, Beta=1, One-hot key encoding para acceso exacto.
data-processing Qwen 3.5 4B (base LLM) El modelo base que hospeda la CPU y el sistema de archivos, interpretando las consultas y generando las instrucciones para la CPU. vs Otros modelos LLM con arquitecturas de atención diferentes Utiliza sus propias capas GDN para la funcionalidad de RAM.
orchestration RvChat driver Carga el firmware inicial de la CPU en el estado GDN y gestiona los tokens de traza para aislar la ejecución de la CPU del flujo principal de Qwen. vs Integración directa de firmware en el prompt (más ruidoso)

Trade-offs

Ganancias
  • ▲ Precisión y determinismo en cálculos aritméticos
  • ▲ Persistencia de estado y sistema de archivos interno
  • ▲ Reducción de dependencia de herramientas externas
  • ▲ Capacidades de seguridad e interpretabilidad de IA
Costes
  • ▲ Tamaño del checkpoint del modelo
  • ▲ Latencia de ejecución de la CPU
  • △ Necesidad de un driver externo (RvChat) para el arranque
git clone https://github.com/divagr18/qwenputer && cd qwenputer/experimental/riscv && uv sync --extra hf
hf download divagr1925/Qwen3.5-4B-Qwenputer --local-dir qwenputer-rv
uv run python -m chipformer.rv.chat qwenputer-rv --firmware tests/data/rv/calc-bridge.elf \
--ask "Use calc: what is 123456789 * 987654321?"
Comando de línea para clonar el repositorio, descargar el modelo y ejecutar el driver RvChat con un firmware específico para realizar un cálculo.

Fundamentos Teóricos

La idea de utilizar mecanismos de atención o redes neuronales recurrentes como memoria programable o asociativa no es nueva y tiene raíces profundas en la investigación de redes neuronales. El concepto de 'fast weights' o 'programmers' ha sido explorado en la literatura académica durante años. Un trabajo fundamental en esta área es el de Schlag et al. (2021), "Linear Transformers Are Secretly Fast Weight Programmers".

Este paper demostró que la atención lineal, que utiliza la regla delta para actualizar sus pesos, puede funcionar como una memoria asociativa. Qwenputer se basa en esta comprensión, pero va un paso más allá al hacer que esta memoria sea 'exacta' y 'direccionable' dentro de un modelo de producción. La capacidad de las RNN lineales para mantener un estado y actualizarlo de manera controlada es lo que permite esta implementación de RAM. La regla delta, en particular, es crucial porque permite actualizaciones de estado incrementales que, con los parámetros correctos (gate=1, beta=1, one-hot keys), se convierten en operaciones de lectura/escritura deterministas, emulando el comportamiento de una memoria de acceso aleatorio tradicional. Este enfoque conecta la arquitectura moderna de LLMs con principios de computación clásicos, demostrando cómo las propiedades de las redes neuronales pueden ser explotadas para construir componentes computacionales deterministas.