LLM中的深度诅咒现象
我们都认识到 DeepSeek模型的优势,但您是否知道,其近一半的图层的贡献低于预期? 我们可以移除近一半的后置图层,而对性能的影响微乎其微,对于大型模型而言影响甚至更大。这意味着浪费了大量用于训练 LLM 的资源。 在本文中,我们将介绍深度诅咒(Curse of Depth)这一概念,它强调、解释并解决了最近在现代 LLM 中观察到的近一半层的有效性低于预期的问题。 摘要 我们提出了一种新颖的深度神经网络训练方法,该方法结合了监督学习和无监督学习的优势。我们的方法,我们称之为“半监督对比学习”(SSCL),利用带标签的数据学习判别性特征,同时利用未标签的数据来提高模型的鲁棒性和泛化能力。SSCL 基于对比学习的原则,即训练模型将相似样本的表示聚集在一起,同时将不相似样本的表示推开。然而,与传统的对比学习方法不同,SSCL 通过使用带标签数据的标签来指导对比学习过程,从而整合了监督信息。具体来说,我们引入了一种新的损失函数,该函数将监督对比损失与无监督对比损失相结合。监督对比损失鼓励模型学习相对于带标签类别具有判别性的特征,而无监督对比损失鼓励模型学习对未标签数据中的变化具有鲁棒性的特征。我们在各种图像分类任务上评估了 SSCL,结果表明,尤其是在带标签数据的数量有限时,它优于监督学习和无监督学习方法。此外,我们证明了 SSCL 可用于学习对对抗攻击不太敏感的鲁棒特征。 在本文中,我们介绍了深度诅咒,这一概念旨在强调、解释并解决现代大语言模型 (LLM) 中最近观察到的现象:近一半的层其效果不如预期。我们首先确认了这种现象在最流行的 LLM 家族中广泛存在,例如 Llama、Mistral、DeepSeek 和 Qwen。我们的分析,从理论和经验两方面出发,都表明 LLM 中深层效果不佳的根本原因是 Pre-Layer Normalization (Pre-LN,预层归一化) 的广泛使用。虽然 Pre-LN 能够稳定 Transformer 大语言模型的训练过程,但其输出方差会随着模型深度的增加呈指数级增长,这导致深层 Transformer 模块的导数趋近于单位矩阵,因此几乎无法对训练做出有效贡献。为了解决这个训练难题,我们提出了 LayerNorm Scaling(层归一化缩放),它通过层归一化深度的平方根倒数来缩放输出方差。这种简单的修改能够有效缓解更深层 Transformer 层的输出方差爆炸问题,从而提高它们的贡献。我们的实验结果涵盖了从 1.3 亿到 10 亿参数规模的模型,结果表明,与 Pre-LN 相比,LayerNorm Scaling 能够显著提升 LLM 预训练的性能。此外,这种性能提升也能无缝延续到监督微调阶段。所有这些增益都可以归因于 LayerNorm Scaling 使得更深层能够在训练过程中更有效地发挥作用。我们的代码已在 LayerNorm-Scaling 开源。 介绍 最近的研究表明,大语言模型(LLM)中较深的层(Transformer blocks)往往不如较早的层有效。一方面,这个有趣的观察结果为大语言模型压缩提供了一个有效的指标。例如,我们可以更大幅度地压缩较深的层,以实现更高的压缩率。更激进的做法是,为了获得更经济实惠的大语言模型,可以完全剪枝整个深层,而不会影响性能。另一方面,拥有许多无效层是不可取的,因为大语言模型在训练时极其耗费资源,通常需要数千个GPU训练数月,更不用说用于数据整理和管理的劳动力。理想情况下,我们希望模型中的所有层都经过良好训练,层与层之间的特征具有足够的差异性,以最大限度地提高资源的利用率。无效层的存在表明,当前的大语言模型范式必然存在问题。解决这些局限性是社区的迫切需求,以避免浪费宝贵的资源,因为新版本的大语言模型通常沿用之前的计算范式进行训练,这会导致无效层的产生。 为了立即引起社区的关注,我们引入了深度诅咒(CoD)的概念,以系统地呈现各种大语言模型(LLM)家族中无效深层现象,从而识别其背后的根本原因,并通过提出层归一化缩放(LayerNorm Scaling)来纠正它。我们首先陈述下面的深度诅咒。 深度诅咒。 ==深度诅咒指的是观察到的现象,即与早期层相比,LLM中更深层对学习和表示的贡献明显更少。这些更深层通常表现出对模型剪枝和扰动攻击的显着鲁棒性,这意味着它们无法执行有意义的转换。这种行为阻止了这些层有效地促进训练和表示学习,从而导致资源利用率低。== CoD 的经验证据。@yin2023outlier 发现,与较浅的层相比,大语言模型的较深层可以容忍显著更高程度的剪枝,从而实现高稀疏性。类似地,@gromov2024unreasonable 和 @men2024shortgpt 证明,移除早期层会导致模型性能急剧下降,而移除深层则不会。@lad2024remarkable 表明,GPT-2 和 Pythia 的中间层和深层对诸如层交换和层丢弃之类的扰动表现出显著的鲁棒性。最近,@li2024owlore 强调,早期层包含更多的异常值,因此对于微调更为关键。虽然这些研究有效地突出了大语言模型中深层的局限性,但它们未能确定此问题的根本原因或提出可行的解决方案来解决它。为了证明深度诅咒在流行的 LLM 系列中普遍存在,我们对各种模型(包括 LLaMA2-7/13B、Mistral-7B、DeepSeek-7B 和 Qwen-7B)进行了层剪枝实验。我们通过一次剪除每个模型的整个层,并直接在 MMLU 上评估生成的剪枝模型,来衡量大规模多任务语言理解 (MMLU) 基准上的性能下降,如图1所示,无需进行任何微调。 ...