EWC/KD/ILR/PL

发布时间:2026/7/6 1:34:36
EWC/KD/ILR/PL 我将结合LoRA微调背景对大模型训练与微调中四个截然不同的核心课题防遗忘正则化、模型压缩迁移、优化策略调参和课程安排数据调度逐一进行技术拆解最后再串联它们的协同关系。1. 弹性权重合并EWCElastic Weight Consolidation解决痛点灾难性遗忘Catastrophic Forgetting。当模型学完任务A再去学任务B时更新全量参数会把任务A的“记忆”覆盖掉。核心数学机制EWC不冻结参数而是给每个参数加一根“松紧带”。它通过Fisher信息矩阵对角近似来评估每个权重对旧任务任务A的“重要程度”。如果某个权重对旧任务极其重要Fisher值大更新它时损失函数会施加极大的二次惩罚项。如果权重不重要则可以随意更新。损失函数变为L(θ)LB(θ)λ2∑iFi(θi−θA∗)2L(θ)LB​(θ)2λ​i∑​Fi​(θi​−θA∗​)2其中 FiFi​ 是重要性θA∗θA∗​ 是旧任务的最优点λλ 是正则化强度与LoRA的区别LoRA是“完全不碰旧权重冻结”属于硬隔离EWC是“允许动旧权重但微调时给关键参数上枷锁”属于软约束。EWC更适合持续学习Continual Learning场景但计算Fisher矩阵在百亿参数模型上极其昂贵因此在LLM微调中EWC使用率远低于LoRA。2. 知识蒸馏KDKnowledge Distillation解决痛点模型太大推理太慢或者想把“大模型教师的泛化能力”迁移到“小模型学生”上。核心机制传统的训练是让模型学硬标签Hard Labels即“正确答案是猫”。知识蒸馏的关键在于引入温度系数Temperature, TT让学生模型去模仿教师模型输出的软概率分布Soft Labels。教师模型输出的logits除以温度 TT 后做Softmax概率分布变得“平滑”例如猫的概率0.9狗0.08汽车0.02。这个平滑分布包含了教师对“猫和狗很像”的暗知识Dark Knowledge。学生模型不仅要拟合真实标签硬损失还要拟合教师输出的软分布蒸馏损失通常用KL散度。在LLM中的高阶玩法自蒸馏Self-Distillation用自身在充足数据上的输出去微调自身在稀疏数据上的表现。上下文蒸馏把复杂的CoT思维链推理过程蒸馏为直接输出的最终答案提升推理速度。3. 增大学习率Increasing Learning Rate重要前提在LLM领域“无脑增大学习率”通常是危险的但它的确是一种关键的策略性操作主要出现在以下三个特定阶段① Warm-up预热阶段这是LLM训练的必修课。在训练初期前几百步学习率从 0线性增大到目标值如 2e-4。因为初期模型梯度方差极大如果直接用大学习率会导致Adam优化器极不稳定。所以这里的“增大”是为了稳定过渡。② 循环退火Cyclical / Cosine Restart如SGDR算法训练一段时间后学习率衰减到极小值然后瞬间跳回较大的学习率。目的是让模型跳出当前的“尖锐局部极小值”探索更“平坦”的损失平面平坦区域泛化能力更强。③ 逃离瓶颈期当Loss长期不动时手动短时间增大学习率利用梯度冲击打破优化僵局。绝对禁忌在LoRA微调后期如果你的 loss 震荡剧烈绝对不要增大学习率否则 AA 和 BB 矩阵会瞬间梯度爆炸破坏基座能力。4. 渐进式学习Progressive Learning解决痛点模型一次性接触复杂数据容易不收敛或过度拟合。核心思想是课程学习Curriculum Learning即由易到难、由简到繁。在LLM中的典型落地场景数据维度长度渐进先用短文本如 512 tokens训练模型学习句法和局部语义待收敛后再逐步增加上下文长度如 1024 - 2048 - 4096训练长程依赖。Google的Transformer早期训练常用此招可节省30%训练时间。任务维度难度渐进先让模型做选择题判别式再做简答题生成式或者先学小学数学再学微积分。模型维度深度/宽度渐进先训练一个12层的小Transformer作为“胚胎”然后将权重复制并堆叠如把第ii层参数复制给第i6i6层再继续训练扩展成24层大模型。MSRA的StackBERT就是典型代表。5. 四者横向对比与组合应用维度弹性权重合并 (EWC)知识蒸馏 (KD)增大学习率 (LR)渐进式学习本质归属正则化 / 约束算法迁移学习 / 压缩算法优化器超参调度数据 / 架构调度策略操作对象模型的全量权重模型的输出Logits训练的梯度步长训练的输入批次主要目标抵抗灾难性遗忘提升小模型能力 / 加速推理逃离局部极小 / 启动训练稳定训练 / 加速收敛是否改变模型结构否否只改变输出目标否可能如逐层增加深度与LoRA的兼容性极差EWC计算量巨大很少和LoRA一起用极好可在微调时用基座做教师蒸馏LoRA学生一般仅用Warm-up增大后期必须衰减极好LoRA微调时先训简单指令再训复杂推理6. 实战组合拳建议针对LoRA微调项目假设你现在要用LoRA微调一个7B的数学推理模型这四者的配合是先用“渐进式学习”准备数据集时先喂入3000道简单的一步算术题模型稳定后再加入2000道复杂的多步应用题由易到难防止早期梯度震荡。设置“学习率”前5%的步数将LoRA的学习率从 0 缓慢增大到 1e-4Warm-up剩下的95%步数使用余弦衰减将学习率降至 1e-6切记后期是减小而不是增大。用“知识蒸馏”提效如果你想把7B模型部署到手机端换3B小模型在训练3B小模型时让7B模型冻结同时输出soft labels辅助3B训练这样3B模型能达到接近7B的80%能力。慎用EWC如果你是在旧领域模型上硬加新领域知识如先学法律再学医疗且不能遗忘法律且不方便保留旧数据此时考虑使用EWC但如果你的场景允许混训直接抛弃EWC用LoRA数据混合重放更省心。