手机跑大模型提速4-5倍!微软亚研院开源新技术,有CPU就行
内容提要
微软亚研院开源T-MAC技术,高效部署大语言模型,无需反量化,支持混合精度矩阵乘,性能超过NPU,适合低比特模型,具有功耗优势。
延伸解读
T-MAC 的适用场景与硬件要求
T-MAC 主要面向资源受限的端侧设备,如手机、PC 和树莓派。它仅需 CPU 即可部署低比特大语言模型,无需依赖 NPU 或 GPU。在骁龙 X Elite 芯片组上,3B BitNet 模型生成速率可达每秒 48 个 token;在树莓派 5 上也能达到每秒 11 个 token。因此,对于没有专用加速器或希望降低功耗的设备,T-MAC 提供了一种可行的部署方案。
低比特模型下的性能优势
T-MAC 的计算性能随比特数降低而线性提升,这与基于反量化的 GPU/NPU 实现不同。在 2 比特下,T-MAC 可实现单核每秒 10 个 token、四核每秒 28 个 token,超越 NPU 性能。同时,达到相同生成速率所需的核心数仅为原始 llama.cpp 的 1/4 至 1/6,显著降低功耗。因此,对于 2 比特等极低比特模型,T-MAC 能带来更好的加速效果。
技术原理:查表计算替代乘加
T-MAC 采用基于查找表(LUT)的计算范式,直接支持混合精度矩阵乘,无需反量化。它将低比特权重分组,预先计算所有可能的部分和并存入 LUT,然后通过移位和累加操作支持 1 到 4 比特。这种方法抛弃了 CPU 上效率不高的 FMA 指令,转而使用功耗更低的 TBL/PSHUF 查表指令,从而减少乘法和加法操作数量,提升推理效率。
实际部署中的优化与挑战
将查表计算实现在 CPU 上存在挑战,如随机访存和片上内存有限。为此,研究员们进行了多项优化:将 LUT 存入片上内存以利用查表指令,改变矩阵计算顺序提升数据重用率,为查表设计最优分块,优化权重布局,并针对 Intel/ARM CPU 做特定优化。这些优化使得 T-MAC 在 4 比特算子上相对 llama.cpp 获得显著加速,最终实现 4-5 倍的端到端提升。
Q&A
T-MAC技术的主要优势是什么?
T-MAC技术在CPU上高效部署低比特大语言模型,性能超过NPU,且功耗显著降低。
T-MAC如何支持混合精度矩阵乘法?
T-MAC采用基于查找表(LUT)的计算范式,直接支持混合精度矩阵乘法,无需反量化。
在什么设备上可以使用T-MAC技术?
T-MAC技术可以在手机、PC、树莓派等端侧设备上使用。
T-MAC的计算性能如何随着比特数变化?
T-MAC的计算性能随着比特数降低而线性提高,适合2比特模型。
T-MAC在Raspberry Pi 5上的表现如何?
在Raspberry Pi 5上,T-MAC能够达到每秒11个token的生成速率。
T-MAC技术的开源情况如何?
T-MAC技术已开源,相关论文已在arXiv公开。