“大模型压缩神器”?十亿参数,一键瘦身!狂掉75%

作者:英特尔公司 

陆崟彤 何欣 郭恒 程文华 王畅 王梦妮 沈海豪 

编辑:新智元

本文介绍了可提升大语言模型的训练后量化表现的增强型 SmoothQuant 技术,说明了这项技术的用法,并证明了其在准确率方面的优势。此方法已整合至英特尔® Neural Compressor(1) 中。

英特尔® Neural Compressor 是一个包含量化、剪枝(稀疏性)、蒸馏(知识提炼)和神经架构搜索等多种常用模型压缩技术的开源 Python 库。

目前,诸如 TensorFlow、英特尔® Extension for TensorFlow(2)、PyTorch、英特尔® Extension for PyTorch(3)、ONNX Runtime 和 MXNet等主流框架,都能与之兼容。

英特尔® Neural Compressor 已经支持多款英特尔® 架构的硬件,比如英特尔® 至强® 可扩展处理器(4)、英特尔® 至强® CPU Max 系列(5) 、英特尔® 数据中心 GPU Flex 系列(6) 和英特尔® 数据中心 GPU Max 系列(7)

本文涉及的实验基于第四代英特尔® 至强® 可扩展处理器(8) 进行。

大语言模型

大语言模型 (Large Language Model, LLM) 需基于海量数据集进行训练,可能拥有数十亿权重参数。

其先进的网络结构和庞大的参数量,使它们能够很好地应对自然语言本身的复杂性。

完成训练后的大语言模型,可针对各种下游的自然语言处理 (NLP) 和自然语言生成 (NLG) 任务进行调优,让其更适合对话式聊天机器人(如 ChatGPT)、机器翻译、文本分类、欺诈检测和情感分析等任务场景。

大语言模型部署面临的挑战

大语言模型在执行自然语言处理和自然语言生成任务方面表现出色,但其训练和部署颇为复杂,主要面临以下挑战:

  • AI 与内存墙(9) 瓶颈问题:算力每两年提高 3.1 倍,内存带宽却只提高 1.4 倍;

  • 网络带宽挑战:训练大语言模型需要采用分布式系统,这对网络带宽提出了较高要求;

  • 系统资源有限:训练后的模型往往会部署在算力和内存资源均有限的系统上。

因此,采用训练后量化的方法来为大语言模型瘦身,对于实现低时延推理至关重要。

大语言模型的量化

量化是一种常见的压缩操作,可以减少模型占用的内存空间,提高推理性能。采用量化方法可以降低大语言模型部署的难度。具体来说,量化是将浮点矩阵转换为整数矩阵:

ad77ab85e4fc59db066042af97a73e1c.png

其中 X_fp32、S 和 Z 分别为输入矩阵、比例因子和整数零点。

有关每通道 (per-channel) 量化策略虽然可能会减少量化损失,但不能用于激活值量化的原因,请参看 SmoothQuant 相关文档(10) 。

不过,激活值量化误差损失却是导致模型量化准确率下降的重要因素。为此,人们提出了很多方法来降低激活值量化损失,例如:SPIQ(11) 、Outlier Suppression(12) 和 SmoothQuant(13) 。

这三种方法思路相似,即把激活值量化的难度转移到权重量化上,只是三者在转移难度的多少上有所不同。

增强型 SmoothQuant

SmoothQuant 引入了一个超参数 α 作为平滑因子来计算每个通道的量化比例因子,并平衡激活值和权重的量化难度。

e169aa98199e0620533e6efe13765c7b.png

其中 j 是输入通道索引。

43a3eed59f33eb478622157626ac856c.png

对于期权定价模型 (OPT) 和 BLOOM 等大多数模型来说,α=0.5 是一个能够较好实现权重和激活值量化难度分割的平衡值。

模型的激活异常值越大,就越需要使用更大的 α 值来将更多的量化难度转移到权重上。

原始的 SmoothQuant 旨在通过针对整个模型使用一个固定值 α 来分割权重和激活值的量化难度。

然而,由于激活异常值的分布不仅在不同模型之间存在差异,而且在同一模型的不同层之间也不尽相同,因此,本文推荐使用英特尔® Neural Compressor 的自动调优能力,逐层获取最佳 α 值。

