端侧模型带来的三个新思考:剪枝、蒸馏、量化

大数据产业创新服务媒体

------聚焦数据 · 改变商业


端侧化是指将人工智能模型部署到终端设备上,直接在数据产生和处理的源头进行智能计算。随着人工智能技术的飞速发展,大型模型(大模型)在诸多领域取得了显著的成果,例如自然语言处理、计算机视觉和语音识别等。然而,大模型的部署和应用面临着诸多挑战,如计算资源消耗大、数据传输延迟、隐私保护等问题。因此,端侧化成为大模型落地的重要方式。

首先,端侧化能够有效降低计算资源的消耗。大模型通常需要大量的计算资源进行训练和推理,而云计算中心或服务器端的计算资源有限。将大模型部署到终端设备上,可以充分利用终端设备的计算能力,减轻云计算中心或服务器端的压力。此外,端侧化还可以实现分布式计算,将计算任务分散到多个终端设备上,进一步提高计算效率。

其次,端侧化能够减少数据传输延迟。在大模型的云计算模式下,数据需要在终端设备和服务器之间进行传输,这可能导致较高的数据传输延迟。尤其在实时性要求较高的场景中,如自动驾驶、实时翻译等,数据传输延迟可能会严重影响用户体验。而端侧化将大模型直接部署到终端设备上,避免了数据传输的过程,从而降低了数据传输延迟。

端侧化有助于保护用户隐私。在大模型的云计算模式下,用户数据需要传输到服务器端进行处理,这可能会涉及到用户隐私的泄露问题。尤其在涉及敏感数据的场景中,如医疗健康、金融交易等,用户隐私保护尤为重要。端侧化将大模型部署到终端设备上,用户数据在本地进行处理,无需传输到服务器端,从而有效保护了用户隐私。

此外,端侧化还可以促进大模型的个性化和定制化。由于终端设备具有独特的硬件和软件环境,大模型可以根据终端设备的特点进行优化和调整,实现更好的性能和效果。例如,在移动设备上,大模型可以通过模型压缩和剪枝等技术进行适配,以适应移动设备的计算能力限制。而在特定的应用场景中,大模型可以根据场景需求进行定制化,实现更精准的预测和决策。

最后,将大模型部署到终端设备上,还可以促进大模型与终端设备的深度融合,激发新的应用场景和创新点。例如,结合终端设备的传感器和摄像头,大模型可以实现更精准的环境感知和目标检测;结合终端设备的语音识别和自然语言处理能力,大模型可以实现更智能的人机交互和智能助手。

因此,端侧化是大模型落地的重要方式。它能够降低计算资源消耗、减少数据传输延迟、保护用户隐私、促进个性化和定制化,以及推动大模型的创新和发展。随着人工智能技术的不断进步和终端设备的性能提升,端侧化将发挥越来越重要的作用,为人工智能应用的落地和发展提供有力支持。

于是,在大模型端侧化的前提下,出现了三种新的业务模式。

剪枝

想要花开得灿烂,就免不了定期进行剪枝,在大模型领域也奉行如此的道理。

模型剪枝是一种模型压缩技术,旨在减小模型规模、降低计算量和内存占用,同时尽量保持原始模型的性能。其基本原理是将模型中的权重或其他参数进行逐个检查,如果某个参数对模型的性能影响很小,则将其设置为0,从而使得模型更加稀疏。

目前行业内比较知名的开发套件,比如英伟达APEX,就能有一个专门用来剪枝的库,可以帮助开发者快速锁定低权重的参数,让模型变得更稀疏。同时英伟达APEX还能够以权重大小、其对损失函数的敏感度,或是它在前向传播时产生的激活图(Activation Maps)的稀疏性等为评判标准,对过滤器进行修剪。进而大幅压缩模型的尺寸。

剪枝对于端侧化模型来说可谓是重中之重,现如今所有能有各种各样的手机大模型,都是剪枝技术带来的成果。但是在眼下阶段,剪枝技术还不够成熟,普遍存在两种情况。第一种情况是剪枝做得不够细致,这就会使得剪枝后的模型与剪枝前没有太大区别,无法达到预期中小体量高性能的效果。第二种情况就是剪枝得有点过了,一些权重值较高的参数被设置为0了,这就会让模型出现稀疏矩阵,从而大幅降低模型的性能。

蒸馏

知识蒸馏是一种机器学习技术,旨在将大型、复杂的模型(通常称为教师模型)的知识传递给小型、高效的模型(通常称为学生模型)。这一过程对于实现模型的部署和优化具有重要意义,尤其是在资源受限的环境中,如移动设备或嵌入式系统。

在知识蒸馏过程中,教师模型和学生模型通常都是基于相同的任务进行训练。教师模型因其大尺寸和复杂性,能够学习更为复杂的模式和关系,从而在特定任务上取得较高的性能。学生模型则较小,能够在牺牲一定性能的情况下,实现更快的推理速度和更低的资源消耗。

知识蒸馏的核心思想是,通过将教师模型的输出(通常包括类概率)转化为软化后的概率分布,作为学生模型的训练目标。这样,学生模型不仅学习到了原始数据中的信息,还学习到了教师模型中的知识。这种软化后的概率分布包含了教师模型关于数据中各种关系的知识,从而使得学生模型能够在没有直接访问教师模型的情况下,尽可能地模仿其行为。

