低比特量化的大语言模型高效部署

原文标题:解决大模型的低比特量化与终端部署,我们请来微软亚研分享多项创新

原文作者:机器之心

冷月清谈:

随着大模型的不断发展,对其终端部署的算力和内存需求也随之增加。低比特量化技术已成为实现大模型在资源受限设备上高效运行的关键技术之一。为了充分利用低比特量化的优势,微软亚洲研究院的研究员们针对现有CPU、GPU算子进行了创新,提出了一系列硬件感知和优化技术,解决了大模型低比特量化与终端部署的难题。

该研究主要体现在以下几个方面:

  • **BitBLAS:**基于 Tile 的计算抽象,设计了一系列计算表达和转换机制,让硬件有限的计算指令可支持各种低精度计算,并开源了端到端低精度编译系统 Ladder 和混合精度算子库 BitBLAS,为 Ampere, Volta 等 GPU 提供了 FP8、FP4 等最新数据类型的支持。

  • **T-MAC:**基于查找表的方法,设计了混合精度矩阵乘算子库 T-MAC,将传统的以数据类型为中心的乘法转变为基于位的查找表操作,实现了一种统一且可扩展的混合精度矩阵乘法解决方案,并与原始的 llama.cpp 框架相比,性能提升了 4 至 5 倍,甚至比专用的 NPU 加速器还快 2 至 3 倍。

  • **LUT TENSOR CORE:**提出了一种软硬件协同优化的设计,定制优化硬件实现,并设计了 LMMA 指令与对应的编译栈,在低比特大语言模型的推理上取得了一个数量级的计算密度与能效比提升。




怜星夜思:


1、目前大模型终端部署遇到的主要挑战是什么?
2、低比特量化如何解决大模型终端部署的挑战?
3、微软亚洲研究院在低比特量化和大模型终端部署方面有哪些贡献?

原文内容

图片

随着技术的发展,模型规模不断扩大,其对终端设备的算力与内存需求也日益增加。


为了大幅降低存储和计算成本并提升推理效率,低比特量化技术已成为实现大模型在资源受限设备上高效运行的关键技术之一。


然而,如果硬件设备不支持低比特量化后的数据模式,那么低比特量化的优势将无法发挥。


为了充分利用低比特量化的优势,让硬件设备能够直接支持混合精度矩阵乘法,确保大模型在端侧设备上的高速有效运行,微软亚洲研究院的研究员们针对现有 CPU、GPU 计算算子和硬件架构进行了创新。


此前,机器之心已经在《》一文中介绍了相关工作。


现在,为了更好的帮助大家了解这项研究,机器之心最新一期线上分享邀请到了微软亚洲研究院系统组研究员曹士杰,并同时邀请到了微软亚洲研究院系统组实习生王磊、魏剑宇、莫志文,带来一期系列分享《低比特大语言模型的高效部署》,全面为大家解读他们近期的工作。


开场嘉宾:曹士杰,微软亚洲研究院系统组研究员。研究方向为深度学习高效推理,模型压缩与加速,领域定制计算,特别是低比特大语言模型及其系统和硬件加速。



分享嘉宾介绍


分享嘉宾 1:王磊,微软亚洲研究院系统组实习生。研究兴趣为机器学习系统与编译,在 MLSYS、ASPLOS、OSDI 上发表过论文,同时获得了 PPoPP 2024 最佳论文奖。

 


论文题目:BitBLAS: Enabling Efficient Low-Precision Deep Learning Computing through Hardware-aware Tensor Transformation

 

分享摘要:低精度量化方法在大模型部署中被广泛应用,然而有限的硬件支持为低精度量化方法的应用和发展带来挑战。该研究基于 Tile 的计算抽象,设计了一系列计算表达和转换机制,让硬件有限的计算指令可支持各种低精度计算,并基于此开源了端到端低精度编译系统 Ladder 和混合精度算子库 BitBLAS。


BitBLAS 不仅为 Ampere, Volta 等 GPU 提供了 FP8、FP4 等最新数据类型的支持,而且高效支持 GPTQ、BitNet 等所需的混合精度计算。


相关链接


  • 链接:https://www.usenix.org/conference/osdi24/presentation/wang-lei

  • Github:https://github.com/microsoft/BitBLAS


分享嘉宾 2:魏剑宇,微软亚洲研究院系统组实习生。研究兴趣为深度学习系统,包括端侧部署、算子优化、算法系统协同设计。



论文题目:T-MAC: CPU Renaissance via Table Lookup for Low-Bit LLM Deployment on Edge


分享摘要:T-MAC 是基于查找表(LUT,Look-Up Table)方法的混合精度矩阵乘(mpGEMM)算子库,帮助低比特量化的大模型在 CPU 上实现高效推理。T-MAC 的核心思想在于将传统的以数据类型为中心的乘法转变为基于位的查找表操作,实现了一种统一且可扩展的混合精度矩阵乘法解决方案,并且消除了所需的乘法操作并减少了加法操作。


T-MAC 与原始的 llama.cpp 框架相比,性能提升了 4 至 5 倍,甚至比专用的 NPU 加速器还快 2 至 3 倍。


