你的位置:九游娱乐(中国)有限公司-官方网站 > 资讯 >
PACMAN实验室 投稿
量子位 | 公众号 QbitAI
一键部署LLM混杂精度推理,端到端浑沌比AWQ最大进步6倍!
清华大学策动机系PACMAN实验室发布开源混杂精度推理系统——MixQ。
MixQ撑抓8比特和4比特混杂精度推理,可杀青近无损的量化部署并进步推理的浑沌。
△图1 MixQ浑沌与已有开源使命相比
MixQ同期量化权重和激活,使用低精度张量中枢(INT8/INT4 Tensor Core)杀青推理加快;同期,MixQ索要激活中少许的离群值,使用高精度张量中枢(FP16 Tensor Core)保抓推理准确性,通过系统优化掩盖高精度访存支拨。
不仅保抓推理的准确性,况兼通过使用低精度算力有用进步浑沌,充分阐扬硬件策动后劲(图1)。
同期,磋议团队提供了基于VLLM和Tensorrt-LLM的混杂精度推理,用户不错苟简地一键部署模子。
△图2 使用VLLM一键部署4比特和8比特混杂精度量化并推理
MixQ已撑抓多个主流大模子LLaMA3,Qwen2,Baichuan2,ChatGLM等。据了解,目下MixQ开源技能已被清程极智等AI行业公司诈欺在践诺家具中。
该使命同期于高性能策动规模顶级海外会议SC’24发表,第一作家清华大学博士后陈逸东、通信作家为翟季冬讲解。
磋议布景:已有量化技能追忆
量化的主要技能阶梯有两条,第一条是权分量化。
权分量化的表面加快比是16/量化的比特数。举例,将模子压缩成为4bit,那么表面加快比为16/4=4倍。
计议词,当劳动商濒临大齐的用户同期走访时,权分量化的系统浑沌会低于FP16的浑沌,其主要原因是权分量化策动流程中将低精度权访佛原成FP16然后策动,这导致权分量化并不使用低精度算力,赶紧景弘扬为compute bound的时候,性能较低。
△图3 用户肯求多权分量化浑沌低于FP16
第二条技能阶梯是量化权重和激活,使用低精度的张量中枢来进步系统的浑沌。
径直将激活量化为低比特可能会出现较大的精度亏蚀。其原因在于激活矩阵中存在离群值(图4)。
一个有用的要领是SmoothQuant,主要念念想是通过平滑激活矩阵来镌汰量化激活的罪状。
△图4 激活矩阵中存在离群值
混杂精度量化则是一类全新的量化要领,该决议先作念了一个矩阵理解,对绝大部均权重和激活用低比特存储,将离群值用FP16存储,分裂作念矩阵乘法。
△图5 混杂精度量化暗意图
混杂精度量化的一个上风便是不错杀青近乎无损精度的量化。使用混杂精度量化的LlaMA模子在MMLU 20个规模上的数据集进行推理准确率测试标明,摄取8bit混杂精度量化后的准确率下落不到0.1%:
△图6 混杂精度量化分类准确率
不外,此前已有的混杂精度量化的系统的性能普遍不高,主要瓶颈在针对离群点进行查找、访存和策动的支拨占比大。
以混杂精度库Bitsandbytes为例,实测试标明,Bitsandbytes在用户肯求数目为512时仅有1.08倍的加快。
△图7 Bitsandbytes的在LLaMA70B上的Kernel性能测试
△图8 Atomic operator是混杂精度推理系统的瓶颈之一
那么,何如优化对离群点的查找、访存和策动的支拨呢?
MixQ的贬责决议MixQ的中枢念念想是基于离群点的局部性对混杂精度的策动图作念等价变换,使得变换后的混杂精度的策动图不错幸免离群点查找的特地支拨;在此基础上,通过图层和会和遐想高效的混杂精度数据结构镌汰访存支拨;终末通过CUTLASS生成高性能的混杂精度算子,达到进步系统性能的恶果。
MixQ的遐想基于以下的不雅察:
离群点的局部性。对LLM的激活矩阵分析发现,在不同的decode阶段的离群点的散布是有设施的。
如图9,红色的点线路的是第一次出现的离群点,绿色的点线路的是访佛出现的离群点,跟着decode的进行,多数离群点出当今了固定的channel。
△图9 decode阶段离群点的散布设施
因此,磋议东谈主员取得一个广宽的论断:在大部分的decode阶段是不需要访佛检测离群点的,也便是说咱们不错幸免查抄离群点的支拨。
剩下的问题是,何如知谈哪些时候不需要访佛查抄离群点呢?这个谜底就粉饰在量化总共中。
在量化的流程中需要对矩阵进行amax的操作。因此,通过amax取得的截止不错判断矩阵中是否存在离群点。如amax的值大于阈值,那矩阵中存在离群点。反之则不存在。
更广宽的是,amax操作不错和前一个操作和会。这么不仅以极低的代价检测离群点的存在,还通过对图层进行和会来镌汰量化的支拨。
基于以上的分析,MixQ的遐想使用了三个要道技能:
一是对策动图的等价变换。
针对混杂精度的策动逻辑进行了等价变换以后,通过策动激活矩阵的amax的值,幸免了检测离群点的支拨。
△图10 优化混杂精度的策动逻辑
二是遐想混杂精度数据结构。
MixQ将离群点“拼接”成了一个新的矩阵。这一要领相较于ATOM摄取的重成列(reorder)具有更低的支拨。
△图11 MixQ:order-reserved数据结构
三是使用CUTLASS编写高性能的混杂精度的算子,这一要道技能的杀青依赖于NVIDIA提供的高性能矩阵乘法模板CUTLASS 3.x。
MixQ在寄存器中反量化低精度的策动截止并与高精度的截止进行相加。
△图12 和会dequantize、scale和add操作
底下来看MixQ的实验截止,以LLaMA 70B为例。
在准确率弘扬方面,MixQ的准确率和Bitsandbytes一致。
△图13 MixQ的推理精度
在性能弘扬方面,MixQ 8bit kernel是Bitsandbytes的1.9倍。
MixQ 4bit Kernel的性能达724TFLOPs,是FP16的3.13倍。
△图14 MixQ Kernel性能
端到端测试下,MixQ在batch=512相对Bitsandbytes和AWQ加快1.78和6倍。
△图15 多batch测试;上:MIXQ的推理输出(19.21it/s);下:FP16的推理输出 (13.56it/s)
边幅地址:[1]https://github.com/Qcompiler/MixQ_Tensorrt_LLM[2]https://github.com/Qcompiler/MIXQ[3]https://github.com/Qcompiler/vllm-mixed-precision
— 完 —
量子位 QbitAI · 头条号签约
宥恕咱们,第一时间获知前沿科技动态
热点资讯
相关资讯