Un investigador ha demostrado que es posible ejecutar modelos de lenguaje grandes con contextos de hasta un millón de tokens en un MacBook Pro con chip M5 Max, desafiando las limitaciones previas de memoria y velocidad que caracterizaban a la inteligencia artificial local. El experimento, realizado con el modelo Qwen 3.6-35B-A3B, utilizó técnicas avanzadas de compresión del caché de memoria (KV cache) para mantener el rendimiento mientras se escalaba a contextos extremadamente profundos.
El investigador llevó a cabo una prueba exhaustiva comparando cuatro estrategias diferentes de compresión del caché: f16 (precisión de 16 bits), q8_0 (cuantización de 8 bits), turbo3 (3 bits) y turbo4 (4 bits). Los resultados revelan patrones sorprendentes que desafían la convención en el campo. A profundidades superficiales (sin contexto previo), f16mantiene un pequeño margen de ventaja con velocidades de decodificación de 89.4 tokens por segundo. Sin embargo, a medida que el contexto crece, la dinámica cambia radicalmente.
En contextos de 128 kilobytes, la compresión de 3 bits (turbo3) iguala al caché de 8 bits en velocidad de procesamiento de entrada (253 vs 245 tokens por segundo), demostrando que la reducción del tamaño de memoria puede compensar los efectos de la cuantización. Este punto de inflexión representa un cambio fundamental en la comprensión de cómo funcionan los sistemas de atención en modelos grandes cuando se enfrentan a bandas ancha de memoria limitada.
La verdadera revelación emerge al comparar turbo3 y turbo4. Estas técnicas de compresión exhiben comportamientos completamente diferentes según la fase de operación. Durante el procesamiento de entrada (prefill) con contextos de 256 kilobytes, turbo3 supera a turbo4 en un 27%, alcanzando 128 tokens por segundo frente a 101. Sin embargo, durante la generación de salida (decode), la situación se invierte drásticamente. En contextos de 512 kilobytes, turbo4 proporciona un 20% más de velocidad que turbo3 (16 tokens por segundo frente a 13.3).
Esta divergencia tiene implicaciones prácticas directas para diferentes casos de uso. Los agentes de codificación que requieren contextos profundos y generan múltiples tokens se beneficiarían de turbo4, mientras que los sistemas de búsqueda aumentada (RAG) o análisis de documentos que procesan grandes bloques de texto y generan respuestas cortas funcionarían mejor con turbo3. Para aplicaciones interactivas en tiempo real limitadas a 32 kilobytes, f16 o q8_0 siguen siendo las opciones superiores.
El experimento alcanzó el millón de tokens utilizando turbo3, logrando 6.5 tokens por segundo en generación, una velocidad que, aunque no es apta para conversación en tiempo real, resulta viable para trabajos automatizados que se ejecuten durante la noche. El consumo de memoria en este punto alcanzó aproximadamente 89 gigabytes de los 128 disponibles en la máquina, con 37 gigabytes dedicados a los pesos del modelo y 52 al caché comprimido.
El investigador ha reconocido las limitaciones de sus hallazgos. Los resultados se limitan a una única configuración de hardware (M5 Max), y los puntos de inflexión donde una técnica de compresión supera a otra probablemente variarán significativamente en máquinas con diferentes características de ancho de banda y número de núcleos GPU. Además, las pruebas se limitaron a configuraciones simétricas de caché para los componentes K y V (clave y valor), y hay indicios de que configuraciones asimétricas podrían ofrecer un mejor equilibrio.
Estos hallazgos cobran relevancia en un momento en que la comunidad de IA local busca ampliar los límites de lo que es posible ejecutar sin depender de servidores en la nube. La capacidad de procesar documentos extremadamente largos o mantener conversaciones con contexto profundo en máquinas personales abre posibilidades para aplicaciones que requieren privacidad, latencia baja o simplemente independencia de la conectividad a internet. Sin embargo, la investigación también subraya que la optimización de estos sistemas es profundamente dependiente del contexto y requiere un análisis cuidadoso de los patrones de carga específicos de cada aplicación.