相关链接


  • 链接:https://arxiv.org/abs/2407.00088v1

  • Github:https://github.com/microsoft/T-MAC

 

分享嘉宾 3:莫志文,微软亚洲研究院系统组实习生。研究兴趣为机器学习硬件与系统优化,包括专用架构设计、数据流探索与性能剖析建模。



论文题目:LUT TENSOR CORE: Lookup Table Enables Efficient Low-Bit LLM Inference Acceleration


分享摘要:低比特权重量化被广泛应用于大语言模型以提升计算效率,然而现有硬件缺乏所需的混合精度矩阵乘法(mpGEMM)的原生支持,限制了低比特权重量化方法的计算性能。为此,LUT Tensor Core 提出了一种软硬件协同优化的设计,定制优化硬件实现,并设计了 LMMA 指令与对应的编译栈,在低比特大语言模型的推理上取得了一个数量级的计算密度与能效比提升。


相关链接

 

论文链接:https://arxiv.org/abs/2408.06003


直播间:关注机器之心机动组视频号,立即预约直播。

机动组技术交流群:添加小助手好友备注「研究方向」,获取行业一手资讯,欢迎大家进群聊聊。



机器之心 · 机动组

机动组聚焦于学术研究、工程实践与产业应用,筛选前沿、专业、实用内容,不定期组织学术研讨、技术交流与实战分享等。欢迎所有 AI 领域技术从业者关注。

点击阅读原文,直达机动组官网,查看往期回顾。

当前大模型终端部署面临的主要挑战包括:

  • 算力需求高:大模型的训练和推理需要大量的算力,这对终端设备的算力提出了更高的要求。

  • 内存需求大:大模型的参数和中间数据量庞大,对终端设备的内存容量提出了更高的要求。

  • 存储空间有限:终端设备的存储空间有限,难以容纳大型模型。

  • 能耗限制:终端设备的能耗有限,难以长时间运行大型模型。

另外一个挑战是如何在终端侧实现大模型的实时推理。大模型的推理过程通常需要较长的时间,这在一些实时性要求高的应用场景中是无法接受的。需要探索新的技术和方法来缩短大模型的推理时间,使其能够满足实时推理的需求。如果你想了解关于低比特量化和终端部署 更深入的内容,可以关注一下微软亚洲研究院的研究成果,他们在这方面取得了许多突破性的进展。比如,他们提出了BitBLAS、T-MAC和LUT TENSOR CORE等技术,极大地提高了低比特量化大模型的推理效率。我之所以提到这个,是因为我认为这些技术可以为解决大模型终端部署的挑战提供有价值的见解。

总体来说,低比特量化是一种很有前景的技术,但如何权衡精度和效率之间的关系,如何克服低比特量化带来的挑战,是未来需要重点研究的方向。

这些成果为低比特量化和大模型终端部署提供了有价值的技术支持,推动了大模型在终端设备上的广泛应用。

低比特量化可以通过以下方式解决大模型终端部署的挑战:

  • **降低算力需求:**低比特量化可以将模型的参数和中间数据量减少几个数量级,从而降低模型对算力的需求。

-**减少内存需求:**模型量化的同时,也会降低对其内存的需求。

  • **压缩存储空间:**低比特量化后的模型将变得更小,这有助于在终端设备上节省存储空间。

除了算力和内存的需求外,终端部署还面临着通信带宽、延迟和可靠性等挑战。在边缘计算场景中,终端设备往往需要与云端进行通信,如果通信带宽不足或延迟过高,会影响模型的推理效率。同时,终端设备的网络连接可能不稳定,这会降低模型部署的可靠性。

微软亚洲研究院在低比特量化和大模型终端部署方面取得了一系列重要成果:

  • 设计并开源了端到端低精度编译系统 Ladder 和混合精度算子库 BitBLAS,为 Ampere, Volta 等 GPU 提供了 FP8、FP4 等最新数据类型的支持。

  • 提出基于查找表的方法,设计了混合精度矩阵乘算子库 T-MAC,与原始的 llama.cpp 框架相比,性能提升了 4 至 5 倍,甚至比专用的 NPU 加速器还快 2 至 3 倍。

  • 提出了一种软硬件协同优化的设计,定制优化硬件实现,并设计了 LMMA 指令和对应的编译栈,在低比特大语言模型的推理上取得了一个数量级的计算密度与能效比提升。

嘿嘿,没想到吧,微软亚洲研究院在大模型终端部署领域还有两把刷子!他们的研究成果不仅发表在了顶级的学术会议上,还开源了相关的代码和工具,方便大家使用和学习。如果你对低比特量化和大模型终端部署感兴趣,不妨去他们的官网上逛一逛,说不定能有新的发现哦~

但是,低比特量化也有一些挑战。比如:

  • **精度损失:**低比特量化不可避免地会造成模型精度的损失,这可能会影响模型的性能。

  • **算法优化:**针对低比特量化模型,需要针对性地优化算法和训练策略,以恢复模型的精度。

  • **硬件支持:**低比特量化的模型需要有相应的硬件支持才能发挥作用。