0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为千亿参数模型量身定制,最高可实现60%的稀疏化水平

AI智胜未来 来源:AI科技评论 2023-01-06 09:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为千亿参数模型量身定制,最高可实现 60% 的稀疏化水平。

自 2020 年 GPT-3 横空出世以来,ChatGPT 的爆火再一次将 GPT 家族的生成式大型语言模型带到聚光灯下,它们在各种任务中都已显示出了强大的性能。

但模型的庞大规模也带来了计算成本的上升和部署难度的增加。

比如,GPT‑175B 模型总计至少占 320GB 半精度 (FP16) 格式的存储空间,在推理时,起码需要五个 80 GB 存储空间的 A100 GPU

模型压缩(model compression)是当前使用较多的一种降低大模型计算成本的方法,但迄今为止,几乎所有现有的 GPT 压缩方法都专注于量化(quantization),即降低单个权重的数值表示的精度。

另一种模型压缩方法是剪枝(pruning),即删除网络元素,包括从单个权重(非结构化剪枝)到更高粒度的组件如权重矩阵的整行/列(结构化剪枝)。这种方法在视觉和较小规模的语言模型中很有效,但会导致精度损失,从而需要对模型进行大量再训练来恢复精度,所以遇到 GPT 这样大规模的模型时,成本就又变得过于昂贵了。虽然也有一些单次剪枝方法,无需重新训练即可压缩模型,但它们计算量太大,难以应用于具有数十亿参数的模型。

那么针对 GPT-3 这种规模的大模型,有没有一种方法能够对其作精确的剪枝、同时保持最小的精度损失且降低计算成本?

近日,来自奥地利科学技术研究所 (ISTA) 的两名研究人员 Elias Frantar 和 Dan Alistarh 合作了一项研究,首次针对 100 至 1000 亿参数的模型规模,提出了精确的单次剪枝方法 SparseGPT。

6e4226f0-8d5c-11ed-bfe3-dac502259ad0.png

论文地址:https://arxiv.org/pdf/2301.00774.pdf

SparseGPT 可以将 GPT 系列模型单次剪枝到 50% 的稀疏性,而无需任何重新训练。目前最大的公开可用的 GPT-175B 模型,只需要使用单个 GPU 在几个小时内就能实现这种剪枝。

而且,SparseGPT 还很准确,能将精度损失降到最小。比如在目前最大的开源模型 OPT‑175B 和 BLOOM‑176B 上执行SparseGPT 时,可以达到 60% 的稀疏度,同时将精度损失降到最小。

超大模型的研究近几年非常活跃,但到目前为止,还没有一个百亿参数以上的模型能够实现非常准确的高度稀疏化。

现有方法对计算成本的要求都过高,以目前最准确的训练后方法 OBC 为例,对于十亿参数模型,它需要 1 个小时以上的时间来进行压缩。已知最快的训练后方法 AdaPrune 也需要几分钟来对十亿参数模型进行剪枝,按此速度,GPT-3 规模的模型估计需要数百小时(几周)的计算。

大多数现有的剪枝方法如渐进幅度剪枝(gradual magnitude pruning),需要在剪枝步骤后进行大量的再训练以恢复准确性,而 GPT 规模的模型通常需要大量的用于训练或微调的计算量和参数调整量,这使得基于再训练的方法难以应用。因此,在 GPT 规模上应用这种渐进的剪枝方法是行不通的。

ISTA 团队的这项工作提出了 SparseGPT 方法,可以实现几个小时内在单个 GPU 上运行千亿以上参数的模型,并且足够准确,可将模型修剪到 50%-60% 的稀疏度水平,而不会大幅度降低性能。

SparseGPT 的核心是一种新的大规模近似稀疏回归算法,它可以推广到半结构化(2:4 和 4:8)模式,并且与现有的权重量化方法兼容。

6e4dce7e-8d5c-11ed-bfe3-dac502259ad0.png

图注:SparseGPT 重建算法的可视化。给定一个固定的剪枝掩码 M,使用 Hessian 逆序列(HUj )并更新这些行中位于列“右侧”的剩余权重,逐步修剪权重矩阵 W 的每一列中的权重处理。具体来说,修剪后权重(深蓝⾊)“右侧”的权重将被更新以补偿修剪错误,而未修剪的权重不会生成更新(浅蓝⾊)。