相关方法包括以下五个主要步骤(伪代码如下所示):

  1. 通过特殊的回调函数 register_forward_hook 捕获 (hook) 模型各层的输入和输出值。

  2. 根据用户定义的 α 范围和步长生成一个 α 值列表。

  3. 根据给定的 α 值重新计算平滑因子并调整参数(权重值和激活值)。

  4. 对权重执行每通道量化与反量化 (quantization_dequantization),对输入值执行每张量 (per-tensor) 量化与反量化,以预测与给定 α 值对应的每层输出值。

  5. 计算相对实际输出值的均方损失,将调整后的参数恢复回来,并保存每层的最佳 α 值。

68033cd5d61d7c85c5566c9c761d1c2b.png

本文提出的方法支持用多个标准(如最小值、最大值和平均值)来确定 Transformer 块的输入层归一化 (LayerNorm) 操作的 α 值。

实验发现,将 α 范围设为 [0.3, 0.7],步长设为 0.05,对大多数模型来说都能达到很好的平衡。

这一方法有两个显著特点:一是全自动化,二是比原始方法支持的融合模式多。

下图提供了在 BLOOM-1b7 模型上执行 SmoothQuant α 值自动调优的样例代码:

ba7993eff49f57380b96766546bf55bc.png

启用增强型 SmoothQuant 的样例代码

用户只需传递一个模型名称 (model_name) 和一个数据加载器。

值得注意的是,模型分析主要依靠的是 Torch JIT。用户可以在加载 Hugging Face 模型(14) 时将 torchscript 设置为 True,或将 return_dict 设置为 False。更多信息请参阅英特尔® Neural Compressor 文档(10)

结果

本文提出的增强型 SmoothQuant 的主要优势在于提高了准确率。

经过对多种主流大语言模型的评估,具备自动调优能力的 INT8 SmoothQuant 最后一个词元 (last-token) 的预测准确率要高于原始 INT8 SmoothQuant 和 FP32 基线方法。详见下图:

a0501474e3183cb535a8a42ff861f473.png

FP32 基线方法、INT8(启用和不启用 SmoothQuant)以及 INT8(启用本文提出的增强型 SmoothQuant)的准确率对比

从上图可以看出,在 OPT-1.3b 和 BLOOM-1b7 模型上,本文提出的增强型 SmoothQuant 的准确率比默认的 SmoothQuant 分别高 5.4% 和 1.6%。

量化后的模型也缩小到 FP32 模型的四分之一,大大减少了内存占用空间,从而有效地提升大模型在英特尔® 平台上的推理性能。

更全面的结果请见 GitHub 存储库(10) 。同时,也欢迎您创建拉取请求或就 GitHub 问题(15) 发表评论。期待听到您的反馈意见和建议。

作者

英特尔公司人工智能资深架构师沈海豪、英特尔公司人工智能资深软件工程师程文华、英特尔公司人工智能软件工程师陆崟彤、何欣、郭恒、王畅、王梦妮,他们都在从事模型量化及压缩的研究与优化工作。

注释:

1. 英特尔® Neural Compressor

https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/neural-compressor.html

2. 英特尔® Extension for TensorFlow

https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/optimization-for-tensorflow.html

3. 英特尔® Extension for PyTorch

https://www.intel.cn/content/www/cn/zh/developer/tools/oneapi/optimization-for-pytorch.html

4. 英特尔® 至强® 可扩展处理器

https://www.intel.cn/content/www/cn/zh/products/details/processors/xeon/scalable.html

5. 英特尔® 至强® CPU Max 系列

https://www.intel.cn/content/www/cn/zh/products/details/processors/xeon/max-series.html

6. 英特尔® 数据中心 GPU Flex 系列

https://www.intel.cn/content/www/cn/zh/products/details/discrete-gpus/data-center-gpu/flex-series.html

7. 英特尔® 数据中心 GPU Max 系列

https://www.intel.com/content/www/us/en/products/details/discrete-gpus/data-center-gpu/max-series.html

8. 第四代英特尔® 至强® 可扩展处理器

https://www.intel.cn/content/www/cn/zh/events/accelerate-with-xeon.html

9. AI 与内存墙

https://medium.com/riselab/ai-and-memory-wall-2cb4265cb0b8

