机器学习周报第19周

摘要

剪枝和量化技术是深度学习中常用的模型优化方法,而长短时记忆网络(LSTM)则是一种有效处理序列数据的循环神经网络。这篇摘要将聚焦于如何在LSTM模型中应用剪枝和量化技术,以提高模型的效率和减小资源消耗。
在剪枝方面,我们探讨了通过去除LSTM模型中不必要的神经元或连接来减小模型规模的方法。通过精心设计的剪枝算法,可以在保持模型性能的同时显著减小模型的参数量,加速推理过程,并使其更适用于嵌入式设备等资源受限的场景。
量化技术则通过将LSTM模型中的权重和激活转换为更低位宽度的整数或定点数,以减小模型的存储需求和计算复杂度。我们介绍了在LSTM中应用量化的方法,重点关注如何在量化过程中平衡模型的准确性和计算效率。

Abstract

Pruning and quantisation techniques are commonly used for model optimisation in deep learning, while the Long Short-Term Memory (LSTM) network is a recurrent neural network that efficiently processes sequential data. This abstract will focus on how pruning and quantisation techniques can be applied in LSTM models to improve model efficiency and reduce resource consumption.

In terms of pruning, we explore ways to reduce the model size by removing unnecessary neurons or connections from the LSTM model. With well-designed pruning algorithms, the number of parameters in a model can be significantly reduced while maintaining its performance, speeding up the inference process and making it more suitable for resource-constrained scenarios such as embedded devices.

Quantisation techniques, on the other hand, reduce the storage requirements and computational complexity of the model by converting the weights and activations in the LSTM model to lower bit-width integers or fixed-point numbers. We present methods for applying quantisation in LSTM, focusing on how to balance model accuracy and computational efficiency in the quantisation process

Translated with www.DeepL.com/Translator (free version)

1 文献阅读:A survey of techniques for optimizing transformer inference

论文摘要:
这篇论文综述了优化Transformer网络推理阶段的技术,包括知识蒸馏、剪枝、量化、神经架构搜索和轻量级网络设计等算法层面的优化方法,以及硬件层面的优化技术和为Transformer设计的新型硬件加速器,总结了多个模型/技术的参数/FLOPs数量和准确性的定量结果,为这个快速发展的研究领域提供了未来的方向。
优化方法:
1.剪枝
大多数剪枝方法的一般方法是首先训练一个神经网络,使其达到尽可能高的精度。在这个过程中的第二步包括根据大小或对整体模型性能的贡献来识别和去除最不重要的参数。第三步是对剪枝后的模型进行微调,恢复精度。第二步和第三步迭代进行,直到出现精度损失。

1.1 基于网络参数显著性的剪枝技术分类:零/一阶/二阶。
零阶:根据模型中每个权重的局部重要性得分(例如,震级)对权重进行剪枝。可以降低计算复杂度,但由于忽略了权重的全局重要性,对于大型网络来说是次优的。
一阶:考虑每个参数对模型精度的影响,例如,权重远离零被认为是重要的。由于考虑了梯度信息,在高稀疏度情况下更加准确,但需要对每个权重进行梯度计算,计算代价昂贵。
二阶:利用损失曲线的近似来指导剪枝。考虑损失曲率有助于建立权重与损失函数之间的关系。由于计算的是Hessian矩阵(或其近似式),因此最为准确,但是非常昂贵,因为它需要Hessian计算。
在这里插入图片描述
1.2 基于矩阵稀疏模式的分类
一个神经网络可以在不同的层次上进行剪枝,从而产生不同的稀疏模式。方法分为非结构化方法、半结构化方法和结构化方法。
非结构化方法:它无规则地修剪模型的权重矩阵,从而产生非结构化的权重/激活矩阵。它的一个例子是元素级剪枝。
半结构化方法:半结构化稀疏的一个例子是N:M稀疏,其中权重矩阵被分成组,每组大小为M,其中N个元素被剪枝。
结构化方法:它在组件级进行剪枝,例如神经元、通道、头、列、行或整个层,而不是单个权重参数。这导致了更加规则的网络,即使在通用硬件上也能获得性能。
在这里插入图片描述
1.3 基于修剪粒度的分类
对于这种分类方法,我们关注于剪枝变压器模型的训练权重。根据算法和硬件要求,可以在不同的粒度级别对变压器进行剪枝,如元素级、层级、头级和行级。
元素级修剪:基于元素的剪枝方法类似于零阶剪枝,它将变压器中的单个元素作为剪枝粒度,从而得到一个不规则的稀疏矩阵。每个权重的重要性可以根据不同的标准来衡量,例如大小,输出激活值,或通过其他函数计算的分数。
行/列级修剪:行/列是一种逐行结构化剪枝技术,用于去除变压器权重矩阵中的冗余行/列。行剪枝是指去除个体注意力头,而列剪枝则去除输出特征。这两种技术都是在保持模型规则结构的同时,对自注意力单元中不太重要的部分进行剪枝。
块剪枝:根据每个块对整体模型性能的贡献来计算注意力层中每个块的重要性,并修剪最不重要的块。
头状修剪:头部剪枝是一种逐行结构化的模型压缩方法,用于去除多头自注意力模块中的冗余头部。研究表明,变压器中的少数几层可以降低到单个磁头的水平。作者使用一阶代理方法来确定每个头的重要性,并对其进行迭代剪枝。
层剪枝:逐层剪枝是一种结构化的剪枝技术,它使用个别层作为剪枝粒度来减少整个Transformer网络的深度。
1.4 训练后修剪( PTP )
传统的剪枝算法需要对剪枝后的网络进行微调和/或联合学习剪枝配置。这就需要保留由于修剪权重而损失的精度,从而需要大量的重新训练时间。训练后修剪( PTP )不需要任何额外的再训练,并保持相同的基线精度。

