简介:面向开发者与技术负责人的垂域大模型自研教程:讲清何时应从通用商用接口转向“开源基座+后训练”路线,如何完成基座选型、语料治理、指令微调、偏好对齐、评测集构建与回归验证,以及推理部署、成本控制与线上可观测。按步骤执行即可完成从需求定义到灰度上线的闭环,避开幻觉放大、许可风险与训练资源浪费等常见坑。
最近一段时间,行业里出现了一个清晰的趋势:一些已经在垂直领域积累大量数据的团队(例如法律科技、代码助手、本地生活服务等方向),不再把全部业务压在通用商用大模型的接口上,而是转向“选择一个开源基座模型 + 在自有领域数据上做后训练”的路线,产出自有模型,从而在响应风格、领域术语准确性、推理时延与单位调用成本上取得可控的平衡。
本教程要带你完成的目标是一个可复现的垂域模型自研闭环:
适合读者:算法工程师、后端与平台工程师、运维与 SRE、以及需要做技术选型决策的技术负责人。若你是企业侧业务负责人,可重点关注第三章(选型与成本)、第六章(验证)与第九章(优化)。
不适合的期待:本教程不承诺“自研一定优于通用接口”。在数据量不足、任务泛化性强的场景下,通用接口 + 检索增强通常是更划算的选择。
自研后训练真正划算的场景有三个共同特征:
反之,如果你面对的是长尾开放问答、创意生成、跨领域通用助手,自研收益有限。此时更合理的做法是:通用基座接口 + 高质量检索增强 + 严格的输出校验层。
先做决策,再动手训练。 训练资源一旦投入,纠错成本远高于前期评估。
理解以下通用概念即可跟完全流程:token 与分词、监督微调(SFT)、低秩适配(LoRA 类参数高效微调)、直接偏好优化(DPO)、人类反馈强化学习(RLHF)、检索增强生成(RAG)、量化推理。
做什么:把业务诉求翻译成可测量的指标,而不是“让它更懂法律”。
为什么:没有指标就无法判断后训练是否成功,也无法在后期做回归。
怎么做:至少定义四类指标。
注意:指标一旦确定就冻结,后续每次实验都用同一套评测集与同一套评分标准,否则数据没有可比性。
做什么:从若干候选开源基座中选出 1~2 个进入正式实验。
为什么:基座决定了能力上限、显存需求与许可风险,中途换基座等于推翻前期工作。
评估维度(按优先级):
注意:不要用主观“试用几个 prompt”的方式做选型。用步骤一确定的评测集,对每个候选基座跑同一套零样本基线,记录分数与成本,形成对比表。
这一步投入的时间应当超过训练本身。
做什么:把原始业务数据加工成统一的训练样本格式。
为什么:领域微调的效果上限由数据质量决定。少量高质量样本优于大量噪声样本,这是实践中反复验证的结论。
处理流水线:
通用样本格式示意:
{"instruction": "从下列合同条款中抽取违约责任主体、责任上限与救济方式。","input": "<脱敏后的合同条款文本>","output": {"liable_party": "...","liability_cap": "...","remedies": ["...", "..."]},"source_id": "doc-1024-seg-3","label_level": "golden"}
注意:保留 source_id 与标注人字段。后期做数据回溯、错误归因和标注一致性统计时,这两个字段是必需的。
做什么:划分独立评测集,并写下可执行的标注规范。
为什么:评测集是唯一的“裁判”。裁判本身有噪声,会误导整个训练过程。
怎么做:
后训练不是唯一手段。按以下顺序逐层尝试,每层都用同一评测集验证收益,收益不足就停止上探,这是最省钱的策略。
层级 0:提示工程 + 输出约束
成本最低。给清角色、任务、输出 schema 与少量示例。很多“格式不稳定”问题在这一层就能解决大半。
层级 1:检索增强(RAG)
适合“知识型”任务:答案依赖于具体条款、文档、库表,而非模型的参数记忆。优势是知识可更新、答案可溯源,且不需要训练。
层级 2:指令微调(SFT / LoRA)
适合“能力型”任务:模型知道知识,但不会按你的方式表达、分类或抽字段。参数高效微调(LoRA 类方法)只训练少量适配参数,显存需求低、迭代快,是首轮微调的默认选择。
层级 3:偏好对齐(DPO / RLHF)
适合已经 SFT 但仍有“风格与安全”问题的场景:答案正确但过于冗长、边界情况该拒答却硬答、语气不符合业务规范。此层依赖成对偏好数据,成本较高,务必在前两层收益见顶后再上。
注意:不要跳过层级直接做偏好对齐。基座能力不足时,对齐只会让模型更自信地说错话。
做什么:确定微调方式、超参与资源规划,启动训练。
关键配置项说明:
通用配置片段示意:
train:method: lora # lora | fullbase_model: "<本地路径或模型仓库标识>"max_seq_len: 8192epochs: 3learning_rate: 1.0e-4warmup_ratio: 0.03scheduler: cosineper_device_batch_size: 1grad_accum_steps: 16lora:rank: 32alpha: 64dropout: 0.05target_modules: ["q_proj", "k_proj", "v_proj", "o_proj"]eval:dataset: "eval-v3.jsonl"select_by: "task_accuracy" # 按任务指标而非 loss 选检查点
场景区分:
做什么:用冻结的评测集对新模型做全量评估,并与基座零样本基线对比。
为什么:只看训练损失会严重高估效果。必须与“不训练的基座”对比,才能确认后训练带来了净收益。
三层评估:
回归要求:每次改动数据或配置,都跑完整评测集,把结果记录进对比表。缺少回归,你将无法判断后续改动是改进还是退化。
做什么:把最优检查点部署为可调用服务。
关键工作:
做什么:为线上推理建立完整的日志、监控与反馈闭环。
为什么:垂域模型不是一次性交付物,业务分布会漂移,新类型的文档会不断出现。没有回流机制,模型质量会缓慢退化而无人察觉。
需要采集的最小字段集:
闭环动作:把“用户修改后的答案”作为高价值样本回流,进入下一轮语料池。这一步通常比新增标注数据的性价比更高。
按顺序核对,任一项不通过就不要进入下一步:
问题 1:微调后能力反而下降(灾难性遗忘)
原因通常是学习率过大或轮数过多,模型过拟合到窄分布。
排查:降低学习率、减少轮数;在数据中加入一定比例通用能力样本;改用参数高效微调限制可训练参数范围。
问题 2:结构化输出不稳定,解析经常失败
优先在推理侧加约束解码与 schema 校验,而不是反复训练。若仍不稳定,检查训练数据中输出格式是否本身就存在不一致——数据里的格式噪声会被模型学走。
问题 3:模型“一本正经地编造”
说明训练样本中包含无依据的结论,或评测集里缺少“信息不足应拒答”的样例。
处理:清理样本中的无源结论;在数据中显式加入拒答与“需人工复核”的正样本;接入检索增强,让答案有可引用的来源。
问题 4:长文档效果明显差于短文档
检查最大序列长度是否被截断。先做长度分位数统计,再决定是扩上下文、改进切分策略,还是采用分层摘要再抽取的流水线。
问题 5:显存不足导致训练中断
降低序列长度或批大小并用梯度累积补偿;启用显存优化手段(梯度检查点、混合精度);将全参数微调降级为参数高效微调。
问题 6:线上时延抖动大
通常是长请求与短请求混排导致的队头阻塞。做请求分级、独立队列、限流与超时控制。
问题 7:许可协议风险
在选型阶段发现基座许可不允许商用或不允许基于其输出训练时,唯一的正确做法是更换基座,不要抱着“先跑起来再说”的心态推进。
成本控制
按层级递进而非一步到位:能靠提示工程解决的不做微调,能靠参数高效微调解决的不做全参数微调,能靠检索增强解决的不做对齐训练。推理侧,量化、批处理、结果缓存与语义缓存都能显著降低单位成本;对高频重复请求建立缓存层,收益往往立竿见影。
性能与稳定性
区分交互式与批处理流量,分别设定时延目标与并发上限。为推理服务设置熔断与降级路径,避免模型服务异常直接击穿业务。灰度与回滚机制要前置设计,检查点必须保留多个版本。
安全与合规
领域数据脱敏是硬性前置条件,训练与日志环节都要脱敏。对外服务需具备内容安全过滤、敏感信息识别与访问鉴权(可使用身份认证、日志审计等通用云能力)。涉及个人信息的语料,务必确认授权链路完整。
可维护性
把数据集、训练配置、评测集、模型版本全部纳入版本管理,确保任意一次线上效果变化都能定位到具体数据或配置变更。提示词也应当版本化,它本质上是代码的一部分。
平台化落地
在百度智能云上落地时,可复用通用能力组合降低自建成本:容器平台承载训练与推理任务、对象存储保存数据集与模型产物、日志服务与监控告警负责可观测、消息队列解耦反馈数据回流链路。这些属于通用产品类目,具体配置以对应产品文档为准。
垂域模型自研的核心逻辑并不神秘:在明确任务边界和量化指标的前提下,用高质量领域数据把开源基座“调教”成符合业务规范的专用模型,从而同时获得能力可控、成本可控与合规可控。
关键步骤可以浓缩为一条链路:定义指标 → 合规选型 → 语料治理 → 评测集冻结 → 逐层优化(提示 / 检索 / 微调 / 对齐)→ 回归评测 → 量化部署与灰度 → 反馈回流。
最容易犯的三个错误是:跳过指标定义直接训练;用训练损失代替评测集判断效果;把后训练当成知识注入手段(知识应交给检索,后训练负责行为与格式)。
后续值得继续深入的方向包括:多模态文档理解、长上下文的检索与压缩策略、小样本与合成数据的边界、以及推理侧的持续成本优化。建议先把一个高价值、边界清晰的窄任务完整跑通闭环,再横向扩展到其他任务——完整的闭环经验,比任何单点技巧都更值钱。