近年来,随着大模型的广泛应用,如何在资源受限的边缘设备上高效部署这些模型成为了研究者们关注的焦点。为了解决这个问题,来自Jianyu Wei等人的最新研究成果——T-MAC,为我们带来了新的思路和解决方案。
T-MAC(Table Lookup for Low-Bit LLM Deployment on Edge)是一种基于查表(LUT)的方法,旨在提高低位宽大语言模型(LLM)在CPU上的推理效率。该方法的提出,源于研究人员对现有系统的观察和思考。
在传统的大模型部署方案中,权重量化是减少模型内存占用的关键技术。然而,对于低位宽的模型来说,在推理过程中需要进行混合精度矩阵乘法(mpGEMM),即将低精度权重与高精度激活值相乘。由于现有系统缺乏对mpGEMM的原生支持,通常需要先将权重进行解量化,再进行高精度计算。这种间接的方式会导致显著的推理开销。
为了解决这个问题,T-MAC提出了一种创新的解决方案。它通过将传统的数据类型中心乘法转化为位级查表,直接支持了mpGEMM,而无需解量化。同时,T-MAC还消除了乘法运算,并减少了所需的加法运算。这种基于查表的方法使得T-MAC能够线性地扩展到权重的位宽,从而提高了计算的效率和可扩展性。
研究人员在低位宽的Llama和BitNet模型上对T-MAC进行了评估。结果显示,与现有的llama.cpp实现相比,T-MAC在吞吐量上提高了4倍,在能耗上减少了70%。具体来说,对于BitNet-b1.58-3B模型,T-MAC在M2-Ultra上使用单个核心实现了30 tokens/s的生成吞吐量,使用8个核心实现了71 tokens/s的吞吐量;而在资源受限的设备如Raspberry Pi 5上,T-MAC也实现了11 tokens/s的吞吐量,这已经超过了成年人的平均阅读速度。
这些结果表明,T-MAC为在资源受限的边缘设备上部署低位宽大模型提供了一种高效的解决方案。它不仅提高了计算的吞吐量和能效,还使得大模型的部署更加接近实际应用场景。
然而,T-MAC也存在一些潜在的挑战和限制。首先,由于T-MAC是基于查表的方法,它可能需要更多的内存来存储查表数据,这可能会对资源受限的设备造成一定的压力。其次,T-MAC的实现可能需要对现有的硬件和软件进行一定的修改和适配,这可能会增加部署的复杂性和成本。
T-MAC 论文链接:https://arxiv.org/abs/2407.00088