Hechos Clave
- Z80-μLM es un modelo de lenguaje a nivel de caracteres con pesos cuantizados a 2 bits.
- Todo el sistema cabe en un archivo .COM de 40KB.
- Se ejecuta en un procesador Z80 con 64KB de RAM.
- El modelo puede jugar una versión simplificada de 20 Preguntas.
- El entrenamiento utilizó cuantización consciente con estimadores de paso directo.
Resumen Rápido
Un nuevo proyecto demuestra la viabilidad de la IA conversacional en hardware heredado. Z80-μLM es un modelo de lenguaje a nivel de caracteres diseñado específicamente para operar dentro de los estrictos confines de un procesador Z80 y 64KB de RAM. A diferencia de los modernos modelos de lenguaje grandes que requieren gigabytes de memoria y potentes GPU, este modelo cabe en su pila operativa completa en un compacto archivo .COM de 40KB. Esto permite que se ejecute en hardware real o emuladores que soporten el sistema operativo CP/M.
El modelo utiliza pesos cuantizados a 2 bits con valores limitados a {-2, -1, 0, +1}. Aunque carece de la capacidad para tareas de escritura de propósito general, es capaz de jugar una versión simplificada de 20 Preguntas y participar en breves conversaciones con personalidad. El logro destaca cómo las restricciones extremas pueden impulsar soluciones de ingeniería innovadoras en el desarrollo de IA.
Arquitectura Técnica y Restricciones
Desarrollar un modelo de IA que se ejecute en hardware de finales de los años 70 requirió repensar completamente las técnicas modernas de aprendizaje profundo. El desarrollador enfrentó el desafío de ajustar la lógica de inferencia, los pesos del modelo y una interfaz de usuario de chat en un binario de 40KB. Para lograr esto, el proyecto se basa en el hashing de trigramas, una técnica que es tolerante a errores tipográficos pero sacrifica el orden de las palabras. Además, el sistema utiliza matemática entera de 16 bits en lugar de la aritmética de punto flotante estándar en la IA contemporánea.
La arquitectura fue fuertemente influenciada por la necesidad de igualar las limitaciones de hardware del Z80. Específicamente, el desarrollador tuvo que tener en cuenta los límites del acumulador de 16 bits del procesador. El proceso de entrenamiento fue diseñado para manejar estas restricciones desde el principio, asegurando que el modelo no requiriera ajustes post-entrenamiento que pudieran causar colapso por cuantización.
Metodología de Entrenamiento 🧠
La clave del éxito de Z80-μLM radica en su enfoque de entrenamiento único, conocido como cuantización consciente (quantization-aware training). En lugar de entrenar un modelo estándar y comprimirlo después, el desarrollador ejecutó dos pases hacia adelante en paralelo durante el entrenamiento: uno usando números de punto flotante estándar y otro usando valores cuantizados enteros. Esto permitió al sistema puntuar el modelo según qué tan bien sobrevivió su conocimiento al proceso de cuantización.
El bucle de entrenamiento empujó activamente los pesos hacia la cuadrícula de 2 bits usando estimadores de paso directo (straight-through estimators). Para prevenir errores, el sistema aplicó penalizaciones por desbordamiento que reflejaban los límites del acumulador de 16 bits del Z80. Este método aseguró que al final del entrenamiento, el modelo se hubiera adaptado completamente a las restricciones de hardware objetivo, eliminando el riesgo de colapso por cuantización posterior.
Generación de Datos y Capacidades
Para enseñar al modelo cómo jugar el juego de 20 Preguntas, el desarrollador necesitaba un conjunto de datos específico. El proyecto utilizó la API de Claude para generar estos datos de entrenamiento. Se gastaron unos pocos dólares en la API para crear ejemplos adecuados para el formato de juego simplificado. Estos datos permiten al modelo funcionar como un compañero de conversación en un contexto limitado.
A pesar de su pequeño tamaño, Z80-μLM es capaz de mantener la ilusión de una conversación. Posee una personalidad distintiva y puede participar en intercambios breves. Sin embargo, su utilidad está estrictamente definida por sus datos de entrenamiento; no puede generalizar a tareas como la composición de correos electrónicos o el razonamiento complejo, enfocándose en su nicho conversacional específico.
Conclusión
Z80-μLM representa una intersección fascinante entre la computación retro y las técnicas modernas de IA. Al adherirse estrictamente a las limitaciones de 64KB de RAM y un tamaño de archivo de 40KB, el proyecto prueba que las interacciones de IA útiles son posibles incluso en hardware severamente limitado. El uso de cuantización consciente y matemática entera ofrece un plan para futuros proyectos que apunten a ejecutar IA en sistemas embebidos o dispositivos heredados. Aunque puede que no reemplace a los asistentes modernos, se erige como un logro técnico significativo en code golf y diseño eficiente de modelos.