LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment

这篇具有很好参考价值的文章主要介绍了LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

现在,您已经了解了如何调整和对齐大型语言模型以适应您的任务,让我们讨论一下将模型集成到应用程序中需要考虑的事项。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

在这个阶段有许多重要的问题需要问。第一组问题与您的LLM在部署中的功能有关。您需要模型生成完成的速度有多快?您有多少计算预算可用?您是否愿意为改善推理速度或降低存储空间而牺牲模型性能?
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

第二组问题与您的模型可能需要的额外资源有关。您是否打算让您的模型与外部数据或其他应用程序进行交互?如果是的话,您将如何连接到这些资源?
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

最后,还有一个问题,即您的模型将如何被使用。您的模型将通过什么样的预期应用程序或API界面来使用?

让我们首先探讨一些在将模型部署到推理之前用于优化模型的方法。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

虽然我们可以将几节课用于讨论这个主题,但本节的目标是为您介绍最重要的优化技术。大型语言模型在计算和存储要求方面提出了推理挑战,以及确保消费应用程序具有低延迟。无论是在本地部署还是部署到云上,当部署到边缘设备时,这些挑战都会更加突出。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

提高应用程序性能的主要方法之一是减小LLM的大小。这可以允许模型更快地加载,从而减少推理延迟。但是,挑战在于在保持模型性能的同时减小模型的大小。对于生成模型,某些技术比其他技术效果更好,准确性和性能之间存在权衡。在本节中,您将了解三种技术。

蒸馏使用一个较大的模型,即教师模型,来训练一个较小的模型,即学生模型。然后,您可以使用较小的模型进行推理,以降低存储和计算预算。与量化感知训练类似,后期训练量化将模型的权重转换为较低精度的表示,例如16位浮点或8位整数。如您在课程第一周学到的那样,这会减小模型的内存占用。第三种技术,模型修剪,删除了对模型性能贡献不大的冗余模型参数。让我们更详细地讨论这些选项。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

模型蒸馏是一种侧重于使用较大的教师模型来训练较小的学生模型的技术。学生模型学会统计上模仿教师模型的行为,可以是在最终预测层或模型的隐藏层中。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

这里我们将重点放在第一种选项上。您可以使用您的微调LLM作为教师模型,为学生模型创建一个较小的LLM。您冻结教师模型的权重,并使用它来为您的训练数据生成完成。同时,您使用学生模型为训练数据生成完成。通过最小化称为蒸馏损失的损失函数来实现教师和学生模型之间的知识蒸馏。为了计算这个损失,蒸馏使用了由教师模型的softmax层产生的标记概率分布。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

现在,教师模型已经在训练数据上进行了微调。因此,概率分布可能与基本事实数据非常接近,标记中的令牌不会有太大的变化。这就是为什么蒸馏应用了一个小技巧,即在softmax函数中添加温度参数。如您在第一课中学到的,温度越高,模型生成的语言的创造力就越大。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

通过一个大于一的温度参数,概率分布变得更广泛,峰值不那么尖锐。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

这种较软的分布为您提供了一组与基本事实标记相似的标记。

在蒸馏的上下文中,教师模型的输出通常被称为软标签,
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

学生模型的预测被称为软预测。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

同时,您训练学生模型生成基于您的基本事实训练数据的正确预测。在这里,您不会改变温度设置,而是使用标准的softmax函数。蒸馏将学生和教师模型之间的损失和学生损失结合起来,通过反向传播来更新学生模型的权重。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

蒸馏方法的关键好处是可以在部署中使用较小的学生模型,而不是教师模型。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

在实践中,蒸馏对生成解码器模型通常不太有效。通常对仅编码器模型,如具有大量表示冗余的Bert模型,更有效。请注意,使用蒸馏,您训练了一个第二个较小的模型,用于推理。您没有以任何方式减小初始LLM的模型大小。

接下来,让我们看看下一个可以实际减小LLM大小的模型优化技术。在第一周,您已经在培训的上下文中介绍了第二种方法,即量化感知训练Specifically Quantization Aware Training,简称QAT。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

然而,一旦模型训练完毕,您可以执行后期训练量化Post Training quantization,简称PTQ,以优化部署。PTQ将模型的权重转换为较低精度的表示,例如16位浮点或8位整数,以减小模型大小和内存占用,以及模型服务所需的计算资源。一般来说,包括激活的量化方法对模型性能的影响较大。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

量化还需要额外的校准步骤,以统计捕获原始参数值的动态范围。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

与其他方法一样,存在权衡,因为有时量化会导致模型评估指标略微下降。然而,这种降低通常可以抵消成本节省和性能提高的成本。

最后一个模型优化技术是修剪Pruning。在高层次上,目标是通过消除对总体模型性能贡献不大的权重来减小推理的模型大小。这些权重的值非常接近或等于零。请注意,一些修剪方法需要对模型进行全面重新训练,而其他方法属于参数高效微调的范畴,例如LoRA。还有一些方法专注于后期修剪。在理论上,这可以减小模型的大小并提高性能。然而,在实践中,如果只有一小部分模型权重接近零,那么模型的大小和性能可能没有太大影响。
LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment,LLM-Large Language Models,剪枝,算法,机器学习,chatgpt,深度学习

量化、蒸馏和修剪都旨在减小模型大小,以提高推理时的模型性能,而不影响准确性。优化您的模型以供部署将有助于确保您的应用程序运行良好,并为用户提供最佳体验。

