llama.cpp项目已将其通用的少行矩阵乘法(MMA)内核扩展,以支持其他源数据类型,包括BF16、Q1_0、Q2_0、MXFP4、Q2_K、Q3_K、TQ2_0以及各种IQ类型。此更新允许优化后的内核处理任何具有16位权重反量化的类型,在M3 Ultra硬件上应用特定的行数阈值,当性能开始超过当前内核时触发。
- 新支持涵盖BF16、Q1_0、Q2_0、MXFP4、Q2_K、Q3_K、TQ2_0和IQ类型。
- 性能阈值因类型而异:TQ2_0为5行,BF16为4行,MXFP4/Q2_0/Q2_K/IQ4_NL为3行,其他为2行。
- M3 Ultra上的基准测试结果显示,根据行数内核重叠情况,性能比率范围从0.23到1.01不等。
通过利用低行数下MMA内核的能力,此更改提高了更广泛量化格式的推理效率。