分层课程学习用于高效大语言模型压缩
摘要
本文提出了一种分层课程学习方法,用于高效压缩大语言模型,该方法以显著降低GPU内存占用和训练时间,实现了最先进性能。
arXiv:2609.19213v1 Announce Type: new
Abstract: 本文提出了一种分层课程学习方法用于高效压缩大语言模型。该方法通过课程学习的方式,从较简单的优化任务开始,逐步攻克更困难的任务,从而促进知识从教师模型向学生模型的迁移。为在大语言模型压缩中应用分层学习,我们将整个模型划分为由多个层组成的多个片段,从而实现针对大语言模型的、计算效率更高的知识迁移。基于我们对累积误差现象的理论分析,分层课程学习在加速收敛的同时稳定了知识迁移过程。此外,我们提出了一种具有多线程策略的特征缓存方法,以高效处理跨层的特征错位问题,最大化GPU利用率。因此,我们的方法在模型压缩性能和计算效率(体现在最小化内存占用和缩短训练时间方面)上均表现出色。在多个数据集上的实验表明,所提方法在BERT和GPT-2上实现了最先进性能,同时将GPU内存占用和训练时间减少了超过50%。此外,在相同的训练时间内,其在LLaMA系列和Qwen模型上的性能优于其他剪枝方法,且GPU内存占用更低。
查看缓存全文
缓存时间: 2026/09/18 08:48
# 用于高效大语言模型压缩的逐层课程学习
来源:https://arxiv.org/html/2609.19213
Donggeon Lee, Dooyeon Na, Seungmin Oh, Jongbin Ryu††thanks:通讯作者。隶属机构:韩国Ajou大学隶属机构:\{[donggeon_lee](mailto:[email protected]),[dooyeonna](mailto:[email protected]),[seungminoh](mailto:[email protected]),[jongbinryu](mailto:[email protected])\}@ajou.ac.kr
###### 摘要
本文介绍了用于高效大语言模型压缩的逐层课程学习方法。该方法利用课程学习策略——从较简单的优化任务开始,逐步攻克更难的任务——来促进知识从教师模型向学生模型的迁移。为了在LLM压缩中应用逐层学习,我们将整个模型划分为由多层组成的多个片段,从而实现更高效的LLM知识迁移。基于我们对累积误差现象的理论分析,逐层课程学习在加速收敛的同时稳定了知识迁移过程。此外,我们提出了一种采用多线程策略的特征缓存方法,以高效解决跨层特征错位问题,最大化GPU利用率。因此,我们的方法在模型压缩性能以及计算效率(体现为最小化的内存占用和较短的训练时间)方面均表现出色。在多个数据集上的实验表明,所提方法在BERT和GPT-2上实现了最先进的性能,同时将GPU内存使用量和训练时间减少了50%以上。此外,在相同训练时间下,该方法在LLaMA系列和Qwen模型上优于其他剪枝方法,且GPU内存占用更低。官方代码可在 https://github.com/mmai-laboratory/layer_wise_curriculum 获取。
## 1 引言
随着语言模型参数规模的增长,它们在各种任务上的性能显著提升Radford et al. \(2019\) (https://arxiv.org/html/2609.19213#bib.bib31); Devlin et al. \(2019\) (https://arxiv.org/html/2609.19213#bib.bib13); Touvron et al. \(2023\) (https://arxiv.org/html/2609.19213#bib.bib37); Grattafiori et al. \(2024\) (https://arxiv.org/html/2609.19213#bib.bib18)。然而,部署日益庞大的模型需要大量的硬件资源,带来了严峻的计算挑战。因此,近期研究集中在压缩语言模型上,旨在减少层参数数量的同时保持性能Sanh et al. \(2019\) (https://arxiv.org/html/2609.19213#bib.bib34); Wang et al. \(2020\) (https://arxiv.org/html/2609.19213#bib.bib39); Dasgupta and Cohn \(2025\) (https://arxiv.org/html/2609.19213#bib.bib11); Liang et al. \(2023\) (https://arxiv.org/html/2609.19213#bib.bib26); Chen et al. \(2025\) (https://arxiv.org/html/2609.19213#bib.bib7); Yang et al. \(2024b\) (https://arxiv.org/html/2609.19213#bib.bib44)。实现层减少主要有两种方法:1) 知识蒸馏,通过从教师模型迁移知识来训练学生模型;2) 剪枝,在没有知识迁移的情况下移除不重要的层参数。尽管两者都旨在压缩模型并保持性能,但压缩方式不同。KD通过显式知识迁移获益,但资源开销巨大;剪枝则更高效,但在压缩过程中未利用教师指导。
为了在严格的内存预算下实现稳定的压缩性能且不牺牲训练速度,我们基于一种结合了知识蒸馏和剪枝优势的逐层知识迁移方法进行构建。我们的方法采用分块的、逐层的方式迁移知识,在保持强大压缩质量的同时显著降低了训练成本。如图1所示,我们通过实验观察到随着层深度增加出现的误差累积现象,这源于学生层之间的特征错位。这种错位导致最终表示性能下降,最终限制了压缩模型的稳定性。我们通过Lipschitz连续性形式化了这种深度累积误差,解释了为什么更深的层更容易出错以及为什么统一的逐层优化并非最优。基于此分析,我们引入了逐层课程学习,采用一种课程策略,将优化重点从所有层逐步转向更深的层。这种设计直接针对累积误差的根本原因,更有效地利用了固定的优化预算。
(a)(b)
图1:逐层余弦距离和下游性能的经验评估。(a) 余弦距离展示了相对于教师模型的误差以逐层方式演变的过程,而(b) 报告任务准确率,量化了最终表示的质量。基线表示传统的逐层知识迁移方法,采用跨所有层的统一优化。
此外,为高效解决跨层特征错位问题,我们引入了一种特征缓存方法。该特征缓存方法通过采用多线程并行处理的知识迁移来抑制不必要的计算开销。此外,我们采用了一种基于方向的损失函数,利用特征向量的方向性,与传统的基于幅值的损失相比,能促进更鲁棒、高效的知识迁移。我们的框架做出以下贡献:
- • 我们通过Lipschitz连续性形式化来理论解释累积误差现象,阐明了特征错位为何在更深层中变得更严重。
- • 我们提出了逐层课程学习,在训练过程中将更多优化预算逐步重新分配给更深、更易出错的层。
- • 我们引入了通过特征缓存和多线程策略实现的高效流水线,消除了冗余并加速了收敛。
为验证所提方法的鲁棒性和效率,我们在四种语言模型(如BERTDevlin et al. \(2019\) (https://arxiv.org/html/2609.19213#bib.bib13)、GPT-2Radford et al. \(2019\) (https://arxiv.org/html/2609.19213#bib.bib31)、LLaMA系列Touvron et al. \(2023\) (https://arxiv.org/html/2609.19213#bib.bib37); Grattafiori et al. \(2024\) (https://arxiv.org/html/2609.19213#bib.bib18)和QwenYang et al. \(2024a\) (https://arxiv.org/html/2609.19213#bib.bib43))上与最先进方法进行了对比实验。结果表明,我们的方法性能优异,且收敛速度约快1.7倍。我们还证明了所提框架在内存受限环境中能有效运行。
参见图注
图2:所提方法的工作流程。(a) 基线采用与我们相同总训练时长的统一学习,(b) 我们的方法将更多优化预算逐步分配给更深、更易出错的层,从而有效缓解随层深度累积的误差。
## 2 相关工作
### 2.1 知识蒸馏
知识蒸馏Hinton et al. \(2014\) (https://arxiv.org/html/2609.19213#bib.bib20)通过引导较小的学生网络复制较大教师网络的功能,促进模型压缩。DistilBERT、DistilGPTSanh et al. \(2019\) (https://arxiv.org/html/2609.19213#bib.bib34)和MiniLMWang et al. \(2020\) (https://arxiv.org/html/2609.19213#bib.bib39)使用交叉熵损失、KL散度和余弦距离训练学生网络。CKADasgupta and Cohn \(2025\) (https://arxiv.org/html/2609.19213#bib.bib11)使用中心核对齐对齐学生和教师表示。TEDLiang et al. \(2023\) (https://arxiv.org/html/2609.19213#bib.bib26)在每层引入任务感知滤波器来训练学生网络模仿教师的特征。尽管KD通常能实现强大的压缩性能,但它需要额外的内存开销,因为教师和学生网络必须完全加载到每个GPU上。
为缓解这一局限,逐层KD将模型分割成多个片段并进行局部蒸馏,从而减少内存使用。例如,Blakeney et al. \(2021\) (https://arxiv.org/html/2609.19213#bib.bib3); Jang et al. \(2023\) (https://arxiv.org/html/2609.19213#bib.bib22)提出了用于解耦逐层蒸馏的优化流程。Chang et al. \(2022\) (https://arxiv.org/html/2609.19213#bib.bib6); Kim et al. \(2024\) (https://arxiv.org/html/2609.19213#bib.bib23)将逐层蒸馏应用于语音表示和专家混合模型。Yu et al. \(2025\) (https://arxiv.org/html/2609.19213#bib.bib45)通过连接器链接教师和学生层,但通过比较整个网络的最终logit进行蒸馏。这些方法通过对学生模型的各个层进行监督,实现了更细粒度的知识迁移。基于这些优势,我们引入了一种新的知识迁移方法,该方法通过课程学习和特征缓存方法得到改进。
### 2.2 剪枝
剪枝通过从预训练网络中识别和移除冗余参数或层来压缩模型。LLM-PrunerMa et al. \(2023\) (https://arxiv.org/html/2609.19213#bib.bib28)基于梯度信息移除不重要的结构,而LaCoYang et al. \(2024b\) (https://arxiv.org/html/2609.19213#bib.bib44)通过计算最终输出的相似性来合并层组。类似地,StreamlineChen et al. \(2025\) (https://arxiv.org/html/2609.19213#bib.bib7)基于输出相似性移除冗余层,并用训练过的轻量网络替换。尽管剪枝比KD更高效,但其性能会随着压缩比的增加而急剧下降。相比之下,我们的方法通过在压缩过程中融入教师指导的知识迁移,即使在高压缩率下也能保持稳定的性能。
## 3 方法
本节介绍所提出的框架,组织如下:首先基于Lipschitz连续性分析逐层知识迁移固有的累积误差现象;随后提出旨在减少累积误差的逐层课程学习方法,以及一种采用多线程策略的特征缓存方法,以有效解决跨层特征错位问题。在此基础上,我们引入了一个统一的压缩框架,通过逐层课程学习方法与高效的特征缓存方法相结合,实现鲁棒的知识迁移。所提框架的类PyTorch伪代码见附录A (https://arxiv.org/html/2609.19213#A1)。逐层课程学习的详细工作流程如图2 (https://arxiv.org/html/2609.19213#S1.F2)所示,而我们框架的端到端流水线在图3 (https://arxiv.org/html/2609.19213#S3.F3)中有详细说明。
### 3.1 知识迁移
#### 3.1.1 累积误差
我们的方法基于逐层知识迁移相关的累积误差。如图2 (https://arxiv.org/html/2609.19213#S1.F2)所示,独立学习每一层会导致学生层之间的特征错位。为解决这一局限,必须分析学习方法的误差。我们首先将教师层和学生层特征之间的理想局部优化误差建立为:
ek=∥Tk−Sk∥,e\_\{k\}=\\lVert T\_\{k\}\-S\_\{k\}\\rVert,\(1\)其中TkT\_\{k\}和SkS\_\{k\}分别表示教师和学生模型中第kthk\_\{th\}个分区层的输出特征。它捕捉了在推理时当学生层在没有教师干预的情况下顺序组合时所表现出的实际表示差距。然而在实践中,这种理想目标很少能通过逐层知识迁移实现。相反,每个学生层的条件依赖于相应教师层的特征。因此,逐层学习方法的精确局部优化误差定义为:
e^k=∥Tk−S^k∥,\\hat\{e\}\_\{k\}=\\lVert T\_\{k\}\-\\hat\{S\}\_\{k\}\\rVert,\(2\)其中S^k\\hat\{S\}\_\{k\}表示第kthk\_\{th\}个学生层的输出特征,其输入特征基于教师模型。这种不匹配是特征错位的根源:每个学生层在教师特征上训练,但在推理时接收学生特征。为分析eke\_\{k\}和e^k\\hat\{e\}\_\{k\}之间的关系,我们使用三角不等式将误差eke\_\{k\}的上界表述为:
ek≤∥S^k−Sk∥\+∥Tk−S^k∥\.\\displaystyle e\_\{k\}\\;\\leq\\;\\lVert\\hat\{S\}\_\{k\}\\\!\\\!\-S\_\{k\}\\rVert\+\\lVert T\_\{k\}\\\!\\\!\-\\hat\{S\}\_\{k\}\\rVert\.\(3\)为限定第一项,我们假设每个学生层局部遵循Lipschitz连续性,即对于所有uu和vv,∥f(u)−f(v)∥≤L∥u−v∥\\lVert f(u)\-f(v)\\rVert\\leq L\\lVert u\-v\\rVert成立,其中LL表示Lipschitz常数。由于我们在知识迁移过程中使用归一化层之后的输出特征,可以断言局部满足Lipschitz连续性,正如先前研究所证明的Santurkar et al. \(2018\) (https://arxiv.org/html/2609.19213#bib.bib35); Xiong et al. \(2020\) (https://arxiv.org/html/2609.19213#bib.bib42); Castin et al. \(2024\) (https://arxiv.org/html/2609.19213#bib.bib4)。归一化过程将特征表示约束在一个有界集合内,这种约束效应通过降低梯度爆炸风险和限制输出尺度的方差来稳定学习动态。为验证我们实际学习机制的局部Lipschitz假设,我们在附录B (https://arxiv.org/html/2609.19213#A2)中提供了局部Lipschitz常数和局部敏感性的经验分析。通过将fk(⋅)f\_\{k\}(\\cdot)定义为第kthk\_\{th\}个学生层的函数,所比较的特征可表示为S^k=fk(Tk−1)\\hat\{S\}\_\{k\}\\\!=\\\!f\_\{k\}(T\_\{k\-1\})和Sk=fk(Sk−1)S\_\{k\}\\\!=\\\!f\_\{k\}(S\_\{k\-1\})。因此,根据Lipschitz连续性,公式3 (https://arxiv.org/html/2609.19213#S3.E3)中第一项的上界确定为:
∥S^k−Sk∥≤Lk∥Tk−1−Sk−1∥,\\displaystyle\\lVert\\hat\{S\}\_\{k\}\\\!\\-\\\!S\_\{k\}\\rVert\\\!\\leq\\\!L\_\{k\}\\lVert T\_\{k\-1\}\\\!\\\!\-\\\!S\_\{k\-1\}\\rVert,\(4\)其中LkL\_\{k\}表示第kthk\_\{th\}个学生层的Lipschitz常数。因此,我们将公式3 (https://arxiv.org/html/2609.19213#S3.E3)简化为:
ek≤Lkek−1\+e^k,e\_\{k\}\\;\\leq\\;L\_\{k\}e\_\{k\-1\}\+\\hat\{e\}\_\{k\},\(5\)其中我们定义ek−1=∥Tk−1−Sk−1∥e\_\{k\-1\}\\\!=\\\!\\lVert T\_\{k\-1\}\\\!\\\!\-\\\!S\_\{k\-1\}\\rVert以及e^k=∥Tk−S^k∥\\hat\{e\}\_\{k\}\\\!=\\\!\\lVert T\_\{k\}\\\!\\\!\-\\\!\\hat\{S\}\_\{k\}\\rVert。公式5 (https://arxiv.org/html/2609.19213#S3.E5)递归地聚合了从前面各层传播的误差。因此,通过从第一层开始展开递归,我们推导出累积误差为:
ek≤∏i=2kLie1\+∑j=2k∏i=j+1kLie^j\.e\_\{k\}\\;\\leq\\;\\prod\_\{i=2\}^\{k\}L\_\{i\}e\_\{1\}\+\\sum\_\{j=2\}^\{k\}\\prod\_\{i=j\+1\}^\{k\}L\_\{i\}\\hat\{e\}\_\{j\}\.\(6\)这表明误差随层深度kk增长,促使我们采用考虑模型层深度的最优学习策略。
#### 3.1.2 逐层课程学习
如相似文章
面向LLM的高效知识蒸馏:离线Top-K Logits与融合分块KL损失
本文对如何让LLM的知识蒸馏训练更高效进行了实践研究,引入了离线Top-K logits缓存和一种融合的分块KL损失,从而减少内存尖峰,并允许在单张GPU上训练更长的上下文。
通过逐层误差模型搜索推进基于SVD的大语言模型压缩
本文提出逐层误差建模搜索(LEMS)与KFAC-SVD,以改进大语言模型的低秩SVD压缩,通过优化全局秩分配与分解质量,在Mistral、Qwen3和Llama 3系列模型上实现了最高4.8个百分点的零样本准确率提升以及平均15%的困惑度改善。
LRCC:通过条件计算泛化低秩压缩
LRCC提出了一种与token相关的计算分配方案:在冻结的预训练LLM中,通过训练轻量级路由器,在嵌套的低秩路径上进行动态选择。在相同的活跃参数预算和解码延迟下,与静态低秩压缩相比,LRCC在Llama和Qwen模型上取得了更好的困惑度和下游任务准确率。
研究人员发现一种可将大语言模型训练计算量减少15%且不牺牲质量的方法
在 EMNLP 2026 上,T-Tech 研究人员介绍了 LIMe,这是一种轻量级注意力扩展,通过复用较早层的键值缓冲区来缓解表征坍缩。在约 10 亿参数的模型上,与基线 LLaMA 相比,它在保持同等质量的同时,将大语言模型的训练计算量减少了约 15%。
通过激活聚合的提示压缩
本文提出通过中间层激活的学习加权和将指令提示压缩为单个激活向量,准确率下降低于2%,并揭示了对LLM激活空间结构的洞察。