10. SmoothQuant 相关文档 / 英特尔® Neural Compressor 文档 / GitHub 存储库

https://github.com/intel/neural-compressor/blob/master/docs/source/smooth_quant.md

11. SPIQ

https://arxiv.org/abs/2203.14642

12. Outlier Suppression

https://arxiv.org/abs/2209.13325

13. SmoothQuant

https://arxiv.org/abs/2211.10438

14. Hugging Face 模型

https://huggingface.co/models

15. GitHub 问题

https://github.com/intel/neural-compressor/issues

推荐阅读

  • 西电IEEE Fellow团队出品!最新《Transformer视觉表征学习全面综述》

  • 润了!大龄码农从北京到荷兰的躺平生活(文末有福利哟!)

  • 如何做好科研?这份《科研阅读、写作与报告》PPT,手把手教你做科研

  • 奖金675万!3位科学家,斩获“中国诺贝尔奖”!

  • 又一名视觉大牛从大厂离开!阿里达摩院 XR 实验室负责人谭平离职

  • 最新 2022「深度学习视觉注意力 」研究概述,包括50种注意力机制和方法!

  • 【重磅】斯坦福李飞飞《注意力与Transformer》总结,84页ppt开放下载!

欢迎大家加入DLer-计算机视觉技术交流群!

大家好,群里会第一时间发布计算机视觉方向的前沿论文解读和交流分享,主要方向有:图像分类、Transformer、目标检测、目标跟踪、点云与语义分割、GAN、超分辨率、人脸检测与识别、动作行为与时空运动、模型压缩和量化剪枝、迁移学习、人体姿态估计等内容。

进群请备注:研究方向+学校/公司+昵称(如图像分类+上交+小明)

cbf79f7a8b76ba4f851657ca1b8d7ad2.jpeg

👆 长按识别,邀请您进群!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/13746.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文心一言满月就「上班」:企业服务生产力拉满,演示现场人挤人

鱼羊 梦晨 发自 凹非寺量子位 | 公众号 QbitAI 给AI一个月时间,能进化成什么样? 文心一言“满月”之际,百度召开技术交流会,拿出这样的成绩单: 完成4次迭代,大模型推理成本降为原来十分之一。 当然这还不够…

港联证券投资前瞻:核电订单重回历史高位 C919圆满完成商业首航

上周五,沪指盘中弱势震荡下探,午后反弹拉升,科创50指数表现强势。截至收盘,沪指涨0.35%报3212.50点,深成指涨0.12%报10909.65点,创业板指跌0.66%报2229.27点,科创50指数涨1.66%;两市…

2022年总结:笔耕不辍,遐思迩想

