模型压缩技术:综述【模型蒸馏/Distillation;量化/Quantization;剪枝/Pruning;参数共享】
技术 模型 参数 压缩 共享 综述 量化 剪枝
2023-09-27 14:20:41 时间
BERT 在很多 NLP 任务上都取得不错的效果,但是其模型体积与计算量都很大,而且现在出现了更多越来越大的模型,例如 roBERTa 和 GPT2。由于这些模型的太大,难以用于一些性能没那么好的机器上,也不能很好地用于实时性要求高的应用中。因此有不少针对 BERT 模型压缩的研究,其中模型蒸馏 Distillation 是一种比较好的解决方法,本文介绍两种基于模型蒸馏的 BERT 模型压缩方法。
上图展示了很多基于 Transformer 的模型,模型下方的数字对应了模型的参数数量,单位是百万,可以看到这些模型变得越来越大。这些模型的体积也限制了其在现实世界中的使用,因为各方面因素:
- 这种模型的训练花费大量的金钱,需要使用昂贵的 GPU 服务器才能提供大规模的服务。
- 模型太大导致 inference 的时间也变长,不能用于一些实时性要求高的任务中。
- 现在有不少机器学习任务需要运行在终端上,例如智能手机,这种情况也必须使用轻量级的模型。
基于以上的原因,不少研究开始针对 BERT 模型压缩进行,常见的模型压缩方法有以下几种:
- 模型蒸馏 Distillation,使用大模型的学到的知识训练小模型,从而让小模型具有大模型的泛化能力。
- 量化 Quantization,降低大模型的精度,减小模型。
- 剪枝 Pruning,去掉模型中作用比较小的连接。
- 参数共享,共享网络中部分参数,降低模型参数数量。
RoBERTa 和 ALBERT中介绍的 ALBERT 也是一种 BERT 压缩方法,主要是用了参数共享和矩阵分解的方法压缩 BERT,但是 ALBERT 只减少模型的参数,并不能减少其 inference 的时间。
两种使用模型蒸馏压缩 BERT 的算法,第一种是 DistilBERT,将 12 层的 BERT-base 模型蒸馏到 6 层的 BERT 模型;第二种是将 BERT 模型蒸馏到 BiLSTM 模型。
参考资料:
BERT 模型蒸馏 Distillation BERT
深度神经网络模型蒸馏Distillation
深度学习模型压缩方法(4)-----模型蒸馏(Distilling)与精细模型网络
模型蒸馏(Model Distillation)
知识蒸馏的过程是怎样的?与迁移学习的区别在哪里?
模型蒸馏(Distil)及mnist实践
BERT 模型蒸馏 Distillation BERT
相关文章
- KubeEdge发布云原生边缘计算威胁模型及安全防护技术白皮书
- 深度学习:模型部署技术方案
- java编解码技术,json序列化与二进制序列化
- 虹科蕴藏在废物分类中的机器人技术革命
- 数据库技术丛书:SQL Server 2016 从入门到实战(视频教学版) PDF
- JSP+JavaBean+Servlet技术(MVC模型)
- android从入门到精通!这些新技术你们都知道吗?系列篇
- 转: 技术牛人博客
- 网络模型 - 每天5分钟玩转 Docker 容器技术(169)
- 【ChatGPT】ColossalChat:目前最接近 ChatGPT 原始技术方案的实用开源项目——以 LLaMA 为基础预训练模型,推出 ColossalChat
- 【ChatGPT】万字长文揭秘 GPT 背后:为何“大模型” 就一下子成为了引领人工智能 AI2.0时代热门技术?
- 《ChatGPT技术白皮书:图文详解+万字长文带你深度了解AI大模型 GPT》
- 《算法技术手册》一3.4.2 舍入误差
- 【ChatGPT】前世今生:GPT 系列模型技术路径演进
- NLP涉及技术原理和应用简单讲解【二】:paddle(分布式训练、AMP自动混合精度训练、模型量化、模型性能分析)
- 2023.1.16,周一【图神经网络 学习记录2】Graph Embedding 之 DeepWalk算法 解析 || 知识图谱嵌入技术:以TransE模型为例
- Vue技术3.数据绑定
- 阿里巴巴摘得LSVC桂冠 打造领先AI视频技术
- 云计算&虚拟化技术会是企业安全黑洞?
- 5G技术将融入数据中心
- Android技术周报_W8
- 机器视觉技术在农业自动化生产中的应用
- 区块链技术初探
- 机器学习中模型泛化能力和过拟合现象(overfitting)的矛盾、以及其主要缓解方法正则化技术原理初探
- 数据技术专家能力模型
- 网络技术:网络互联模型
- 探究Transformer模型中不同的池化技术
- 拥抱新技术?你需要考虑的方面