Un ingeniero ha conseguido implementar DFlash, una técnica avanzada de decodificación especulativa, de forma nativa en dispositivos Apple Silicon, logrando aceleraciones de hasta 3,3 veces en la velocidad de generación de tokens respecto a los métodos convencionales. Los resultados, obtenidos en un MacBook Pro M5 Max con 64GB de memoria, demuestran velocidades de 85 tokens por segundo en el modelo Qwen3.5-9B, frente a los 26 tokens por segundo del enfoque tradicional.
La decodificación especulativa es una técnica que funciona mediante un sistema de dos modelos: un modelo borrador pequeño genera múltiples tokens en paralelo utilizando difusión de bloques, mientras que el modelo objetivo verifica todos ellos en una única pasada hacia adelante. La implementación garantiza resultados idénticos bit a bit con los cálculos exactos, asegurando que no hay pérdida de precisión en el intercambio por velocidad.
Los datos de rendimiento muestran variaciones significativas según el tamaño del modelo y el método de cuantización empleado. En el modelo Qwen3.5-4B en precisión bf16, la mejora es aún más dramática: 109 tokens por segundo frente a 41 en el enfoque base para secuencias de 1.024 tokens. Interesantemente, este modelo más pequeño aumenta su velocidad a 133 tokens por segundo en generaciones más largas de 2.048 tokens, un comportamiento contrario al de modelos más grandes, que experimentan una ligera degradación.
La cuantización juega un papel crucial en el equilibrio de rendimiento. Con cuantización de 8 bits, el modelo Qwen3.5-27B alcanza 35 tokens por segundo en secuencias de 1.024 tokens, un 2,5 veces más rápido que la baseline. Sin embargo, con cuantización de 4 bits, la aceleración se reduce a 1,9 veces. Este fenómeno ocurre porque con 4 bits, la verificación se vuelve tan rápida que el modelo borrador en precisión bf16 se convierte en el cuello de botella del sistema.
La investigación técnica detrás de esta implementación revela optimizaciones específicas para la arquitectura de Apple. El ingeniero identificó que la falta de soporte para head_dim=256 en la implementación existente de attention de MLX era un obstáculo fundamental. Un parche de dos líneas que habilitaba la ruta rápida SDPA resultó ser transformador para el rendimiento. Además, se reorganizó el pipeline de computación para reducir las sincronizaciones entre GPU y CPU de dos a una por ciclo, economizando aproximadamente 0,5 milisegundos en cada iteración a velocidades de generación superiores a 80 tokens por segundo.
Otras optimizaciones incluyeron la compresión de las proyecciones de consulta, clave y valor en una única operación de multiplicación de matrices seguida de división, reduciendo significativamente el número de lanzamientos de kernels por capa. Sin embargo, es notable que los kernels personalizados de Metal para operaciones como GEMV por lotes, SiLU fusionado o SDPA personalizado no superaron al código de acero estándar de MLX, mostrando entre 0,5 y 0,8 veces el rendimiento. Este resultado subraya una característica fundamental del hardware unificado de Apple: la limitación por ancho de banda.
Esta característica de estar limitado por ancho de banda transforma completamente la ecuación de optimización en Apple Silicon. El costo de verificación permanece prácticamente plano, oscilando entre 57 y 59 milisegundos, independientemente de si se verifican 4 o 16 tokens. La carga de pesos domina el perfil de rendimiento, no el número de tokens procesados. Esto significa que estrategias como reducir el número de tokens verificados cuando la confianza es baja no proporcionan mejoras significativas en esta plataforma.
El desarrollador también exploró la aplicabilidad a modelos de Mezcla de Expertos, como Qwen3.5-35B-A3B, donde solo 3 de 35 mil millones de parámetros están activos en cada token. Estos modelos ofrecen teóricamente una combinación atractiva: el costo de verificación de un modelo pequeño con la calidad generativa de uno grande.
A medida que la longitud de contexto supera 2.000 tokens, el crecimiento de la caché de clave-valor comienza a degradar las mejoras de velocidad, un desafío que requiere investigación adicional. El ingeniero está actualmente trabajando en técnicas de compresión y destilación del modelo borrador para abordar el cuello de botella que surge cuando el modelo borrador en bf16 se vuelve más lento que la verificación en cuantización de 4 bits en modelos más grandes.
Esta investigación representa un avance significativo en la optimización de modelos de lenguaje para hardware de consumidor con arquitectura ARM. Demuestra que es posible lograr aceleraciones sustanciales sin sacrificar precisión, utilizando optimizaciones específicas del hardware y mejoras algorítmicas fundamentales. La comunidad de IA local aguarda la publicación del código como software libre, que probablemente inspirará nuevas optimizaciones y facilitará la ejecución eficiente de modelos más grandes en máquinas portátiles.