大多数现有的剪枝方法如渐进幅度剪枝(gradual magnitude pruning),需要在剪枝步骤后进行大量的再训练以恢复准确性,而 GPT 规模的模型通常需要大量的用于训练或微调的计算量和参数调整量,这使得基于再训练的方法难以应用。因此,在 GPT 规模上应用这种渐进的剪枝方法是行不通的。

SparseGPT 是针对 GPT 规模模型的后训练(post-training)方法,因为它不执行任何微调。

目前有许多量化 GPT 规模模型的后训练的方法,如 ZeroQuant、LLM.int8() 和 nuQmm 等,但由于异常特征的存在,激活量化可能会很困难。GPTQ 利用近似二阶信息将权重精确量化到 2‑4 位,适用于最大的模型,而且当它与高效的 GPU 内核相结合时,可以带来2‑5 倍的推理加速。

但由于 GPTQ 侧重于稀疏化而不是量化,因此 SparseGPT是对量化方法的补充,二者可以结合应用。

另外,除了非结构化修剪,SparseGPT 也适用于半结构化的模式,比如流行的 n:m 稀疏格式,在 Ampere NVIDIA GPU 上可以 2:4 的比例实现加速。

对 SparseGPT 压缩模型的效果进行评估后,研究人员发现,大型语言模型进行稀疏化的难度与模型大小成比例,与已有的幅度剪枝(Magnitude Pruning)方法相比,使用 SparseGPT 能够实现更高的模型稀疏化程度,同时保持最低限度的精度损失。

研究人员在 PyTorch 上中实现了 SparseGPT,并使用 HuggingFace 的 Transformers 库来处理模型和数据集,并且都在具有 80GB 内存的单个 NVIDIA A100 GPU 上进行。在这样的实验条件下,SparseGPT 可以在大约 4 小时内对 1750 亿参数的模型实现完全稀疏化。

研究人员按顺序依次稀疏 Transformer 层,这显著降低了内存需求,并且还大大提高了并行处理所有层的准确性。所有的压缩实验都是一次性进行,没有任何微调。

评估对象主要是 OPT 系列模型,包含从 1.25 亿到 1750 亿参数的一套模型,方便观察剪枝相对于模型大小的缩放表现。此外还分析了 BLOOM 的 1760 亿参数变体。

在数据集和评估指标方面,实验采用了原始 WikiText2 测试集的困惑度来评估 SparseGPT 压缩方法的准确性,同时为了增加可解释性,还使用了一些 ZeroShot 精度指标。另外,评估的重点在于稀疏模型相对于密集模型基线的准确性,而非绝对数字。

研究人员对 OPT 整个模型系列的所有线性层进行剪枝(不包括标准的嵌入和头部),分别达到 50% 的非结构化稀疏度、全 4:8 或全 2:4 的半结构化稀疏度,结果如下图。

6e5892fa-8d5c-11ed-bfe3-dac502259ad0.png

图注:OPT 模型家族在原始 WikiText2 测试集的困惑度

可见,使用幅度剪枝来压缩的模型准确性在所有尺寸上都很糟糕,而且模型越大,准确度下降得越厉害。

而使用 SparseGPT 来压缩的模型趋势不同,在 27 亿参数下,困惑度损失 < 1 point,在 660 亿参数下则是零损失。而且,与密集模型的基线相比,在模型规模非常大的情况下精度甚至还有所提高。

一个总的趋势是,较大的模型更容易稀疏化,在固定的稀疏度水平下,稀疏模型相对于密集模型的相对精度下降会随着模型大小的增加而缩小。作者推测这可能是由于它们的参数化程度更高,总体上抗噪能力也更强。

相比于密集模型基线,在最大规模下,使用 SparseGPT 将模型压缩至 4:8 和 2:4 稀疏度时,困惑度增长分别仅为 0.11 和 0.39。这样的结果意味着,我们可以在实践中实现 2 倍的加速,商用的 NVIDIA Ampere GPU 对 2:4 的稀疏度已经有了支持。

