一文读懂剪枝(Pruner):大模型也需要“减减肥”?百合树AI写作

当你听到「剪枝」二字,或许会联想到园丁修整枝叶的情景。而在AI大模型领域,这个词有着特殊的含义——它是一种通过“精简”来提升大模型效率的关键技术。随着GPT、LLaMA等大模型规模的持续膨胀,如何在保持性能的同时降低资源消耗,已成为亟待解决的难题。本文将揭示大模型剪枝技术的原理与发展,带你一次性读懂剪枝。

作者|谭帅

当今大模型的“身躯”越来越庞大,对资源的需求也日益增加。如LLaMA3.1,且不说其训练算力高达24000块H100,训练数据量高达15Ttokens(Qwen2.5在18Ttokens的数据集上进行了预训练,成为目前训练数据最多的开源大模型),单看表1和表2中LLaMA3.1在推理和微调时的内存需求,对普通用户而言就是难以承受之重。这些庞大的需求不仅对硬件资源提出了极高的要求,也限制了模型的可扩展性和实用性。大模型剪枝技术通过减少模型中的参数数量,旨在降低这些需求,同时尽量保持模型的性能。

表1LLaMA3.1推理内存需求(不包括KV缓存)

表2LLaMA3.1微调内存需求

剪枝“流派”的开山鼻祖是图灵奖得主、深度学习“三巨头”之一YannLeCun,他在1989年NeurIPS会议上发表的《OptimalBrainDamage》[1]是第一篇剪枝工作。后来剪枝“流派”逐渐开枝散叶,如今可主要分为两大类:非结构化剪枝和结构化剪枝。非结构化剪枝通过移除单个权重或神经元得到稀疏权重矩阵,这种方法易于实现且性能指标较高,但需要专门的硬件或软件支持来加速模型;结构化剪枝通过去除基于特定规则的连接来实现,如层级剪枝、块级剪枝等,这种方法不需要专门的软硬件支持,但算法更为复杂。

权重向量级别的重要性公式如下所示,代表每个神经元的权重向量,H是Hessian矩阵,表示next-tokenpredictionloss。一般来说由于模型在训练数据集上已经收敛,即,所以一阶项通常为0。然而,由于LLM-Pruner所用数据集D并不是原始训练数据,故。同时,由于Hessian矩阵的计算复杂度过高,所以只计算了一阶项。

单个参数级别的重要性公式如下所示,内的每个参数都被独立地评估其重要性,其中Hessian矩阵用Fisher信息矩阵进行了近似。在LLM-Pruner的源码中,这两个公式被如图3所示的代码片段表示。

图3评估重要性的源码

最后,通过对每组内权重向量或参数的重要性进行累加/累乘/取最大值/取最后一层值,就得到了每组的重要性,再按剪枝率剪去重要性低的组即可。

①在模型的特定层中用Wd×k+ΔWd×k替换原有的权重矩阵Wd×k,并把矩阵Wd×k分解成降维矩阵Ad×r和升维矩阵Br×k,r<

②将A随机高斯初始化,B置为0,冻结预训练模型的参数W,只训练矩阵A和矩阵B。

③训练完成后,将B矩阵与A矩阵相乘再与矩阵W相加,作为微调后的模型参数。

图4LoRA基本步骤

根据表3的实验结果,剪枝20%后,模型的性能为原模型的89.8%,经过LoRA微调后,性能可提升至原模型的94.97%。在大多数数据集上,剪枝后的5.4BLLaMA甚至优于ChatGLM-6B,所以如果需要一个具有定制尺寸的更小的模型,理论上用LLM-Pruner剪枝一个比再训练一个成本更低效果更好。

然而,根据表4的数据显示,剪枝50%后模型表现并不理想,LoRA微调后综合指标也仅为原模型77.44%,性能下降幅度较大。如何进行高剪枝率的大模型结构化剪枝,仍是一个具有挑战性的问题。