🎹 个人简介:大家好,我是 金鱼哥,华为云社区2022年度十佳博主,华为云云享专家,阿里云社区专家博主,CSDN运维领域新星创作者 📚个人资质:CCNA、HCNP、CSNA(网络…

写代码、写情书、写文章、做题……它啥都会

一个时代来的快,打的我们措手不及,一个红利走的也快,快的我们追赶不上,在AI的浪潮下,只有抓住了机遇,就有可能一飞冲天 你还在为苦苦询问度娘良久而难得到完整的答案而烦恼吗? 你还在为写不出好…

快速玩转 CNStack 2.0 流量防护

作者:冠钰 云原生下的服务治理 在云原生技术的演进过程中,依托云原生技术能力,形成一个可以向下管理基础设施,向上管理业务应用的技术中台,越来越成为企业期望的云原生技术落地趋势。随着云原生技术中台 CNStack 发布…

chatgpt赋能python:Python图像预处理:优化图像质量的关键

Python图像预处理:优化图像质量的关键 图像在现代社会中发挥着重要作用,无论是在数字营销、广告还是个人创意中。然而,图像素质对于它们的有效性、美观度和吸引力至关重要。Python图像预处理是数字图像处理的过程,可以帮助优化和…

视觉领域的ChatGPT,Segment Anything

一、简介 这是一个新的图像分割任务、模型和数据集。我们建立了迄今为止最大的分割数据集,其中包含了超过11M张经过授权和尊重隐私的图像,分割掩码总数达到10亿。我们的模型经过设计和训练,可以接受提示,因此可以在新的图像分布和…

关于Redis数据库,我问了ChatGPT几个问题

最近互联网刮起了一阵ChatGPT风,从程序猿、产品经理、运营再到大学生,都在跟ChatGPT对话!例如: 请帮我检查这段代码的BUG 请帮我设计一款功能像虹科VUZIX一样的智能AR眼镜 虹科Domo数据可视化工具有什么功能 帮我写一篇关于Weka并…

C语言字符串围棋盘放麦粒,围棋高手(民间)用C编写的围棋程序。

围棋高手(民间)用C编写的围棋程序。 #include void main() { int n,m,x,y,temp,j0,i0 ; printf("输入棋盘的横格数,竖格数:\n"); scanf("%d,%d",&x,&y); printf("%d,%d\n",x,y); n2*x1 ; m2*y1 ; printf("%…

一步一步实现一个完整的围棋游戏

一、画棋盘 可以理解为简单的字符画技巧:第一行、中间与最后一行不同;对于每一行,第一列,中间与最后一列不同。 画星位是有一点技巧的,重点理解这个公式的含义: ((i-4)%60 && (j-4)%60) #include…

与 ChatGPT 对战国际象棋:仅用三个月,它从完败到完胜!

【CSDN 编者按】也许将来可能会被 OpenAI 的机器人打败,但在那之前依然可以享受人类之于机器的优越感! 原文链接:https://villekuosmanen.medium.com/i-played-chess-against-chatgpt-4-and-lost-c5798a9049ca 未经授权,禁止转载&…

QQ围棋棋谱

腾讯围棋分享出来的链接: https://huanle.qq.com/act/a20170110wq/index-photo.html?type1&chess02000022001100000002020020221121000000002202022122112200002200000222111102000200020020222211200022020202211111200000122222211010120000011111210120221…

GPT-3核心成员出走打造ChatGPT最强竞品,估值50亿美元

来源:量子位 | 公众号 QbitAI 因不满老东家成为微软附庸,11名OpenAI前员工怒而出走。 如今带着“ChatGPT最强竞品”杀回战场,新公司估值50亿美元,一出手就获得3亿美元融资。 这家公司名叫Anthropic,新推出的聊天机器人…

ChatGPT 最强插件,即将开放!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 今年 3 月份时,OpenAI 正式在 ChatGPT 上集成了插件系统(Plugins),被视为其打造 AI 帝国下的第一步棋。 当时除了上线插件系统外&#xff0c…

原来GPT-4订阅后无法删除信用卡

前言 前段时间写了一篇代开Plus的文章,《ChatGPT Plus代充代开服务:解决客户需求的有效方式》今天有一网友找我代开,他没有信用卡,本着帮助友人(其实是想赚点酬劳费)精神,我就使用了自己的信用卡给对方开了,后面发现,竟然发现无法删除信用卡,这不有点尴尬了,特写此…

chatgpt赋能python:Python如何校验18位身份证号

Python如何校验18位身份证号 在中国,身份证号是每个人的唯一标识符,18位身份证号也是现行标准。但是,假如你的应用程序涉及到用户身份认证,你在处理身份证号码时必须非常小心。使用Python可以很容易地进行身份证号校验&#xff0…

这个学期,110多所高校把AI和大模型带进校园

2023 年春季学期,飞桨校园 AI Day 已登陆全国 114 所高校,为同学们提供了丰富的 AI 学习交流机会。 截至目前,超过 400 所高校的同学线上参与 AI 知识竞赛 PK ,累计 2 万余名同学参与春季 AI Day 活动,更有 65 所高校举…

Fox AI横空出世,集成了GPT 3.5,GPT4.0, Midjourney等多种先进的AI模型!

友情提示:文章虽长但句句是精华,跳着看别怪FoxGPT没帮你挣着钱!别看说的就是你。 Fox AI:https://foxgpt.club/ 在人工智能领域,Fox AI以其独特的集合式应用模式,引领着技术的新潮流。这款由广东松狐科技有限公司精心打造的产品…

飞桨AI Day落地澳门高校!助力大湾区打造产教融合新范式

为了推动大湾区建设产教融合的人工智能技术生态,加快培养助力社会经济高质量发展的复合型 AI 人才,飞桨校园 AI Day 登陆澳门,开展《AI 技术发展趋势与人才培养》主题讲座 ,邀请多位澳门科技大学及百度嘉宾,解读当下AI…