作者研究了 OPT-175B 和 BLOOM-176B 两个千亿模型的性能与使用 SparseGPT 带来的稀疏程度之间的关系,结果下图所示。

6e637dc8-8d5c-11ed-bfe3-dac502259ad0.png

图注:左图为分别使用 SparseGPT 和幅度剪枝将 OPT-175B 统一压缩至不同稀疏水平。右图为使用 SparseGPT 将整个 OPT 模型系列压缩至不同的稀疏水平。

可以看到,对于 OPT-175B 模型,幅度剪枝最多可以实现 10% 的稀疏度,紧接着就会有较大的精度损失。而 SparseGPT 在困惑度增加的下还能实现 60% 的稀疏度。

6e701326-8d5c-11ed-bfe3-dac502259ad0.png

图注:左图为分别使用 SparseGPT 和幅度剪枝将 BLOOM-176B 统一压缩至不同稀疏水平。右图为在 OPT 家族模型上 50% 稀疏度 + 4 bit 量化联合压缩 与 3-bit 的对比。

对于 BLOOM-176B 模型,尽管幅度剪枝可以达到 30% 的稀疏度而没有显著的精度损失,但相比之下,SparseGPT 可以实现 50% 的稀疏度,即 1.66 倍的提升。而且,在 80% 的稀疏度下,使用 SparseGPT 压缩的模型的困惑度仍然保持在合理水平,但幅度剪枝在达到 OPT 的 40% 稀疏度和 BLOOM 的 60% 稀疏度时,困惑度就已经 > 100。

另外,SparseGPT 能够从这些模型中移除大约 1000 亿个权重,对模型准确性的影响有限。

最后总结一下,该研究首次表明,基于 Transformer 的大规模预训练模型可以通过一次性权重修剪压缩到高稀疏性,无需任何再训练,精度损失也很低。

值得注意的是,SparseGPT 的方法是局部的:在每个修剪步骤之后,它都会执行权重更新,旨在保留每一层的输入输出关系,这些更新是在没有任何全局梯度信息的情况下计算的。因此,大规模 GPT 模型的高度参数化似乎使这种方法能够直接识别密集预训练模型“近邻”中的稀疏精确模型。

另外,由于实验所采用的的准确度指标(困惑度)非常敏感,因此生成的稀疏模型输出似乎与密集模型的输出密切相关。

这项研究在缓解大模型的算力限制方面具有很大的积极意义,将来的一个工作方向是研究大模型的微调机制来进一步恢复精度,同时,扩大 SparseGPT 的方法在模型训练期间的适用性,将会减少训练大模型的计算成本。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4760

    浏览量

    97139
  • 模型
    +关注

    关注

    1

    文章

    3648

    浏览量

    51710
  • 数据集
    +关注

    关注

    4

    文章

    1230

    浏览量

    26046

原文标题:首个千亿模型压缩算法 SparseGPT 来了,降低算力成本的同时保持高精度