以IBM为例,在这家公司的基础模型库中有个模型叫做granite。这个模型根据功能和参数大小来划分,其中一个版本叫做granite-code-instruct,能通过根据自然语言提示生成、解释和翻译代码,为代码提供特定任务的模型。

基于这个功能的granite分为多个版本,其中有340亿参数的超大模型,也有仅30亿参数的模型。通过知识蒸馏,即便参数少了90%,granite-code-instruct依然能实现出相对应的功能。

量化

大模型量化是一种将大型神经网络模型中的权重和激活从浮点数(FP32)转换为低比特宽度的整数(如INT8、INT4等)的技术。这种技术的目的是减少模型的存储需求和计算成本,同时尽量减少模型的性能损失,使得这些模型能够在资源受限的设备上运行,比如手机、笔记本电脑等等。而且量化技术除了可以显著减少模型的尺寸,降低功耗外,还能加快推理速度,这对于模型的部署和广泛应用具有重要意义。

在量化过程中,首先需要选择合适的量化策略,包括权重量化和激活量化。权重量化通常使用对称量化或非对称量化,而激活量化则可能使用不同的量化范围和缩放因子。接下来,在训练过程中引入量化操作,使得模型能够适应量化带来的精度损失。这种方法通常包括使用伪量化操作或梯度尺度调整等技术。

量化校准是量化过程中的重要步骤,使用校准数据集来确定量化参数,如缩放因子和零点。校准过程通常使用最小最大值校准或百分位数校准等方法。然后,将浮点模型转换为量化模型,这涉及到修改模型定义和推理引擎,以支持量化操作。

以智普的GLM-4-9B为例,这个模型就是GLM-4量化后的结果。GLM-4-9B的量化方式是FP8。这是一种浮点数格式,它的特点是具有8位宽度,可以有效地减少模型的存储需求和计算成本,同时尽量减少模型的性能损失。FP8 量化技术使得 GLM-4-9B 模型能够在资源受限的设备上运行,如移动设备、嵌入式设备等。量化技术可以显著减少模型的尺寸,降低功耗,加快推理速度,这对于模型的部署和广泛应用具有重要意义。

在量化过程中,GLM-4-9B 模型的权重和激活从浮点数(FP32)转换为 FP8 格式。同时,为了减少量化带来的精度损失,模型在训练过程中采用了量化感知训练技术。这种方法通过在模型中插入伪量化节点,模拟量化操作的影响,使得模型在训练过程中逐渐适应量化带来的精度损失。

接下来就来到量化校准上了,如上文所述,量化校准是量化过程中的重要步骤,GLM-4-9B用校准数据集的方法确定量化参数。

在量化后的 GLM-4-9B 模型上运行一系列性能评估任务,如文本生成、文本分类等,以验证量化后的模型是否仍然保持了较高的性能。一旦量化模型通过了性能评估,它就可以被部署到目标设备上。由于量化模型的大小和计算需求都显著降低,这使得 GLM-4-9B 能够在更多的设备上运行,从而扩大其应用范围。

这样一来,GLM-4-9B 模型通过量化技术优化,使得大型语言模型能够在资源有限的设备上运行。

大模型量化是一个复杂的过程,需要深入理解模型的架构和推理流程。此外,量化可能会引入额外的计算开销,因此需要仔细设计和优化量化操作。尽管如此,量化技术为大模型的广泛应用提供了可能性,使得这些强大的模型能够在资源有限的设备上运行,为用户提供更加便捷和智能的服务。

文:火焰翼人 / 数据猿

责编:凝视深空 / 数据猿

相关推荐
Kenneth風车10 分钟前
【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)11
算法·机器学习·分类
最后一个bug15 分钟前
rt-linux中使用mlockall与free的差异
linux·c语言·arm开发·单片机·嵌入式硬件·算法
诚威_lol_中大努力中18 分钟前
关于VQ-GAN利用滑动窗口生成 高清图像
人工智能·神经网络·生成对抗网络
中关村科金39 分钟前
中关村科金智能客服机器人如何解决客户个性化需求与标准化服务之间的矛盾?
人工智能·机器人·在线客服·智能客服机器人·中关村科金
逸_42 分钟前
Product Hunt 今日热榜 | 2024-12-25
人工智能
Luke Ewin1 小时前
基于3D-Speaker进行区分说话人项目搭建过程报错记录 | 通话录音说话人区分以及语音识别 | 声纹识别以及语音识别 | pyannote-audio
人工智能·语音识别·声纹识别·通话录音区分说话人
DashVector1 小时前
如何通过HTTP API检索Doc
数据库·人工智能·http·阿里云·数据库开发·向量检索
说私域1 小时前
无人零售及开源 AI 智能名片 S2B2C 商城小程序的深度剖析
人工智能·小程序·零售
蹉跎x1 小时前
力扣1358. 包含所有三种字符的子字符串数目
数据结构·算法·leetcode·职场和发展
Calvin8808281 小时前
Android Studio 的革命性更新:Project Quartz 和 Gemini,开启 AI 开发新时代!
android·人工智能·android studio