静态PTP
静态PTP方法识别并修剪模型中最不重要的参数,而不考虑输入令牌序列。该模型仅被剪枝一次,并用于所有输入序列长度的推断。

动态PTP
自适应推理或动态PTP是指预训练的变压器能够根据输入序列/令牌在推理过程中动态地减少和调整层长,而不需要任何额外的微调。这种技术背后的直觉是,每个输入样本在复杂度方面是不同的,对所有输入样本使用固定大小的模型可能不是计算上最优的。因此,自适应推理方法根据输入样本自适应地跳过部分层计算,以获得最佳性能。

2.量化
量化是指降低模型参数(权重和激活)的精度。该方法将这些数字的精度降低到更低的位宽,例如16位或8位整数。在保持模型性能的同时,有多种方法可以量化一个网络。一般的量化方法可以分为:静态vs .动态、均匀vs .混合精度、训练后量化( Post Training Quantization,PTQ ) vs .量化感知训练( Quantization-Aware training,Qat )。
在这里插入图片描述
二、LSTM
结构图如下。
在这里插入图片描述
i表示输入门,f表示遗忘门,g表示细胞,o表示输出门,c表示细胞单元或者记忆单元,h是LSTM的隐藏状态,最后一步为输出。
在这里插入图片描述
LSTM由三个门来控制细胞状态,这三个门分别称为忘记门、输入门和输出门。下面一个一个的来讲述。

LSTM的第一步就是决定细胞状态需要丢弃哪些信息。这部分操作是通过一个称为忘记门的sigmoid单元来处理的。它通过查看ht-1和xt信息来输出一个0-1之间的向量,该向量里面的0-1值表示细胞状态Ct-1中的哪些信息保留或丢弃多少。0表示不保留,1表示都保留。忘记门如下图所示:
在这里插入图片描述
下一步是决定给细胞状态添加哪些新的信息。这一步又分为两个步骤,首先,利用ht-1和xt通过一个称为输入门的操作来决定更新哪些信息。然后利用ht-1和xt,通过一个tanh层得到新的候选细胞信息Ct ,这些信息可能会被更新到细胞信息中。这两步描述如下图所示:
在这里插入图片描述
下面将更新旧的细胞信息Ct-1 ,变为新的细胞信息Ct 。更新的规则就是通过忘记门选择忘记旧细胞信息的一部分,通过输入门选择添加候选细胞信息 C ~ t \tilde C_{t} 的一部分得到新的细胞信息Ct 。更新操作如下图所示:
在这里插入图片描述
更新完细胞状态后需要根据输入的ht-1和xt来判断输出细胞的哪些状态特征,这里需要将输入经过一个称为输出门的sigmoid层得到判断条件,然后将细胞状态经过tanh层得到一个-1~1之间值的向量,该向量与输出门得到的判断条件相乘就得到了最终该RNN单元的输出。该步骤如下图所示:
在这里插入图片描述

总结

剪枝和量化技术为LSTM模型的优化提供了有力的工具。通过这些方法,可以显著减小LSTM模型的规模,提高推理速度,并降低在嵌入式设备上的部署成本。这对于在资源受限的环境中运行LSTM模型,如移动设备或物联网设备,具有重要的实际意义。在选择使用剪枝、量化或它们的组合时,需要权衡模型性能和资源效率,以满足具体应用场景的需求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值