制器坊 模型基础

预训练、微调、LoRA 与 RAG:怎样区分

把缺资料和输出行为问题分别定位。配合操作示例、图解和检查点,完成第一次练习,再逐步排查使用中的问题。

信息层级:【有据可查】= 附官方文档或可信来源链接;【社区共识】= 社区用户普遍经验,未经官方确认;【待考察/推测】= 推测或暂未能核实,请谨慎对待。

很多人说"我训练了一个模型",其实可能指四件完全不同的事:从零预训练、继续预训练、微调、甚至只是写了个提示词。本篇帮你分清,并给出个人用户该做哪一层的建议。

训练阶段地图

1. 名词对照表

你听到的说法 规范术语 改不改权重 典型成本 层级
训练模型 / 训练底模 预训练 Pre-training(从零开始) 从随机初始化开始 极高,大厂/大实验室级 有据可查(概念);成本数字待考察
基于底模训练 继续预训练(Continued Pre-training) 或 微调 Fine-tuning 改 中~高 有据可查(概念)
基于模型再训练 微调 / 指令微调 SFT / 偏好对齐(RLHF、DPO)/ 强化学习 改 低~中 有据可查
LoRA / QLoRA 参数高效微调(PEFT) 只训练少量附加参数 低(单卡可试) 有据可查
蒸馏 知识蒸馏 Distillation 训练一个新的小模型 中 有据可查
"我训练了个 GPTs/智能体" 提示词工程 + 知识库 + 工具 不改 极低 社区共识

2. 逐个拆解

2.1 预训练(训练底模)

  • 做什么:用海量无标注文本,让模型反复"猜下一个 Token"。
  • 产出:底模(Base Model)——知识丰富但不太会"听指令",你问它问题,它可能接着出题而不是回答。【社区共识】
  • 谁在做:大厂、大型研究机构。个人从零预训练一个可用的大模型不现实。【社区共识】

2.2 继续预训练(基于底模,灌领域语料)

  • 做什么:在底模上,用大量领域文本(法律、医学、某种编程语言)继续预训练。
  • 适合:领域词汇与知识大量缺失时。
  • 风险:可能"灾难性遗忘"原有能力。【社区共识】

2.3 微调 / 指令微调 SFT

  • 做什么:用"问题 → 理想回答"的成对数据,教模型按特定格式/风格回答。
  • 例子:让模型永远用你公司的客服口吻、输出固定 JSON 格式。

2.4 偏好对齐与强化学习

方法 一句话 来源
RLHF 人类给回答打分 → 训练奖励模型 → 强化学习优化 【有据可查】InstructGPT,arXiv:2203.02155
DPO 直接用"更好/更差"成对数据优化,省掉奖励模型 【有据可查】arXiv:2305.18290
可验证奖励的 RL 用"答案对不对、代码能不能跑"当奖励,常用于提升推理 【社区共识】

2.5 LoRA:给大模型"贴便利贴"

【有据可查】LoRA(Low-Rank Adaptation,Hu 等,2021,arXiv:2106.09685)冻结原模型权重,只训练插入的小型低秩矩阵;QLoRA(arXiv:2305.14314)进一步在量化模型上做 LoRA,降低显存需求。

图 1

2.6 蒸馏:老师教学生

【有据可查】知识蒸馏概念见 Hinton 等,2015,arXiv:1503.02531:用大模型(老师)的输出训练小模型(学生),让小模型接近大模型效果。

⚠️ 条款提示【社区共识/待考察】:多数商业模型的服务条款限制用其输出训练竞争模型。用别家 API 输出做蒸馏前,请先阅读其使用政策。


3. 个人用户该做哪一层?

图 2

作者观点:

  • 先做"不改权重"的方案。微调的最大成本不是算力,而是整理高质量数据。
  • 想微调开源模型,先看模型许可证(能否商用、是否要求署名)。
  • 闭源模型的官方微调服务(若提供)通常比自己折腾省心,但数据要上传给厂商。

4. 常见误区

误区 实际
"微调可以把新知识教给模型" 微调更擅长改行为与风格;灌知识效果不稳定,RAG 通常更可靠【社区共识】
"用 100 条数据 LoRA 就能做专家模型" 数据太少往往只学会格式【社区共识】
"开源权重 = 可以随便商用" 看许可证,有的限制商用或用户规模
"蒸馏 = 抄袭" 技术本身中性,但可能违反被蒸馏模型的条款

5. 本篇无法核实/需谨慎的点

  • 预训练的真实成本:各家很少公开完整数字。
  • 各商业模型条款中关于"用输出训练模型"的具体措辞,请逐家核对。
  • LoRA 所需数据量与效果:依任务差异极大,文中为经验值。

小白练习:把本文流程逐项走通

练习目标:把缺资料和输出行为问题分别定位。

上文已介绍概念、配置和操作示例。下面侧重第一次实际操作时的顺序、检查点和结果核对;需要查具体参数时回到对应小节。命令逐条输入,看到上一条的结果后再继续。

  1. 先写下问题:是模型不知道资料,还是知道资料却不按需要的格式回答。

  2. 缺资料时先提供一小段真实文档,要求答案指出依据;验证后再考虑检索知识库。

  3. 格式不对时先提供两组理想输入和输出示例,再要求同格式回答一个新问题。

  4. 记录前两步仍无法解决的具体失败样本,再评估是否需要微调;准备样本不等于已经训练模型。

  5. 若要调整权重,先检查基础模型许可、数据授权、训练资源和验证集。用独立验证集检查效果与原有能力。

继续浏览制器坊 返回顶部 ↑
教程图解100%
教程图解
灵犀台