小飞侠 - 模型压缩
type: channel
link: http://www.kexue.love/index.php/category/mxys/
items: 模型压缩总结

模型压缩总结
type: item
date: 2022-03-19T13:51:00+00:00
description: 一、模型压缩的几种方式1.模型量化2.模型剪枝3.模型蒸馏(知识蒸馏)Bert系列模型的蒸馏方法分预训练的阶段、Finetune阶段的蒸馏：(1)预训练的阶段针对Bert系列模型的蒸馏方法，有distillbert和tinybert，这些模型都是直接作用在bert预训练的阶段，然后把训练好的模型应用到下游任务，这样的压缩蒸馏方法对一般人来说不太友好(2)Finetune阶段的蒸馏方法有如下两种方式：1)基于FastBert的蒸馏：（https://arxiv.org/pdf/2004.02178.pdf）2)基于bert-of-theseus方式进行蒸馏（https://arxiv.org/pdf/2002.02925.pdf）可以把Bert按照module replacing的方式来做压缩。4.模型其他方案(1)权重共享RoBERTa 和 ALBERT中介绍的 ALBERT 也是一种 BERT 压缩方法，主要是用了参数共享和矩阵分解的方法压缩 BERT 二、英伟达模型硬加速介绍：目前针对预训练模型推理加速，在模型不掉点情况下实现精度无损加速，目前尝试有效的方案：1、TensortRT-Fp32加速2、FasterTransformer-Fp32加速注意：1、针对Bert系列模型：在P40卡只能使用低版本TRT(<8)，经过测试低版本trt加速效果不如FT的加速效果，如果是高算力的卡优先建议使用高版本TRT来加速。2、针对基于Transformer+beamSearch这类生成模型：这里建议直接使用FT来实现加速，TRT在此类模型的加速收益不如FT。https://blog.csdn.net/HUSTHY/article/details/115174978