为什么 Prompt 和 RAG 有时候不够?
知识问答类任务,模型主要需要「找对资料、组织答案」——RAG 往往是首选。但若线上要的是可机器解析的结构(固定字段、枚举值、必须从原文复制的证据片段、PII 标记等),仅靠 prompt 约束,输出格式容易漂移:今天合法 JSON,明天多一个字段;证据引用有时准确、有时编造。
这时问题不再是「模型知不知道」,而是「模型能不能稳定按业务 schema 输出」。小模型微调(常见为 LoRA / QLoRA)训练的是输出形状与规则,与把文档塞进向量库是两条路。
决策顺序:不要跳过前面的台阶
- Prompt / 系统指令 — 零样本或少量示例,成本最低。
- RAG — 知识型问答、需要引用来源时优先。
- Teacher 预标注 + 人工 Gold — schema 复杂、需证据 span、需审计轨迹。
- LoRA 微调 — 有 holdout Gold 与足够训练池,且 baseline 评测确有提升空间。
- 更大模型 / 云 API / 偏好对齐 — LoRA 仍不够或客户明确要求时再考虑。
没有冻结的 schema、没有业务 Owner 签字验收线、没有可复核样本时,不应承诺微调能解决一切。
通用八步:从语料到对比报告
FFDE 将垂直 SLM 项目抽象为可重复的八步(适用于评论标注、工单分类、合同条款抽取等任意场景):
- 语料采集与登记 — 来源、脱敏、去重;敏感数据不进 Git。
- Schema 与标注手册冻结 — 字段、枚举、证据规则;业务 Owner 确认。
- Teacher 批量预标注 — 强模型降本提速,记录模型版本与参数。
- 自动校验与 Teacher 审计 — 结构合法率、证据子串、PII 规则;问题样本优先队列。
- 人工 Gold 审核 — 逐条填写或修正;参考稿只读,不得照抄。
- Gold 冻结与 holdout 锁定 — 按样本 ID 与原文 hash 双阻断,版本化存档。
- 训练集构建 + LoRA — 仅用非 holdout 的 Teacher 标签;训练前泄漏自检。
- Baseline vs 微调评测 — 同一 Gold 集、同一指标;报告进验收证据包。
更完整的 Gate 清单与产出物定义见方法论页「垂直小模型」一节。
三类数据:必须分开,不能混用
- Teacher 预标注 — 可进入训练池(排除 holdout 后),不能当作评测标准。
- 人工 Gold — 只用于 holdout 评测,永不进入训练标签。
- Sidecar 参考稿 — 只读展示给标注员,禁止复制进 Gold 字段。
违反任一条,会出现「用考题训练」或「Gold 被 Teacher 污染」,评测数字失去意义。
标注团队怎么组织?质量如何保证?
大批量字段填写在业界常由实习生、兼职或外包团队承担——这本身不是问题。标签体系设计、高风险语义判断、验收签字仍须业务 Owner 或领域专家主导。
FFDE 推荐试点至少具备以下机制(详细说明见内部交付文档):
- 开标前校准会 — 10–20 条一起做,统一歧义处理。
- 保存即校验 — JSON、枚举、证据子串不通过不能提交。
- 金标准题(Honeypot) — 队列混入已知答案;通过率过低暂停该标注员。
- 双人标注与仲裁 — 抽检比例内双标;不一致由专家定稿。
- 专家抽检 — 每批 5–10% 复核;错误反馈回标注手册。
- 分批冻结 — 第一批达标再扩量,避免 rubric 错了堆几千条废数据。
质量靠流程与门禁,不靠「谁更便宜就会更认真」。
Holdout 与验收:怎样算「微调有效」?
Gold 冻结后顺序不可打乱:
- 基座模型在 Gold 上跑 baseline(无 adapter)。
- 用非 holdout Teacher 标签训练 LoRA。
- 在同一 Gold 集上再跑一轮,对比 JSON 合法率、字段准确率、PII 匹配等约定指标。
试点若使用合成语料,仅用于验证管线是否跑通,不对外宣称生产级效果。正式项目须使用客户脱敏真实语料,并单独约定样本规模与验收线。
常见误区
- 把 Teacher 输出直接当 Gold — 评测与训练都会被强模型偏见锁死。
- Gold 与训练随机划分、无 hash 去重 — 同一原文换 ID 仍会泄漏进训练。
- 没 baseline 就宣称微调成功 — 必须用同一验收集对比。
- 样本很少却期望接近通用大模型 — LoRA 改善的是垂直格式与规则,不是万能智能。
- 只交 adapter 文件夹 — 应交付对比报告、失败样例、数据边界与运行配置说明。