历史最全BERT压缩方法汇总分享

    模型压缩减少了训练好的神经网络中冗余的部分。模型压缩对于像BERT这类复杂模型来说特别有用,因为BERT,特别是BERT-Large需要消耗大量GPU显存,且根本不适用于内存受限的智能手机。当然,提高内存和推理速度也可以大规模节省成本。

     

    在这篇文章中,整理列一些压缩BERT的一些论文,分享给大家。

Bert压缩常用方法

    裁剪-训练后移除网络中不必要的部分。这包括weight裁剪、attention head裁剪、layer裁剪等。一些方法还在训练过程中通过正则化,以增加可靠性(layer dropout)。

     

    权值矩阵分解-通过将参数矩阵分解成两个较小矩阵的乘积来逼近原始参数矩阵。这给矩阵施加了低秩约束。权值因子分解既可以应用于输入embedding(这节省了大量磁盘内存),也可以应用于前馈/self-attention层的参数(为了提高速度)。

     

    知识抽取——又名“Student Teacher”。根据预训练/下游数据从头开始训练一个小得多的Transformer。正常情况下,这可能会失败,但是由于未知的原因,利用全尺寸模型中的soft labels可以改进优化。一些方法还使用其他模型架构(LSTM)抽取BERT,这些模型具有更快的推理速度。其他方法则采用更深的teacher,不仅着眼于输出,还着眼于权值矩阵和隐藏的激活。

     

    权值共享-模型中的一些权值与模型中的其他参数共享相同的值。例如,ALBERT对BERT中的每一层self-attention使用相同的权值矩阵。

     

    量化-截断浮点数,使其仅使用几个比特(这会导致舍入误差)。量化值也可以在训练期间或之后学习。

     

    训练前与训练后—一些方法仅通过某些下游任务来压缩BERT。其他方法则以任务无关的方式压缩BERT。

相关论文

(按压缩方法分类)

     

其他相关资源

    Sparse Transformer: Concentrated Attention Through Explicit Selection:https://openreview.net/forum?id=Hye87grYDH

    Lightweight and Efficient Neural Natural Language Processing with Quaternion Networks:http://arxiv.org/abs/1906.04393

    Adaptively Sparse Transformers:https://www.semanticscholar.org/paper/f6390beca54411b06f3bde424fb983a451789733

    Compressing BERT for Faster Prediction:https://blog.rasa.com/compressing-bert-for-faster-prediction-2/amp/

往期精品内容推荐

特斯拉最新全自动驾驶视频

2019年Google最新中文版《机器学习速成课程》分享

基于GPT-2和百万源码训练实现全语言编程自动补全

2019年BAT、TMD等互联网最新、最全面试题目及答案汇总

斯坦福大学-2019年自然语言理解(CS224u)全套课程资源分享

Graph Neural Network(GNN)最全资源整理分享

斯坦福NLP组-CS224n: NLP与深度学习-2019春全套资料分享

深度神经网络压缩和加速相关最全资源分享

深度学习基础系列之2019深度学习暑期课程视频分享(中英字幕)

最全中文自然语言处理数据集、平台和工具整理

元学习(Meta Learning)最全论文、视频、书籍资源整理

图神经网络(GNN)无监督学习 - Thomas Kipf

历史最全量化交易书籍、视频教程、博客、代码、算法整理

深度学习-强化学习-图神经网络-自然语言处理等AI课程超级大列表

两分钟论文解读-视频人体跟踪技术详解

发布了167 篇原创文章 · 获赞 208 · 访问量 58万+

猜你喜欢

转载自blog.csdn.net/lqfarmer/article/details/103441200