AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


AI产品经理必须知道的技术 之 【大模型压缩】
发布日期:2024-04-29 14:17:13 浏览次数: 2117



这是AI产品经理必须知道的技术系列的第三篇。目的是通过最简单的原理、语言,来理解和解释AI相关的技术。希望对于非技术背景,或者没有时间深入研究有朋友,有一些帮助。


01

背景

大模型是一场军备竞赛,各大厂商不断推出能力更强的模型,通常来说,要么是训练参数量翻倍更大的模型,要么是利用MoE架构,由多个专家模型,组成一个多模态大模型。这是大模型最高战力的比拼。


而另外一个角度说,军备竞赛也需要常规武器。就好比建设海军,不能光建航母,也需要巡洋舰、驱逐舰……对于已经发布的大模型,每天有成千上万的用户使用,也需要大量的算力支撑。这样就需要用到大模型的压缩技术了。不知道大家是否有过这样的经历,某个大模型刚出来时很强,用一段时间,突然变傻了,或者变懒了。没错,这实际就是大模型厂商,为了降低模型推理的运行成本,对大模型做了一些压缩优化。


大模型压缩优化,以降低推理时对资源的要求,提高推理速度。


大模型压缩优化通常有三种方法:剪枝、量化、蒸馏。

下面分别来介绍。


02


剪枝



剪枝,这个词很形象,一棵树枝叶繁茂,为了保证主干吸到营养,可以把一些多余的枝剪掉。

大模型的算法是神经网络,模仿人类大脑的结构,包含多个神经元,和权重(生物学上是突触,两个神经元之间的连接点),由多个层组成。

剪枝就是减少一些神经元或者权重,使它仍然能得到不错的结果。可以理解为对大脑进行瘦身。




以上面这个图为例,剪枝可以对神经元和连接神经元的权重进行裁剪。甚至也可能对整个层,或者某个区域进行裁剪。


经过剪枝后,模型自然就变小了。那么效果会不会打折扣呢?

这确实是有可能的,但厉害的剪枝算法,就是能在保证最终效果的前提下,尽可能裁剪,这就要看园丁师傅的水平了。


这不就有一些大佬,提出了SparseGPT算法,可以在最大的开源 GPT 模型(1750 亿参数)上仅用单个 GPU 耗时几小时就完成剪枝。同时,在无需任何微调的情况下,修剪上千亿(50~60%)参数后模型的精度几乎不变(甚至提升)


为什么剪枝后,模型变小了,还能保持精度不变,甚至提升呢?
我的理解是,去掉一些不是很重要···············的信息,有时候确实是能让决策更简单,也更准确。参数过多,也会有过拟合的风险(过拟合类似于:在训练测试数据上测试的效果很好,但是回答其它问题的时候效果就不好了)。

当然,这里说的保持模型不变甚至提升,也是基于测试数据来评价的。可能不同领域的评价又不一样。但总来说,模型推理的成本可以大幅下降。


03


量化

量化是指将神经网络中的参数(权重和偏置)从浮点数格式转换为更低精度的格式,通常是整数或定点数。这样做的目的是为了减少模型的存储空间和计算量,从而提高模型在硬件上的运行效率。


例如,某个大模型可能是用FP32半精度格式训练的。它某个参数为0.12345678。

如果用FP16量化呢,那它的参数权重就为0.1234。

如果是INT8呢,INT8可以表示范围从-128到127之间的整数,那么量化INT8时,可能会将权重乘一个缩放因子,然后四舍五入取整,得到一个整数参数,比如12。


模型量化,由于精度降低了,可能会带来一些精度效果的损失。但可以用精度损失换来性能的提升,包括:

1、推理速度提升,低精度的参数可以减少计算量。Int量化,甚至可以在CPU上跑大模型。

2、降低显存要求,不用特别大显存的GPU,也能跑模型。


一般来说,模型的常规精度是FP32的,

模型量化过程可以分为两部分:将模型从 FP32 转换为低精度的模型(比如int8,int4),以及使用低精度进行推理。


量化模型的性能,往往可以提升几倍至几十倍的性能,且体积可以减少一半甚至更多。清华和哈工大,最近的一项研究,他们提出了大模型1bit极限压缩框架OneBit,可以将大模型权重压缩超越90%,并保留大部分(83%)能力。



03


蒸馏


模型蒸馏,是将原来的大模型,作为教师模型。用这个教师模型去训练一个学生模型(小模型),让生模能够最大可能地接近教师模型。


打个比方,大师一般都是自学成才的,在科研的顶端领域,大师往往都需要付出大量精力去研究。但是得到成果以后,将这些知识教给他的学生,学生只需要花很小的精力就能学会。比如圆周率,一个小学生都能轻松背到10位,但是人类在推算到这个精度的圆周率,花了几千年。


模型蒸馏的过程是这样的:

1、先训练一个大模型作为教师模型,或者就是已经训练好的模型。

2、准备一些数据集,用教师模型把这数据集打上硬标签和软标签。硬标签相当于真实的、确定的标签,比如一张图像识别成猫。软标签则是它的概率分布。

3、然后可以用教师模型生成的硬标签和软标签,来训练模型。让学生模型,尽可能地拟合教师模型。从而获得与教师模型相近的预测能力。


模型蒸馏,可以使一个小模型,近似达到大模型的效果。这样在推理时,只要更小的资源就可以运行。


我以图像生成模型 Stable Diffusion XL举例,生成一张图片,通常需要20步以上。而基于Stable Diffusion XL的蒸馏模型 SDXL Turbo模型,只需要1-5步就能生成高质量的图像,基本可以做到实时出图,同时显存的占用也降低了。

前段时间,字节推出的SDXL-LIGHTNING 实际也是SDXL的蒸馏模型,只需要1-8步就能生成原生模型25步以上的同等效果的图像。



04


总结


大模型压缩技术,对大模型大规模应用,具有非常高的价值。

来在消费级PC,或手机等终端上运行大模型,也成为可能。

对于提供AI云服务的厂商,大模型压缩也可以让它们提供服务的成本大大地降低。OpenAI 奥特曼曾经在演讲时表示,OpenAI 每三个月左右就能将推理成本降低90%。

60年前,摩尔提出了摩尔定律仍然在不断延续:集成电路上可容纳的晶体管数目每18个月大约翻一倍,或者价格下降一半。

未来,AI是否也会有它的“摩尔定律”呢?





53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询