在人工智能领域,模型参数的增多往往意味着性能的提升。但随着模型规模的扩大,其对终端设备的算力与内存需求也日益增加。低比特量化技术,由于可以大幅降低存储和计算成本并提升推理效率,已成为实现大模型在资源受限设备上高效运行的关键技术之一。然而,如果硬件设备不支持低比特量化后的数据模式,那么低比特量化的优势将无法发挥。
为了解决这一问题,微软亚洲研究院推出了全新的数据编译器 Ladder 和算法 T-MAC,使当前只支持对称精度计算的硬件能够直接运行混合精度矩阵乘法。测试结果表明,Ladder 在支持 GPU 原本不支持的自定义数据类型方面,最高提速可达14.6倍;T-MAC 在搭载了最新高通 Snapdragon X Elite 芯片组的 Surface AI PC 上,使 CPU 上运行的大模型吞吐率比专用加速器 NPU 快两倍。此外,研究员们还设计了 LUT Tensor Core 硬件架构,这种精简设计使硬件能够直接支持各种低比特混合精度计算,为人工智能硬件设计提供了新思路。
大模型已经越来越多地被部署在智能手机、笔记本电脑、机器人等端侧设备上,以提供先进的智能及实时响应服务。但包含上亿参数的大模型对终端设备的内存和计算能力提出了极高的要求,也因此限制了它们的广泛应用。低比特量化技术因其能显著压缩模型规模,降低对计算资源的需求,成为了大模型在端侧部署和实现高效推理的有效手段。
随着低比特量化技术的发展,数据类型日益多样化,如 int4、int2、int1 等低比特数据,使得大模型在推理中越来越多地采用低比特权重和高比特权重计算的混合精度矩阵乘法(mixed-precision matrix multiplication,mpGEMM)。然而,现有的 CPU、GPU 等硬件计算单元通常只支持对称计算模式,并不兼容这种混合精度的矩阵乘法。
混合精度矩阵乘法与传统的矩阵乘法有何不同?
在传统的矩阵乘法中,参与运算的两端数值是对称的,例如 FP16*FP16、int8*int8。但大模型的低比特量化打破了这种对称性,使乘法的一端是高比特,另一端是低比特,例如在 1-bit 的 BitNet 模型中实现的 int8*int1 或 int8*int2,以及浮点数与整数的混合乘法 FP16*int4。
为了充分发挥低比特量化的优势,让硬件设备能够直接支持混合精度矩阵乘法,确保大模型在端侧设备上的高速有效运行,微软亚洲研究院的研究员们针对现有 CPU、GPU 计算算子和硬件架构进行创新:
- 推出了数据类型编译器 Ladder,支持各种低精度数据类型的表达和相互转换,将硬件不支持的数据类型无损转换为硬件支持的数据类型指令,在传统计算模式下,使得硬件能够支持混合精度的 DNN(深度神经网络)计算;
- 研发了全新算法 T-MAC,基于查找表(Lookup Table,LUT)的方法,实现了硬件对混合精度矩阵乘法的直接支持,软件层面,在 CPU 上的计算相比传统计算模式取得了更好的加速;
- 提出了新的硬件架构 LUT Tensor Core,为下一代人工智能硬件设计打开了新思路。