LLM.int8()——自适应混合精度量化方法
创始人
2024-03-18 03:43:47
0

Paper地址:https://arxiv.org/abs/2208.07339

GitHub链接:GitHub - TimDettmers/bitsandbytes: 8-bit CUDA functions for PyTorch

随着模型参数规模的增加,大模型(如GPT-3,OPT-175B等NLP稠密大模型)的实际部署应用,需要消耗一定的计算/存储资源,且推理响应延迟存在限制,例如:基于Triton的分布式并行推理,OPT-175B部署在8张A100设备上时,推理延迟约400ms(Batch size=1)。

模型量化是实现模型压缩与推理加速的常用技术手段,但由于大模型本身巨大的参数规模,首先权重矩阵与特征张量的维度都很高,对权重与特征都直接采用Per-tensor量化会造成较大的估计失偏,无法较好还原实际的数据分布。其次,异常值(Outliers)对模型量化后的预测精度也会造成很大影响,当NLP稠密大模型的参数规模在6.7B时,尽管异常值的占比仅占0.1%,但将这些异常值都置零,会直接导致预测精度劣化20%。

如上图所示,本文提出的自适应混合精度量化方法(命名为LLM.int8,是一种训练后量化方法),通过将Vector-wise量化混合精度分解(Mixed-precision Decomposition Scheme)相结合,能够有效的分区域设置量化分辨率,并消除异常值对模型量化带来的负面影响:

  • Vector-wise量化:将特征与权重分别按行与列,划分为不同的Vector区域,各自计算量化参数。将特征与权重转换为INT8整数后,量化计算过程执行Inner-product,输出INT32乘累加结果(INT8->INT32);反量化计算过程执行Outer-product,将INT32结果还原为FP16精度(INT32->FP16)。具体如下(采用对称量化形式):

  •  混合精度分解:对于异常值所在区域(Vector-wise area),按FP16数值精度执行Inner-product,计算结果累加到Vector-wise量化结果:

 通过自适应混合精度量化,能有效提升大模型的量化精度保持效果,并减少推理部署的资源成本:

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...