当前位置: 首页 > 新闻中心

新闻中心

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

来源:凯发    发布时间:2024-06-18 23:42:56   点击次数:73

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

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

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

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

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

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

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

  模型剪枝是一种模型压缩技术,旨在减小模型规模、降低计算量和内存占用,同时尽可能保持原始模型的性能。其基础原理是将模型中的权重或其他参数进行逐个检查,如果某个参数对模型的性能影响很小,则将其设置为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 模型通过量化技术优化,使得大型语言模型能够在资源有限的设备上运行。

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

凯发 All Copy Right 2005-2010 备案号:豫ICP备09027093号-3 技术支持:凯发k8官网登录 管理登陆 sitemap.xml