NarrowBERT: Accelerating Masked Language Model Pretraining and Inference
本文是LLM系列文章,针对《NarrowBERT: Accelerating Masked Language Model Pretraining and Inference》的翻译。
摘要
大规模语言模型预训练是自然语言处理中一种非常成功的自监督学习形式,但随着时间的推移,模型和预训练语料库变得越来越大,执行成本越来越高。我们提出了NarrowBERT,这是一种改进的transformer编码器,它将掩蔽语言模型预训练的吞吐量提高了2倍以上。NarrowBERT稀疏transformer模型,使得自注意查询和前馈层在预训练期间仅对每个句子的掩蔽标记进行操作,而不是像通常的transformer编码器那样对所有标记进行操作。我们还表明,在MNLI等句子编码任务上,NarrowBERT在推理时的吞吐量增加了3.5倍,性能下降最小(或没有)。最后,我们检查了NarrowBERT在IMDB和Amazon评论分类和CoNLL NER任务上的性能,并表明它也与标准BERT性能相当。
1 引言
2 NarrowBERT
3 实验
4 讨论与结论
我们已经探索了在掩蔽语言模型损失计算中利用稀疏性的两种直接方法:重新排列transformer编码器的层,以允许前馈组件避免在非掩蔽位置上进行计算,以及在注意力机制中稀疏查询,以仅将掩蔽位置上下文化。NarrowBERT变体可以将训练速度提高约2倍,将推理速度提高约3倍,同时在GLUE、IMDB、Amazon和CoNLL NER任务上保持非常相似的性能。基于第3节中速度和性能之间的有利权衡,我们建议从业者在缩小范围之前考虑使用具有2或3层的SparseQueries NarrowBERT模型。
局限性
由于我们的预算限制,我们只对基本尺寸的transformer模型进行了预训练和下游实验。我们也只应用了掩蔽语言建模目标,但还有其他有效的预训练目标。尽管如此,由于我们在架构中引入了最小的更改,我们希望后续工作将从我们的缩小操作中受益,并进行更广泛的预训练和下游实验。虽然预训练的模型可以应用于更多的下游任务,但我们在这项工作中设计了一个合理的任务集,包括GLUE句子分类和CoNLL-NER顺序分类任务。