M39:领域适配诊断:为何 Loss 下降,任务却没有改善
适配 loss 只衡量模型对训练目标 token 的拟合;若目标格式、mask、数据分布或评估问题不对,loss 下降完全可能与真实任务改善无关。
内容类型:预习教材(不代表已完成)
日期:2026-10-01
阶段:P1 · AI Model Engineering 90
周次:W6 · SFT、LoRA/PEFT 与领域适配
节奏:周四案例与连接
状态:教材已备;学习未完成
标签:domain-adaptation、rank、target-module、masking、data-quality
一句话定义
适配 loss 只衡量模型对训练目标 token 的拟合;若目标格式、mask、数据分布或评估问题不对,loss 下降完全可能与真实任务改善无关。
学习目标
- 能从 rank、target module、数据质量、格式和 masking 五条路径诊断适配失败。
- 能区分优化成功、记忆成功与任务成功。
- 能为一个领域案例建立“症状→可能原因→最小检查”表。
核心知识
rank控制低秩增量的表达空间,但更大不必然更好。小 rank 可能无法表达复杂变化;大 rank 在少量数据上更易记忆,也增加资源。
target module决定改变发生在哪里。只适配 q/v、全部 attention 投影或 FFN,影响范围不同。选择应基于模型架构与任务假设,而不是机械复制其他模型配置。
数据质量包括标签一致、覆盖边界、无泄漏、样例难度和语言分布。大量格式统一但内容错误的样本,会高效教会模型稳定地产生错误。
格式决定训练时看到的角色标记、指令、答案分隔和结束 token。训练模板与推理模板不一致,会产生分布偏移;遗漏 EOS 可能让模型不知何时停止。
masking决定哪些 token 贡献梯度。把 padding 或 prompt 全部纳入 loss,可能让总 loss 被易预测部分主导,使真正答案 token 的变化被掩盖。
机制/推导
若总序列由 90 个 prompt token 和 10 个 answer token 构成,并对全部 token 等权计算 loss,那么即使 answer 部分毫无改善,prompt 部分的下降也可能主导总体平均值。应同时观察 answer-only loss 或任务指标。
诊断可分三层:
- 优化层:A/B 是否有梯度,参数是否更新,loss 是否有限?
- 数据/目标层:mask 和 shift 是否正确,答案是否一致,模板是否匹配?
- 任务层:固定未见样例上的准确、格式、拒答、证据是否改善?
只有前两层正常,第三层仍无改善时,才更有理由讨论容量、rank 或基座能力上限。
最小练习或观察步骤
- 构造一个案例:训练 loss 稳定下降,但固定验证样例的目标字段经常缺失。
- 为五类原因各写一个可证伪假设,例如“答案 token 被 mask 掉”。
- 先打印一条 tokenized 样例的 token、label 和 mask 对齐,不训练新模型。
- 检查推理模板是否与训练模板使用相同角色和结束标记。
- 分开计算总体 loss 与 answer-only loss(无法运行时写出计算边界)。
- 最后才设计 rank 或 target module 的单变量对照。
- 用证据给原因排序,不以熟悉程度排序。
常见误区
- loss 下降就宣称“领域知识已注入”。
- 第一反应提高 rank,却不检查 label mask。
- 从其他模型复制 target module 名称,实际层未被匹配。
- 训练格式中答案带解释,评估却只接受裸标签,或反之。
- 反复看训练样例,主观感到改善,却没有冻结验证集。
金融 / Web3 / 文档场景连接
金融文档常含免责声明、模板头尾与短关键结论。若所有 token 等权,模型可能主要学习高频模板,而关键风险理由占比很小。可对关键字段单独评估,并验证证据是否来自输入,而不是只看语言风格更像机构文本。
自检问题
- 为什么总体 loss 可能掩盖答案部分没有改善?
- rank 太大和太小分别可能产生什么问题?
- target module 未匹配时,最直接的检查是什么?
- “优化成功”到“任务成功”之间还缺哪些证据?
专业课程对齐
- 精读 Hugging Face LLM Course 中 fine-tuning、evaluation 与 dataset processing 相关章节,检查 loss 目标与下游任务指标是否同向。
- 精读 HF PEFT LoRA 的
target_modules、modules_to_save、bias 与初始化参数,排查 adapter 是否注入错层或漏存任务 head。 - 选读 Stanford CS224N 的 evaluation、pretraining/fine-tuning 课题,补充 distribution shift 与任务设计视角。
深入学习提示
先对齐评估目标,再查 PEFT 注入路径,最后考虑分布偏移。诊断表要同时列 train/validation loss、任务指标、格式合法率、基础能力回归集和切分方式。代码上检查 label masking、padding token、generation config、adapter 是否真正加载,以及 eval 时是否误用 train mode。建立反例:loss 下降可来自模仿固定模板,但对未见实体的准确率不变;也可因文档片段泄漏而出现虚高 validation。证据不足时保留多个竞争假设。
学后填写区
- 案例症状:
- 排名前三的假设:
- 最便宜的检查:
- 发现的证据(未运行可留空):
- 下一步单变量实验: