返回 M01~M90 教材库
M39 · 预习教材教材已备 ≠ 学习已完成

M39:领域适配诊断:为何 Loss 下降,任务却没有改善

适配 loss 只衡量模型对训练目标 token 的拟合;若目标格式、mask、数据分布或评估问题不对,loss 下降完全可能与真实任务改善无关。

2026-10-01domain-adaptation、rank、target-module、masking、data-quality

内容类型:预习教材(不代表已完成)
日期:2026-10-01
阶段:P1 · AI Model Engineering 90
周次:W6 · SFT、LoRA/PEFT 与领域适配
节奏:周四案例与连接
状态:教材已备;学习未完成
标签:domain-adaptation、rank、target-module、masking、data-quality

一句话定义

适配 loss 只衡量模型对训练目标 token 的拟合;若目标格式、mask、数据分布或评估问题不对,loss 下降完全可能与真实任务改善无关。

学习目标

  1. 能从 rank、target module、数据质量、格式和 masking 五条路径诊断适配失败。
  2. 能区分优化成功、记忆成功与任务成功。
  3. 能为一个领域案例建立“症状→可能原因→最小检查”表。

核心知识

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 或任务指标。

诊断可分三层:

  1. 优化层:A/B 是否有梯度,参数是否更新,loss 是否有限?
  2. 数据/目标层:mask 和 shift 是否正确,答案是否一致,模板是否匹配?
  3. 任务层:固定未见样例上的准确、格式、拒答、证据是否改善?

只有前两层正常,第三层仍无改善时,才更有理由讨论容量、rank 或基座能力上限。

最小练习或观察步骤

  1. 构造一个案例:训练 loss 稳定下降,但固定验证样例的目标字段经常缺失。
  2. 为五类原因各写一个可证伪假设,例如“答案 token 被 mask 掉”。
  3. 先打印一条 tokenized 样例的 token、label 和 mask 对齐,不训练新模型。
  4. 检查推理模板是否与训练模板使用相同角色和结束标记。
  5. 分开计算总体 loss 与 answer-only loss(无法运行时写出计算边界)。
  6. 最后才设计 rank 或 target module 的单变量对照。
  7. 用证据给原因排序,不以熟悉程度排序。

常见误区

  • loss 下降就宣称“领域知识已注入”。
  • 第一反应提高 rank,却不检查 label mask。
  • 从其他模型复制 target module 名称,实际层未被匹配。
  • 训练格式中答案带解释,评估却只接受裸标签,或反之。
  • 反复看训练样例,主观感到改善,却没有冻结验证集。

金融 / Web3 / 文档场景连接

金融文档常含免责声明、模板头尾与短关键结论。若所有 token 等权,模型可能主要学习高频模板,而关键风险理由占比很小。可对关键字段单独评估,并验证证据是否来自输入,而不是只看语言风格更像机构文本。

自检问题

  1. 为什么总体 loss 可能掩盖答案部分没有改善?
  2. rank 太大和太小分别可能产生什么问题?
  3. target module 未匹配时,最直接的检查是什么?
  4. “优化成功”到“任务成功”之间还缺哪些证据?

专业课程对齐

  • 精读 Hugging Face LLM Course 中 fine-tuning、evaluation 与 dataset processing 相关章节,检查 loss 目标与下游任务指标是否同向。
  • 精读 HF PEFT LoRAtarget_modulesmodules_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。证据不足时保留多个竞争假设。

学后填写区

  • 案例症状:
  • 排名前三的假设:
  • 最便宜的检查:
  • 发现的证据(未运行可留空):
  • 下一步单变量实验:
学完后,请把自己的理解、练习结果和仍不确定的问题写入文末“学后填写区”,再到唯一进度账本更新状态。预先阅读后续教材不会自动增加完成数。