摘要
虽然基于 Transformer 的大型语言模型 (LLM) 的扩展在各种任务中展现出令人鼓舞的性能,但它也引入了冗余的架构,对现实世界部署带来了效率挑战。尽管已经认识到 LLM 中存在冗余,但 Transformer 中不同架构(如 MLP 和注意力层)的冗余变化却鲜有研究。在这项工作中,我们使用基于相似性的指标研究了 Transformer 内不同模块(包括块、MLP 和注意力层)的冗余。令人惊讶的是,尽管注意力层在区分 Transformer 与其他架构方面发挥着至关重要的作用,但我们发现这些层中很大一部分表现出过高的相似性,可以进行剪枝而不会降低性能。例如,Llama-2-70B 通过剪枝一半的注意力层,实现了 48.4% 的加速,性能仅下降了 2.4%。此外,通过追踪整个训练过程中的模型检查点,我们观察到注意力层冗余在训练阶段是固有的且一致的。此外,我们还提出了一种方法,可以同时丢弃注意力层和 MLP 层,从而使我们能够更积极地丢弃更多层。例如,在丢弃 31 个层(注意力 + MLP)的情况下,Llama-2-13B 在 MMLU 任务上的性能仍然保持了 90%。我们的工作为未来网络架构设计提供了宝贵的见解。代码已发布在:\url{https://github.com/Shwai-He/LLM-Drop}。