THE END
1.模拟试题第六套及答案解析新浪教育23.北京农业大学的教授在河北省推广柿树剪枝技术时,为了说服当地的群众,教授把一块柿树园一劈为二,除自然条件相同外,其他的条件包括施肥、灭虫、浇水、除草等也都相同,其中的一块柿树剪枝,而另一块不剪枝。到收获季节,剪枝的一块柿子的产量比不剪枝的多三成以上。这下农民信服了,先进的剪枝技术很快地推广开来。 https://edu.sina.com.cn/exam/2006-10-08/140856290.html
2.(六)从零开始学人工智能搜索:对抗搜索在这里,我们借用剪枝技术消除搜索树的很大一部分,应用到一棵标准的极小极大值树上,它剪裁掉那些不可能影响最后决策的分支,仍然可以返回和极小极大值算法同样的结果。 我们先来理解一下,怎么样的搜索是没有必要的,假设我们限定了搜索深度为3,我们从头开始搜索,如下: ...https://www.jianshu.com/p/f48e0191c2ee
3.说法错误的是:()A.αα-β剪枝使用到了宽度优先算法 B. Alpha Go问世,将深度学习、价值网络、蒙特卡洛树搜索技术融合,战胜人类顶尖棋手 C. α-β剪枝在很长一段时间里都是棋类算法的代表,取得一系列成就 D. 蒙特卡洛树搜索”方式,以“信心上限决策”打分,使计算机围棋能力得到质的提升。为后续方法奠定基础 点击查看答案进入小程序搜...https://m.ppkao.com/wangke/daan/97f2a2f807b043468e1bcd845afd67aa
1.深度学习中的剪枝算法以及具体应用嘲稀疏剪枝深度学习中的剪枝(Pruning)算法是一种通过减少神经网络中不重要或冗余部分来提升计算效率和减少模型尺寸的技术。剪枝不仅可以提高模型的推理速度,还能降低内存占用,特别是在资源受限的环境中,如移动设备或嵌入式设备。剪枝的核心思想是“去除”对模型输出影响较小的参数(如权重、神经元等),从而优化网络结构。 https://blog.csdn.net/m0_45276337/article/details/143588383
2.剪枝java是啥意思什么是剪枝算法小鱼儿的技术博客剪枝优化 剪枝算法概述 基本概念: 在搜索算法中优化中,剪枝,就是通过某种判断,避免一些不必要的遍历过程,形象的说,就是剪去了搜索树中的某些“枝条”,故称剪枝。应用剪枝优化的核心问题是设计剪枝判断方法,即确定哪些枝条应当舍弃,哪些枝条应当保留的方法。 https://blog.51cto.com/u_12205/11088448
3.一年两茬茄子是怎么种出来的?2018~2020年种什么品种好?掌握这些...剪枝再生技术夏季高温季节,正值露地茄子大量上市,大棚越冬茄子开始出现生长不良、产量降低、品质不佳,市场价格快速下跌。按照“预防为主,综合防治”的植保方针,坚持以“农业防 茄子是餐桌上比较常见的一种蔬菜,因营养价值高且价格便宜而被广泛食用,目前大部分地区都有种植,而在种植的区域中,大部分地区都是一年一茬,...https://nync.guiyang.gov.cn/xwdt/kjzc/202002/t20200220_50327638.html
4.葡萄树冬季怎么整形修剪?葡萄冬季修剪技术要点介绍葡萄冬季修剪技术要点介绍 导读:到了冬天,种植葡萄的果农们就要开始准备为自家的葡萄整形修剪以及葡萄冬季的合理施肥。葡萄树的冬季管理是葡萄生产的一个重要环节,此间应重点做好整形修剪,清园杀菌,深翻、施肥与冬灌和防寒等项工作。 到了冬天,种植葡萄的果农们就要开始准备为自家的葡萄整形修剪以及葡萄冬季的合理施肥...https://m.cnhnb.com/xt/article-43441.html
5.GPT4大模型硬核解读,看完成半个专家第二种模型压缩方法是剪枝(pruning),即删除GPT-4的网络元素,包括从单个权重(非结构化剪枝)到更高粒度的组件如权重矩阵的通道。这种方法在视觉和较小规模的语言模型中有效,也是很多框架(Framework)上自带的功能。 第三种模型压缩方法是稀疏化。例如奥地利科学技术研究所(ISTA)提出的SparseGPT可以将GPT系列模型单次剪枝...https://m.36kr.com/p/2196628560234373
6.人工智能经典习题集及各章总结(期末考试必备)江阴雨辰互联第二阶段(50年代中~60年代中) 通用方法时代 第三阶段(60年代中~80年代初) 知识工程时代 第四阶段(80年代中~90年代初) 新的神经元网络时代 第五阶段(90年代初~现在) 海量信息处理与网络时代 2.人工智能研究的基本内容是什么? 解:基本内容是:搜索技术、知识表示、规划方法、机器学习、认知科学、自然语言理解...https://www.yc00.com/xiaochengxu/1690506190a360936.html
7.目标检测究竟发展到了什么程度?CVHub带你聊一聊目标检测发展的...目标检测的发展脉络可以划分为两个周期:传统目标检测算法时期(1998年-2014年)和基于深度学习的目标检测算法时期(2014年-至今)。而基于深度学习的目标检测算法又发展成了两条技术路线:Anchor based方法(一阶段,二阶段)和Anchor free方法。下图2-1展示了从2001年至2021年目标检测领域中,目标检测发展路线图。 https://cloud.tencent.com/developer/article/1842152
8.关于植树节植树的作文(通用63篇)爸爸对我说:“首先必须掌握剪枝技术。”“那,什么是剪枝技术?”“剪枝技术就是树苗在栽培之前,要先根据树苗的大小,枝丫的多少进行修剪。把多余的细枝都剪去,这样就能减少树苗对营养的需求,便于生根发芽。来,把这几根剪了,就可以了。”“哦,我知道啦。”我拿起剪刀,按照爸爸指示剪下了几根没有用处的枝丫。就...https://www.ruiwen.com/zuowen/zhishujie/4363043.html