MobileBERT:面向资源受限设备的紧凑型通用BERT模型
🕙发布时间:2025-02-19
近日热文:
1. 全网最全的神经网络数学原理(代码和公式)直观解释
2. 大模型进化史:从Transformer到DeepSeek-R1的AI变革之路
3. 2W8000字深度剖析25种RAG变体:全网最全~没有之一
知乎【柏企】
公众号【柏企科技说】【柏企阅文】
MobileBERT的深度与BERTLARGE相同,但每个构建模块要小得多,每个构建模块的隐藏维度仅为128。另一方面,我们为每个构建模块引入两个线性变换,将其输入和输出维度调整为512。我们将这种架构称为瓶颈结构。
训练这样一个又深又窄的网络颇具挑战性。为了克服训练难题,我们首先构建一个教师网络并训练至收敛,然后将知识从这个教师网络迁移到MobileBERT。
教师网络就是BERT - LARGE,并增加了倒置瓶颈结构,将其特征图大小调整为512。我们将这个教师网络称为IB - BERT - LARGE。
MobileBERT的瓶颈结构带来了一个问题,即多头注意力(MHA)模块和前馈网络(FFN)模块之间的平衡被打破了。
在原始的BERT中,MHA和FFN的参数数量比始终是1:2。但在瓶颈结构中,MHA的输入来自更宽的特征图(块间大小),而FFN的输入来自更窄的瓶颈(块内大小)。这导致MobileBERT中的MHA模块相对包含更多参数。
为了解决这个问题,我们提议在MobileBERT中使用堆叠前馈网络,重新平衡MHA和FFN之间的相对大小。
操作优化
通过模型延迟分析,我们发现层归一化和GELU激活在总延迟中占比相当大。因此,我们提议在MobileBERT中用新的操作替换它们。
我们用逐元素线性变换替换n通道隐藏状态h的层归一化:
其中,$\gamma, \beta \in \mathbb{R}$,$\circ$表示哈达玛积。
我们用更简单的ReLU激活替换GELU激活。
嵌入分解
BERT模型中的嵌入表在模型大小中占比很大。为了压缩嵌入层,我们在MobileBERT中将嵌入维度降低到128。然后,我们对原始的词元嵌入应用核大小为3的一维卷积,以产生512维的输出。
训练目标
特征图迁移(FMT)
在逐层知识迁移中,最重要的是每一层的特征图应尽可能接近教师网络的特征图。MobileBERT学生模型和IB - BERT教师模型的特征图之间的均方误差被用作知识迁移目标。
注意力迁移(AT)
我们最小化MobileBERT学生模型和IB - BERT教师模型的每个头的自注意力分布之间的KL散度:
预训练蒸馏(PD)
除了逐层知识迁移,我们在预训练MobileBERT时还可以使用知识蒸馏损失。我们将原始的掩码语言建模(MLM)损失、下一句预测(NSP)损失和新的MLM知识蒸馏(KD)损失进行线性组合,作为我们的预训练蒸馏损失。
训练策略
辅助知识迁移
在这个策略中,我们将中间知识迁移视为知识蒸馏的辅助任务。我们使用单一损失,它是来自所有层的知识迁移损失以及预训练蒸馏损失的线性组合。
联合知识迁移
然而,IB - BERT教师模型的中间知识(即注意力图和特征图)对于MobileBERT学生模型来说可能不是最优解。因此,我们提议将这两个损失项分开,首先用所有的逐层知识迁移损失联合训练MobileBERT,然后通过预训练蒸馏进一步训练。
渐进式知识迁移
有人可能还担心,如果MobileBERT不能完美模仿IB - BERT教师模型,较低层的误差可能会影响较高层的知识迁移。因此,我们提议在知识迁移中逐步训练每一层。渐进式知识迁移分为L个阶段,其中L是层数。
评估
论文:
MobileBERT: a Compact Task-Agnostic BERT for Resource-Limited Devices 2004.02984
## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。