如何以更少实现更多:简化Transformer Block
1 总结
文本深入探讨了如何简化标准变压器模块(Transformer Block)的复杂结构。作者通过信号传播理论和实证观察,提出了一系列简化措施,包括移除跳过连接、投影或值参数、顺序子模块和规范化层,而不损失训练速度。实验表明,这些简化的变压器在自回归解码器和BERT编码器模型上,能够模仿标准变压器的每次更新训练速度和性能,同时训练吞吐量提高了15%,使用的参数减少了15%。
论文:https://arxiv.org/abs/2311.01906
Readpaper:https://readpaper.com/paper/4819229436637347841
2 详细介绍
2.1 简化变压器模块
● 移除注意力子模块的残差连接
● 移除值和投影参数
● 移除MLP子模块的残差连接
● 移除归一化层

2.2 实验
深度缩放:研究表明,当模型深度从18增加到72个模块时,性能得到提升。这说明简化的变压器模块不仅训练速度更快,而且能够有效利用更深层次的额外容量。

BERT模型:研究还展示了简化模块在不同数据集和架构(包括BERT模型)上的性能,以及在下游任务(如GLUE基准测试)上的应用。特别是在“Crammed” BERT设置中,简化模块在保持现有优化超参数的同时,通过调整学习率和权重衰减,达到了与原始模型相匹配的预训练速度。

GLUE基准测试和效率提升:简化的变压器模块在GLUE基准测试上的性能与原始模型相当,但使用的参数少16%,训练吞吐量提高了16%。

2.3 局限性
尽管我们已经证明了他们的简化方法在不同架构、数据集和任务中的有效性,但考虑的模型(具有100-300M参数)相对于最大的变压器模型来说还是较小。尽管已经做了深度缩放实验,但是对于十几倍甚至上百倍的模型大小,不知道能不能依然满足这样的定律。
3 观点
学术上,本文挑战了变压器模块设计的传统观念,提供了一种新的简化方法,这可能会激发更多关于模型效率和结构优化的研究。
商业上,简化的变压器模块意味着更高的训练效率和成本节约,特别是对于需要大规模部署和运行的公司来说,这将极大地提高他们的竞争力。就是不知道什么时候meta等公司什么时候开源了。

特邀作者:日本早稻田大学计算机系博士生 王军杰