Reference

https://www.coursera.org/learn/generative-ai-with-llms/lecture/qojKp/model-optimizations-for-deployment文章来源地址https://www.toymoban.com/news/detail-727469.html

到了这里,关于LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TensorRT模型优化部署 (八)--模型剪枝Pruning

    第一章 TensorRT优化部署(一)–TensorRT和ONNX基础 第二章 TensorRT优化部署(二)–剖析ONNX架构 第三章 TensorRT优化部署(三)–ONNX注册算子 第四章 TensorRT模型优化部署(四)–Roofline model 第五章 TensorRT模型优化部署(五)–模型优化部署重点注意 第六章 TensorRT模型优化部署(

    2024年01月20日
    浏览(43)
  • 【YOLOv7/YOLOv5系列算法改进NO.49】模型剪枝、蒸馏、压缩

    作为当前先进的深度学习目标检测算法YOLOv7,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv7的如何改进进行详细的介绍,目的是为了给那些搞科研的同学需要创新点或者搞工程

    2024年02月08日
    浏览(41)
  • 深度学习模型量化、剪枝、压缩

    fp16是指采用2字节(16位)进行编码存储的一种数据类型; fp32是指采用4字节(32位); fp16 和 fp32 相比对训练的优化: 1. 内存占用减少 :应用fp16内存占用比原来更小,可以设置更大的batch_size 2. 加速计算 :加速计算只在最近的一些新gpu中,这一块我还没有体验到好处...有论文指出

    2024年02月16日
    浏览(45)
  • LLMs开源模型们的分布式训练和量化

    前一篇博文整理了: LLMs开源模型们和数据集简介 这篇博文主要整理一下目前流行的训练方法和量化。 (图自Towards a Unified View of Parameter-Efficient Transfer Learning) 使通用LLMs适应下游任务的最常见方法是微调所有模型参数或微调尾层参数(Freeze)。然而这会导致每个任务都有一

    2024年02月07日
    浏览(48)
  • 【Transformer论文】CMKD:用于音频分类的基于 CNN/Transformer 的跨模型知识蒸馏

    文献题目:CMKD: CNN/Transformer-Based Cross-Model Knowledge Distillation for Audio Classification 文献时间:2022 音频分类是一个活跃的研究领域,具有广泛的应用。 在过去十年中,卷积神经网络 (CNN) 已成为端到端音频分类模型的事实上的标准构建块。 最近,仅基于自注意力机制(如音频频谱

    2023年04月17日
    浏览(39)
  • 基于YOLOv5n/s/m不同参数量级模型开发构建茶叶嫩芽检测识别模型,使用pruning剪枝技术来对模型进行轻量化处理,探索不同剪枝水平下模型性能影响

    今天有点时间就想着之前遗留的一个问题正好拿过来做一下看看,主要的目的就是想要对训练好的目标检测模型进行剪枝处理,这里就以茶叶嫩芽检测数据场景为例了,在我前面的博文中已经有过相关的实践介绍了,感兴趣的话可以自行移步阅读即可: 《融合CBAM注意力机制

    2024年02月12日
    浏览(39)
  • 基于YOLOv5n/s/m不同参数量级模型开发构建茶叶嫩芽检测识别模型,使用pruning剪枝技术来对模型进行轻量化处理,探索不同剪枝水平下模型性能影响【续】

    这里主要是前一篇博文的后续内容,简单回顾一下:本文选取了n/s/m三款不同量级的模型来依次构建训练模型,所有的参数保持同样的设置,之后探索在不同剪枝处理操作下的性能影响。 在上一篇博文中保持30的剪枝程度得到的效果还是比较理想的。这里进行的是分别进行6

    2024年02月12日
    浏览(41)
  • LLMs之ChatGLM2:ChatGLM2-6B本地部署之单机推理(API/CLI/GUI)、低成本部署(GPU量化部署/CPU及其量化部署/Mac部署/多卡部署)、有限资源下高效微调(全参/P-t

    LLMs之ChatGLM2:ChatGLM2-6B本地部署之单机推理(API/CLI/GUI)、低成本部署(GPU量化部署/CPU及其量化部署/Mac部署/多卡部署)、有限资源下高效微调(全参/P-tuning v2)、模型评估和推理之图文教程之详细攻略 目录 一、配置基础环境及其注意事项 第一步、检测软硬件环境

    2024年02月07日
    浏览(45)
  • 模型优化之模型剪枝

    一、概述 模型剪枝按照结构划分,主要包括结构化剪枝和非结构化剪枝: (1)结构化剪枝:剪掉神经元节点之间的不重要的连接。相当于把权重矩阵中的单个权重值设置为0。 (2)非结构化剪枝:把权重矩阵中某个神经元节点去掉,则和神经元相连接的突触也要全部去除。

    2024年02月14日
    浏览(45)
  • yolov5剪枝与知识蒸馏【附代码】

    剪枝和知识蒸馏均属于模型轻量化设计,剪枝是将已有网络通过剪枝的手段得到轻量化网络,可分为 非结构化剪枝 和 结构化剪 ,该技术 可以免去人为设计轻量网络 ,而是通过计算各个权重或者通道的贡献度大小,剪去贡献度小的权重或通道,再 经过微调训练恢复精度 ,

    2024年02月05日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包