文章出处:【微信号:AI智胜未来,微信公众号:AI智胜未来】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    定制灌封胶_特殊场景灌封胶定制服务流程与案例

    什么是灌封胶定制? 灌封胶定制是指根据客户具体的应用场景、工作环境、性能要求(如耐温、耐腐蚀、耐老化、导热、阻燃等)以及产品结构,量身
    的头像 发表于 11-25 01:21 111次阅读
    <b class='flag-5'>定制</b>灌封胶_特殊场景灌封胶<b class='flag-5'>定制</b><b class='flag-5'>化</b>服务流程与案例

    【内测活动同步开启】这么小?这么强?新一代大模型MCP开发板来啦!

    噪,无惧嘈杂环境 云端接入小聆AI,轻松实现个性定制 搭载领先大模型全链路技术:小聆AI 智能语音交互方案 集成情绪感知与表达 :支持情感发音人;支持声音复刻,
    发表于 09-25 11:47

    ‌Groq LPU 如何让万亿参数模型「飞」起来?揭秘 Kimi K2 40 倍提速背后的黑科技

    Groq LPU 如何让万亿参数模型「飞」起来?揭秘 Kimi K2 40 倍提速背后的黑科技‌ 最近,Moonshot AI 的千亿参数模型 ‌Kimi K2‌ 在 ‌GroqCl
    的头像 发表于 08-07 10:01 645次阅读

    请问InDTU IHDMP协议使用的CRC校验使用的什么参数模型

    InDTU IHDMP协议使用的CRC校验使用的什么参数模型
    发表于 08-06 07:57

    商汤日日新SenseNova融合模态大模型 国内首家获得最高评级的大模型

    近日,中国信息通信研究院(以下简称“中国信通院”)完成可信AI多模态大模型首轮评估。 商汤日日新SenseNova融合模态大模型在所有模型中,获得当前最高评级——4+级,并成为国内首家
    的头像 发表于 06-11 11:57 1156次阅读

    成本狂降90%!国产芯片+开源模型如何改写AI玩具规则

    成本实现更人性的体验。这种技术迭代不仅重塑了玩具的定义,更悄然重构着人与机器的关系图谱。   轻量级模型的出现,本质上是将云端大模型的智慧浓缩至终端设备的过程。以DeepSeek-R
    的头像 发表于 05-29 00:52 3631次阅读

    AI原生架构升级:RAKsmart服务器在超大规模模型训练中的算力突破

    近年来,随着千亿参数模型的崛起,AI训练对算力的需求呈现指数级增长。传统服务器架构在应对分布式训练、高并发计算和显存优化等场景时逐渐显露瓶颈。而RAKsmart超大规模模型训练提供
    的头像 发表于 04-24 09:27 612次阅读

    OpenVINO™ Toolkit中如何保持模型稀疏性?

    OpenVINO™ Toolkit 中支持的优化方法,保持模型稀疏性。
    发表于 03-06 06:47

    HFSS 自动建模工具

    因工作需求,自己写的HFSS参数自动建模工具,目前只实现了常用的四种模型定制
    发表于 02-27 17:44

    字节豆包大模型团队提出稀疏模型架构

    字节跳动豆包大模型Foundation团队近期研发出UltraMem,一种创新的稀疏模型架构,旨在解决推理过程中的访存问题,同时确保模型效果不受影响。
    的头像 发表于 02-13 15:25 1014次阅读

    字节豆包大模型团队推出UltraMem稀疏架构

    字节跳动豆包大模型Foundation团队近期在稀疏模型架构领域取得了新突破,提出了一种名为UltraMem的新型架构。这一架构通过将计算和参数解耦,成功解决了
    的头像 发表于 02-13 11:17 1060次阅读

    AI基础模型提升癌症诊断精确度,实现个性治疗方案定制

    每位患者特有的医疗数据量身定制治疗方案。 该研究的资深学者、放射肿瘤学副教授李瑞江表示:“多模态基础模型是医学 AI 研究的一个新领域。最近已经出现了一些医学领域的视觉语言基础
    的头像 发表于 02-11 09:22 1205次阅读
    AI基础<b class='flag-5'>模型</b>提升癌症诊断精确度,<b class='flag-5'>实现</b>个性<b class='flag-5'>化</b>治疗方案<b class='flag-5'>定制</b>

    SG EVO:量身定制的射频测试系统

    EVO的模块设计是其核心优势之一。这一设计使得系统能够灵活适应多样的应用场景。用户可以根据设备测试(DUT)的具体需求,自由选择系统的尺寸、频段和定位器,以确保完美匹配DUT的重量和特性。这种高度的定制
    的头像 发表于 01-02 11:40 1060次阅读

    AI模型部署边缘设备的奇妙之旅:目标检测模型

    ,PReLU仍然能够在正输入区域促进稀疏激活,这对模型的学习是有利的。 缺点 增加模型复杂度:由于引入了额外的可学习参数 α,这增加了模型
    发表于 12-19 14:33

    阶跃星辰发布国内首个千亿参数端到端语音大模型

    近日,阶跃星辰在官方公众号上宣布了一项重大突破——推出Step-1o千亿参数端到端语音大模型。该模型被誉为“国内首个千亿
    的头像 发表于 12-17 13:43 1056次阅读