手机运行大型模型的速度可以提升4-5倍!微软亚洲研究院发布了一项新技术,名为T-MAC,它允许在CPU上高效部署低比特大语言模型,且资源消耗量更少。
T-MAC通过基于查找表(LUT)的计算范式实现了这一目标,无需反量化过程,直接支持混合精度矩阵乘法。这不仅提高了推理性能,使模型部署更加统一和可扩展,而且特别适用于资源受限的端侧设备。更重要的是,T-MAC仅需利用CPU即可部署模型,甚至在某些情况下,其推理速度超过专门的加速器。
实验结果表明,T-MAC在配备最新高通Snapdragon X Elite芯片组的Surface AI PC上,3B BitNet-b1.58模型生成速率可达每秒48个token,2bit 7B llama模型可达每秒30个token,4bit 7B llama模型可达每秒20个token。这甚至超越了NPU的性能。当部署llama-2-7B-4bit模型时,使用T-MAC的CPU仅需两核便能达到每秒12.6个token的生成速率,最高甚至可以达到每秒22个token。
T-MAC的关键创新在于采用基于查找表的计算方式,而非传统的乘累加计算。这使得在较低比特数下,T-MAC的性能提升更为显著,尤其是在Raspberry Pi 5上,T-MAC针对3B BitNet-b1.58也能达到每秒11个token的生成速率。同时,T-MAC在功耗方面也表现出优势,核心数需求仅为原始llama.cpp的1/4至1/6,降低了能耗并为其他应用留出计算资源。
值得注意的是,T-MAC的计算性能随比特数降低呈线性提高,这一特性在基于反量化的GPU和NPU中难以观察到。这使得T-MAC能够在2比特下实现单核每秒10个token,四核每秒28个token的性能,大大超越了NPU。
T-MAC的技术细节包括矩阵乘法的革新,无需乘法,仅需查表,以及以比特为核心的计算策略,取代了以数据类型为核心的计算方式。这一策略简化了不同激活和权重位宽组合下的计算内核设计,并提高了计算效率。
通过深入研究基于查找表的计算数据流,微软亚洲研究院的团队设计了一系列高效的数据结构和计算流程,包括优化查找表存入片上内存、调整矩阵轴计算顺序以提升数据重用率、为查找表设计最优矩阵分块方式、优化参数布局等措施。这些优化使得T-MAC相对于SOTA低比特算子获得了显著加速。
T-MAC现已开源,相关论文已在arXiv上发表,有兴趣的读者可以进一步了解。
.png)

-
2025-07-20 12:02:31
-
2025-07-20 10:03:13
-
2025-07-20 10:02:01