模型压缩
文章平均质量分 80
Law-Yao
数字信号处理与人工智能相关的软硬件系统实现工作。
展开
-
SmoothQunat——LLM激活值量化的等价均衡
基于LLM.int8()的分析,随着语言大模型参数规模增大,激活中的异常值(Outlier)占比会显著上升,导致激活值量化误差增大。将LayerNorm中的gamma系数转移至Weight;使用token-wise限幅减少异常值。通过Activation与Weight的等价均衡变换,改善激活量化。使用token-wise动态量化对激活进行量化;Outlier相关的量化方法。对异常值所在列,使用浮点计算。原创 2023-03-26 14:45:24 · 725 阅读 · 1 评论 -
生成式语言大模型压缩技术思考——以ChatGPT为例
ChatGPT是基于GPT3.5(1750亿参数规模)训练获得的,其模型结构为Decoder-only单向掩码架构,推理部署需要多卡分布式推理调度的支持。原创 2023-02-26 15:40:29 · 6503 阅读 · 0 评论 -
LLM.int8()——自适应混合精度量化方法
随着参数规模的增加,大模型(如GPT-3,OPT-175B等NLP稠密大模型)的实际部署应用,需要消耗一定的计算/存储成本,且推理响应延迟存在限制。原创 2022-12-04 21:51:41 · 2964 阅读 · 0 评论 -
Transformer模型的训练后剪枝方法
最终,针对BERT-base与DistilBERT的结构剪枝,通过本文提出的训练后剪枝方法,在GLUE与SQuAD数据集上,能够实现2x的FLOPS降解、1.56x的推理加速,精度损失低于1%;因此,针对给定的约束条件,通过最小化剪除的Attention heads与FFN Neurons的重要性,可实现剪枝Mask的搜索,搜索算法如下(类似于Post-training量化,仅需少量无标注数据的校准(特征对齐、最小化重建误差等校准方法),通过训练后压缩方法便能获得较好的压缩效果,且。原创 2022-10-07 09:32:17 · 3224 阅读 · 0 评论 -
Decoupled Knowledge Distillation——目标分布与非目标分布相解耦
传统KD loss中Teacher的目标概率越高,NCKD越被抑制;然而,单独使用TCKD鲜有收益,而在某些场景下单独使用NCKD、可获得比TCKD更好的效果(详见论文的Ablation分析);并且,TCKD主要迁移难例相关的知识,NCKD则能够真正反映暗知识(Dark knowledge)。通过将网络Classification Head预测的概率分布、解耦为目标分布与非目标分布,并分别计算二者的蒸馏Loss(Teacher的预测输出亦作相同解耦),然后进行加权求和获得新的蒸馏Loss。原创 2022-08-19 21:30:37 · 1635 阅读 · 0 评论 -
Generative Data-free Quantization——生成式无数据训练后量化方法
前言针对深度学习模型的边缘、移动端设备部署,模型量化已经成为必不可少的技术手段,一方面可缓解模型存储、运行时内存的Overhead(例如INT8量化的理论压缩比为4倍),另一方面通过专用整形计算单元或加速指令可实现推理加速(例如NV GPU的TensorCore单元)。出于用户隐私与数据安全考虑,大多数场景应用仅提供少量无标注数据以支持Label-freePTQ,或者不提供任何数据。在用户不提供任何数据时,Data-free Quantization需要借助Pre-trained Mode...原创 2022-05-15 21:52:44 · 1687 阅读 · 0 评论 -
AdapLeR——基于Adaptive Length Reduction的BERT推理优化
Paper地址:https://arxiv.org/abs/2203.08991GitHub链接:GitHub - amodaresi/AdapLeR通过生成式自监督训练(Generative Self-supervised Learning),预训练模型能够充分掌握语境相关的知识与信息,典型代表如BERT预训练任务MLM、ViT预训练任务MAE、推荐模型预训练任务Next-query Prediction等。对于BERT模型而言,在充分的大规模预训练之后,针对特定的下游任务,凭借语境知识与少量To原创 2022-03-27 20:15:29 · 2146 阅读 · 0 评论 -
ViT结构优化——Searching the Search Space (S3 NAS)
Paper地址:https://arxiv.org/abs/2111.14725GitHub链接:https://github.com/microsoft/Cream概述网络结构搜索(NAS: Neural-network Architecture Search)的设计收敛,首先取决于搜索空间的设计收敛,其次取决于搜索算法的设计收敛,最终结合平台约束、生成一系列满足Trade-off的优化解(构成Pareto-front)。针对Vision-Transformer,为了实现较之AutoFor原创 2022-03-06 20:04:59 · 3507 阅读 · 0 评论 -
FBNetV5——一种面向多任务的高效NAS方法
Paper地址:https://arxiv.org/pdf/2111.10007前言网络结构搜索(NAS:Neural Architecture Search),主要的Motivation有两点:针对特定任务与部署平台,设计精度与速度折中最佳的模型结构; 实现结构设计或搜索的自动化,减轻人工成本与计算资源开销,以提升生产效率;但影响NAS方法可泛化、普遍应用的主要原因包括:过去的NAS工作主要聚焦于图像分类任务,并认为适用于图像分类的最佳模型,也能成为其他任务(如检测、分割等)的最佳原创 2022-01-29 22:17:33 · 5108 阅读 · 3 评论 -
Polarization Regularizer——极化剪枝
Paper地址:https://papers.nips.cc/paper/2020/file/703957b6dd9e3a7980e040bee50ded65-Paper.pdfGitHub地址:https://github.com/polarizationpruning/PolarizationPruning基本原理基于L1 regularizer的剪枝技术,其Scaling factors(用于生成剪枝Masking)的数据分布不容易被区分。因而,由剪枝率决定的Threshold,容易筛原创 2021-12-01 17:17:54 · 1502 阅读 · 1 评论 -
PTQ4ViT: Vision Transformer的PTQ方法与框架
参考论文:https://arxiv.org/abs/2111.12293前言将传统的PTQ策略(文章以对称均匀量化为例)直接应用于Vision Transformer,通常会导致较大的精度损失,例如实施8bits量化时,预测精度损失可能超过1%,主要原因在于,Post-Softmax与Post-GELU输出激活的数据分布是偏离高斯分布的:首先在Self-Attention模块中,Softmax计算输出的Attention map呈现对角线聚焦分布、体现出严重的不平衡分布(unbalanced原创 2021-11-26 20:06:51 · 1679 阅读 · 0 评论 -
NetAug——增强Tiny-model的训练效果
Paper地址:https://arxiv.org/abs/2110.08890前言通常当深度学习模型的参数规模较大,甚至大于数据集规模时(例如ResNet50与ImageNet2012-1K),常规模型训练容易陷入过拟合状态(Over-fitting)。因此可引入一系列训练增强技巧(正则化技术)、以增强训练效果,诸如Data Augmentation与Dropout等技术:Data Augmentation通过对采样数据施加变换操作,能够引入数据噪声(如高斯白噪声、随机旋转、随机裁剪、随机Re原创 2021-10-25 12:57:20 · 820 阅读 · 0 评论 -
Bert/Transformer模型压缩与优化加速
前言Bert/Transformer结构及其变体,已成为自然语言处理 (NLP)、语音识别 (ASR)等领域的主流序列建模结构。并且,相比于卷积操作的局部特征提取能力、以及平移不变性,Self-attention的全局Context信息编码能力,能够使视觉模型具备更强的特征表达能力、与领域适应性。因此在计算机视觉领域,Vision Transformer结构也日益流行、方兴未艾。然而,Transformer模型的高计算复杂度与参数量,限制了模型的推理部署(包括服务端与移动端应用),其计算、存储与运行时内原创 2021-09-14 20:13:50 · 10037 阅读 · 5 评论 -
AutoFormer——首个Vision Transformer的One-shot NAS
Paper地址:https://arxiv.org/abs/2107.00651GitHub地址:https://github.com/microsoft/AutoML前言Bert/Transformer结构,已成为自然语言处理、语音识别与多模态匹配等模型的主流结构,视觉模型也逐渐往Transformer结构收敛。本文针对视觉Transformer提出了AutoFormer方法,是一种基于weight entanglement的One-shot NAS,充分预训练的超网络、能满足多种资源约束的部原创 2021-08-16 18:57:24 · 974 阅读 · 0 评论 -
Hardware-Aware Transformers (HAT)——Transformer模型的NAS策略
paper: https://arxiv.org/abs/2005.14187github: https://github.com/mit-han-lab/hardware-aware-transformers相关论文:once-for-all: https://arxiv.org/abs/1908.09791bigNAS: https://arxiv.org/abs/2003.11142Introduction当需要对Transformer进行NAS的时候,面临两个问题..原创 2021-06-16 11:43:42 · 1037 阅读 · 0 评论 -
AttentiveNAS——采用Attentive Sampling改善NAS效果
Paper链接:https://arxiv.org/abs/2011.09011GitHub (PyTorch):https://github.com/facebookresearch/AttentiveNASTwo Stage One-shot NAS结合资源约束的网络结构搜索(NAS: Network Architecture Search),通常被定义为如下形式(以FLOPS约束为例):其中A表示搜索空间,可以是Input Resolution、Kernel size、Wid.原创 2021-05-05 18:02:21 · 762 阅读 · 1 评论 -
AdaQuant——基于优化方式求解量化参数
背景模型经过量化,势必引入量化噪声;大多数情况下,会导致推理精度下降; 为改善量化后精度,通常的策略: PTQ路线:改进PTQ策略(如KL改进),或叠加有助于减少量化误差的PTQ策略(如ADMM、Bias Correction、AMP); 优势:简单易用,见效快; 劣势:未必能完全消除精度损失; QAT路线:通过训练数据微调,改善量化效果; 优势:精度效果相对更好;更适合极低精度量化; 劣势:存在训练成本,维护升级相对吃力;精度效果未必好,也依赖策略选择;原创 2021-04-16 19:44:30 · 4187 阅读 · 0 评论 -
自蒸馏One-shot NAS——Cream of the Crop
Paper:https://arxiv.org/abs/2010.15821GitHub (NNI):https://github.com/microsoft/nni/blob/master/docs/en_US/NAS/Cream.rstGitHub:https://github.com/microsoft/CreamCream基本原理One-shot NAS: 搜索过程中,设置Prioritized Board,收集精度与速度满足要求的最佳Sub-networks,并按末尾淘汰.原创 2021-02-26 16:55:35 · 1067 阅读 · 1 评论 -
INT16乘累加防溢出量化训练——Overflow-aware Quantization
简介参考论文:https://arxiv.org/abs/2005.13297 OAQ (Overflow-aware Quantization)利用量化比特位宽的表示冗余,借助INT16单元寄存中间、与最终乘累加结果,在ARM平台上实现计算加速;基本原理文章基于TF-Lite的非对称量化训练算法,提出了INT16乘累加防溢出条件:总体来说,要求整数的中间乘累加、与最终累积结果不能溢出INT16范围; 文章通过引入可调整的alpha因子,提出了整数量化范围的自适应调整机制: .原创 2021-01-11 18:54:57 · 1672 阅读 · 0 评论 -
ADMM深度模型稀疏化训练
基本原理参考论文:https://arxiv.org/abs/1804.03294GitHub:https://github.com/microsoft/nni/blob/master/nni/algorithms/compression/pytorch/pruning/admm_pruner.py组合优化问题基本的优化问题:引入辅助变量、对偶变量,构造ADMM正则化约束:交替方向优化求解固定Z与U,通过SGD优化求解得到:固定W,更新得到Z与U:..原创 2020-12-19 16:46:41 · 2185 阅读 · 3 评论 -
端到端Transformer模型的混合精度后量化
端到端Transformer模型的混合精度后量化,需要克服如下难点:Transformer自回归模型,包含了Encoder与Decoder;端到端模型压缩的支持,需要考虑自回归逻辑(Beam Search)的复杂实现; 后量化需要考虑合理、有效的策略,确保量化鲁棒性; 混合精度决策需要考虑实现的高效性,通常采用Label-free方式;具体可参考端到端语音识别的移动端解决方案;...原创 2020-11-18 14:01:34 · 1822 阅读 · 0 评论 -
FBNetV1, FBNetV2
"FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture Search"Paper Link: https://arxiv.org/abs/1812.03443Github (PyTorch): https://github.com/AnnaAraslanova/FBNetIntroductionSearch SpaceDARTS、AdaBert等方法: 以Cell原创 2020-09-27 11:37:53 · 596 阅读 · 0 评论 -
Proxyless NAS: Direct Neural Architecture Search on Target Task and Hardware
Paper:https://arxiv.org/abs/1812.00332GitHub (PyTorch):https://github.com/mit-han-lab/proxylessnasIntroductionNAS能够针对目标任务、以及目标部署平台,按自动化方式、搜索出性能与效率折中最好的网络结构; 如果目标任务的数据集规模比较大,通常会设计Proxy task (简化的中间任务),作为桥接目标任务的桥梁:在Proxy task上的评估结果,可间接反映目标任务上的效果,用来指导N原创 2020-07-13 17:58:42 · 1100 阅读 · 0 评论 -
Transformer端侧模型压缩——Mobile Transformer
随着Transformer模型在NLP、ASR等序列建模中的普及应用,其在端侧等资源受限场景的部署需求日益增加。经典的mobile-transformer结构包括evolved tansformer、lite-transformer、mobile-bert、miniLM等模型,借助结构改进、知识蒸馏等策略实现了transformer模型的小型化、并确保精度鲁棒性。 The Evolved Transformer Paper Link:https://arxiv.org/abs/1901.1111.原创 2020-06-19 16:13:26 · 6072 阅读 · 0 评论 -
基于可训练Step-size的低比特量化——LSQ: Learned Step-size Quantization
Paper地址:https://arxiv.org/abs/1902.08153GitHub地址 (PyTorch):https://github.com/zhutmost/lsq-net基本量化设置计算结点伪量化:Weight跟Activation都采用Per-tensor量化; Scaling factor (Paper标记为Step size)是可学习参数;量化计算公式...原创 2020-02-12 11:37:14 · 6278 阅读 · 3 评论 -
NVIDIA INT4量化算法介绍
MLPerf是由来自学界和业界的多个组织(包括Google、Baidu、Intel、AMD、哈佛和斯坦福)共同发布的新型AI基准平台,用于衡量机器学习平台的AI性能,是目前业界最权威、最公正的AI性能评测平台之一。MLPerf目前已推出v0.5评测结果,参赛队伍包括Alibaba、NVIDIA、Google、Huawei等世界知名企业。MLPerf详情见官方网站的介绍:https://www....原创 2020-01-24 14:40:22 · 5627 阅读 · 0 评论 -
网络结构搜索 (NAS: Network Architecture Search)
NAS Definition基于搜索策略,并结合约束条件 (如accuracy、latency),在搜索空间内 (set of candidate operations or blocks)探索最优网络结构、或组件结构 (如detector的backbone、FPN); 高效的NAS算法,通常是Trade-off between data-driven and experience-driv...原创 2020-01-04 11:09:21 · 8121 阅读 · 0 评论 -
结合量化的知识蒸馏(Quantization Mimic)
"Quantization Mimic Towards Very Tiny CNN for Object Detection"这篇文章通过将知识蒸馏(Knowledge Distillation)与量化技术(Model Quantization)有效结合,能够诱导训练生成纤细、但性能良好的目标检测网络(主干网络通道数少、层数浅的R-FCN或Faster RCNN)。Quantization Mim...原创 2018-08-28 15:44:56 · 7159 阅读 · 2 评论 -
深度学习模型压缩与优化加速(Model Compression and Acceleration Overview)
1. 简介深度学习(Deep Learning)因其计算复杂度或参数冗余,在一些场景和设备上限制了相应的模型部署,需要借助模型压缩、优化加速、异构计算等方法突破瓶颈。模型压缩算法能够有效降低参数冗余,从而减少存储占用、通信带宽和计算复杂度,有助于深度学习的应用部署,具体可划分为如下几种方法(后续重点介绍剪枝与量化):线性或非线性量化:1/2bits, int8 和 fp16等; 结构或...原创 2018-07-17 17:49:48 · 45077 阅读 · 18 评论 -
Soft Filter Pruning (SFP)——允许更新Pruned Filters的Channel Pruning策略
"Soft Filter Pruning for Accelerating Deep Convolutional Neural Networks"这篇文章首先强调了结构稀疏的优势,基于结构稀疏的channel pruning不需要特定存储格式和算法库的支持,能够充分利用成熟算法库或框架以运行剪枝后模型。文章同时提到传统的"hard filter pruning"依赖于预训练模型,并且直接删除pr...原创 2018-07-16 17:16:53 · 2855 阅读 · 38 评论 -
ABCnet——高精度二值化网络(Binary Neural Network)
"Towards Accurate Binary Convolutional Neural Network"这篇文章提出了ABCnet,是一种表示精度较高的二值化网络结构(作为XNORnet的演进)。有关XNORnet及其优势可以参考论文:"XNORNet: ImageNet Classification Using Binary Convolutional Neural Networks"。...原创 2018-06-12 15:27:04 · 7428 阅读 · 3 评论 -
知识蒸馏(Knowledge Distillation)
1、Distilling the Knowledge in a Neural NetworkHinton的文章"Distilling the Knowledge in a Neural Network"首次提出了知识蒸馏(暗知识提取)的概念,通过引入与教师网络(teacher network:复杂、但推理性能优越)相关的软目标(soft-target)作为total loss的一部分,以诱导学...原创 2018-06-04 16:55:38 · 180439 阅读 · 34 评论 -
Network Slimming——有效的通道剪枝方法(Channel Pruning)
"Learning Efficient Convolutional Networks through Network Slimming"这篇文章提出了一种有效的结构性剪枝方法,即规整的通道剪枝策略:在训练期间,通过对网络BN层的gamma系数施加L1正则约束,使得模型朝着结构性稀疏的方向调整参数。此时BN层的Gamma系数所起的作用,类似于信息流通道的开关系数,控制着信息流通道的开关闭合。完成稀疏...原创 2018-06-11 11:43:54 · 14378 阅读 · 1 评论 -
学习对称形式的量化(Learning Symmetric Quantization)
"SYQ: Learning Symmetric Quantization For Efficient Deep Neural Networks"这篇文章提出了基于梯度的对称量化(SYQ: Learning Symmetric Quantization)方法设计高效率的二值化或三值化深度网络(1-bit或2-bit权重量化),并在pixel-wise或row-wise而非layer-wise定义细...原创 2018-05-28 19:58:29 · 4042 阅读 · 0 评论 -
基于NISP (Neuron Importance Score Propagation)算法的网络剪枝
"NISP: Pruning Networks using Neuron Importance Score Propagation"这篇文章认为,若只单独考虑深度网络某一层或连续两层neurons的重要性,裁剪掉看似不重要的neuron连接,可能会对后续层(不仅是接下来的一层)的响应输出产生影响,并且误差会逐层累积。因此需要整体考虑neurons的重要性。如上图所示,文章提出了NISP (Neur...原创 2018-05-26 19:12:38 · 3099 阅读 · 0 评论 -
渐进式剪枝及剪枝的必要性探讨
"To prune or not to prune: exploring the efficacy of pruning for model compression"这篇文章提出了渐进式的剪枝策略,该策略被应用于CNN、RNN与LSTM深度模型:裁剪比率逐渐减小,直至目标压缩比,曲线斜率如下:文章以复杂稀疏模型(large and sparse)与小而密集模型(small and ...原创 2018-05-25 10:22:52 · 2039 阅读 · 0 评论 -
Bi-Real Net——XNOR-net的增强与演进(Binary Neural Network)
"Bi-Real Net: Enhancing the Performance of 1bit CNNs with Improved Representational Capacity and Advanced Training Algorithm"这篇文章针对XNOR-net的缺陷,在网络结构及优化训练方面做了一系列增强与改进,具体包括引入one layer per block形式的shortc...原创 2018-09-08 18:54:05 · 5712 阅读 · 13 评论 -
目标检测网络的知识蒸馏
"Learning Efficient Object Detection Models with Knowledge Distillation"这篇文章通过知识蒸馏(Knowledge Distillation)与Hint指导学习(Hint Learning),提升了主干精简的多分类目标检测网络的推理精度(文章以Faster RCNN为例),例如Faster RCNN-Alexnet、Faster...原创 2018-09-06 17:01:21 · 18019 阅读 · 23 评论 -
在线多分支融合——Knowledge Distillation by On-the-Fly Native Ensemble
"Knowledge Distillation by On-the-Fly Native Ensemble"这篇文章基于给定的基础网络(如Resnet等),通过在网络深层次构造多分支结构,且每个分支作为学生网络,能够融合生成推理性能更强的教师网络。进而,通过教师/学生网络的共同在线学习、教师知识的反馈蒸馏,能够训练得到性能优越的单分支模型或多分支融合模型。基于ONE(On-the-Fly ...原创 2018-10-02 16:23:19 · 3552 阅读 · 0 评论 -
Post-training量化策略——without training or re-training
基于Pre-trained模型,采用Post-training量化策略,能够在一定程度上弥补量化精度损失,并且避免了相对耗时的quantization-ware training或re-training过程。 WA与BC "Data-Free Quantization through Weight Equalization and Bias Correction" 这篇文章提出了两种po...原创 2019-10-01 10:22:47 · 5063 阅读 · 0 评论