Transformer实战(32)——Transformer模型压缩
0. 前言
我们已经学习了如何设计自然语言处理 (Natural Language Processing, NLP) 架构,以利用 Transformer 成功解决实际任务。在本节中,我们将学习如何通过蒸馏、剪枝和量化将训练好的模型转化为高效模型,还将了解模型模型压缩的实际应用。随着大规模神经网络模型的扩展,在有限计算能力下运行大模型变得越来越困难,如何构建高效的模型变得尤为重要。轻量化的通用语言模型(例如 DistilBERT )可以像未蒸馏的模型一样进行微调,并能够获得与未压缩模型相媲美的性能。我们还将简要介绍 bitsandbytes,以实现更高效、更简便的量化。
1. 高效 Transformer 简介
基于 Transformer 的模型在许多 NLP 问题中取得了优异表现,但其代价是平方级的内存和计算复杂度。我们可以将复杂性问题总结如下:
- 由于自注意力机制的复杂度随序列长度呈平方级增长,
Transformer模型在处理长序列时效率较低 - 内存受限的情况下(例如
16GB GPU),模型可以处理512个词元的句子进行训练和推理,但通常无法处理更长的输入序列 NLP模型的规模不断增长,从BERT-Base的
订阅专栏 解锁全文
6万+

被折叠的 条评论
为什么被折叠?



