El proyecto llama.cpp ha ampliado su núcleo genérico de Multiplicación Matricial (MMA) de pocas filas para admitir tipos de datos fuente adicionales, incluyendo BF16, Q1_0, Q2_0, MXFP4, Q2_K, Q3_K, TQ2_0 y varios tipos IQ. Esta actualización permite que el núcleo optimizado maneje cualquier tipo con un desquantizador de 16 pesos, aplicando umbrales específicos de conteo de filas en hardware M3 Ultra donde el rendimiento comienza a superar a los núcleos actuales.

  • El nuevo soporte cubre BF16, Q1_0, Q2_0, MXFP4, Q2_K, Q3_K, TQ2_0 y tipos IQ.
  • Los umbrales de rendimiento varían según el tipo: 5 filas para TQ2_0, 4 para BF16, 3 para MXFP4/Q2_0/Q2_K/IQ4_NL, y 2 para los demás.
  • Los resultados de benchmark en M3 Ultra muestran ratios de rendimiento que oscilan entre 0.23 y 1.01 dependiendo del conteo de filas y la superposición del núcleo.

Este cambio mejora la eficiencia de inferencia para un rango más amplio de formatos de cuantización aprovechando las capacidades del núcleo MMA a bajos conteos de filas.