手上有一批内部文档、工单记录、行业语料,想知道怎么让模型「学会」它们——是继续预训练、做微调,还是干脆外挂检索?三条路的数据格式、算力门槛和适用边界差别很大,选错了要么白烧算力,要么效果不如直接挂知识库。这篇按流程拆一遍,给可落地的判断依据。
手上有一批内部文档、工单记录、行业语料,想让模型「学会」它们,绕不开三条路:继续预训练、微调、外挂检索。三者的数据格式、算力门槛、适用边界差别很大,选错了要么白烧算力,要么效果还不如直接挂个知识库。下面按流程拆一遍,每节都给判断标准和能直接照做的动作。
先说清一件事:训练不是为了让模型「记住」所有内容,而是让它把某种模式、语气或任务套路固化进权重。事实性、易变的知识,挂检索更划算;格式、风格、判断逻辑,才值得动权重。想清楚这点,再看三条路怎么选。
先把三条路分清:预训练、微调、外挂检索
继续预训练(增量预训练)是拿大段领域语料让模型接着学,补的是「它压根没见过的领域语言」,数据量和算力门槛最高。微调是拿成对的指令—回答样本教它「怎么答」,数据量小得多,改的是风格和任务能力。外挂检索完全不改权重,只把资料切块、建索引,回答时现查现用。
| 路径 | 数据形态 | 改不改权重 | 适合什么情况 |
|---|---|---|---|
| 继续预训练 | 大段连续文本 | 改 | 模型不熟悉该领域的基础语言与术语 |
| 微调 | 指令—回答成对样本 | 改 | 模型知道这件事但答得不好、格式不对 |
| 外挂检索 | 切块文档加向量索引 | 不改 | 知识经常更新、要求可溯源、涉密不外传 |
判断顺序建议这样走:先问「模型是不知道这件事,还是知道但答不好」。不知道,优先检索;答不好,才考虑微调。三者可以叠加,但别一上来就全上,先把最便宜的那条跑通,再决定要不要加码。
数据准备:格式、清洗、切分三件事
格式先对齐再谈量。微调要的是「指令—回答」成对样本,检索要的是切好块的文档加向量,预训练要的是大段连续文本。三者对不上,后面全白做。企业文档里常见的表格、附件、扫描件,先转成纯文本再进流程。
- 成对样本要覆盖真实问法:把工单里的原话、错别字、口语说法一并收进来,别只留规范提问
- 清洗看四项:重复率、乱码、隐私字段、过时内容;隐私字段该脱敏的脱敏,该删的删
- 切分按语义段落切比按固定字数切更稳,块与块之间留一点重叠,避免把一句话拦腰截断
- 先划一份不参与训练的自测集,用来验证到底有没有学会,别把全部数据都丢进去
- 给数据打版本号和来源备注,后面排查效果时能对上账
自测集是这套流程里最容易被省掉、也最不该省的一步。没有它,你只能靠感觉判断「好像变好了」,出了问题也不知道是哪批数据带偏的。
算力和门槛怎么估:别一上来就买卡
微调的显存占用和模型规模、精度档位、批大小强相关,同一份数据换个档位差别很大。与其拍脑袋,不如拿你的数据量和模型规格去站内部署测算页面按当时的数字估一遍,心里先有个量级。
- 增量预训练
- 开销通常远高于微调,先确认收益是否值得,只补一两类事实性知识时检索往往更划算
- 微调
- 门槛中等,显存和时长随模型规模与档位变化,小规模先跑通再放量
- 外挂检索
- 主要成本在索引构建和推理时的检索开销,基本不碰训练卡
租卡按小时算比买卡试错便宜得多,先小规模验证数据格式和流程能不能跑通,再决定要不要放量。具体行情和可用机型,到站内 GPU 租用比价页面核对当时的数字。
训完怎么验收:三条验收线和一次回退
训完别急着上线。用固定的自测集跑同一批题,对比训练前后的答对情况,这是第一条验收线。第二条看副作用:通用能力有没有退化、会不会开始胡编、语气是不是变得奇怪,这是微调最常见的翻车点。
- 跑任务指标固定自测集、固定题目、固定判分口径,对比训练前后,看原来答错的题现在答对没有
- 查副作用抽一批自测集之外的通用问题,看回答质量有没有整体下滑、有没有开始编造来源
- 算成本账把训练一次的成本加上后续每次数据更新都要重训的维护成本,和直接挂检索的长期开销放在一起比,用站内模型成本计算器拉一遍
- 留回退口保留上一版模型和上一版索引,上线先灰度一小部分流量跑一段时间,确认稳定再切全量
三条线都过不了,先别急着加数据、调参数。回到数据准备环节看格式和清洗,很多「训不出来」其实是自测集没划干净、或者样本里混进了过时口径。
下一步与其凭感觉选路径,不如把三条路的成本和效果放在同一张表里比。站内的部署测算和成本计算器能帮你把量级估出来,再去决定先跑哪条。→常见问题
我没有 GPU,能不能把公司数据拿去训练?
可以走租卡或者直接用托管微调服务,按小时或按量付费,不用自己买机器。关键看数据能不能出内网:涉密就走本地或私有云,不涉密可以先租卡小规模验证效果,跑通再决定要不要长期投入。
数据量不大,是不是干脆别训练了?
先试检索。几百份文档量级、问题主要是「查得到查不到」,挂知识库通常又快又便宜,还不用反复重训。只有当模型是「知道内容但输出格式、口径不对」时,微调的性价比才明显。
训练用的数据要脱敏吗?
要。手机号、身份证、客户名单这类字段在进训练流程前就得清掉,脱敏后再切分和标注。具体合规边界可以对照 /safety安全与合规 里的口径,别等训完再回头删数据。