这是一篇面向无算法背景读者 的讲解文章。
目标不是讲公式,而是讲清楚:它们在"想解决什么问题、用什么方式、什么时候该用谁"上的根本差异。
一、先给一句话结论(先有整体感)
-
参数微调(Fine-tuning) :
通过训练,让模型整体慢慢学会一类新能力或新风格。
-
模型编辑(Model Editing) :
不重新训练模型,只是精确地改掉模型里"某一句已经学错或过时的知识" 。
如果你只记住一句话:
参数微调 = 再学习一门课
模型编辑 = 改教科书里的一句话
二、为什么会有这两种方法?
1️⃣ 大模型是怎么"学会东西"的?
大模型在预训练时:
- 看了海量数据
- 用**训练(loss + 反向传播)**的方式
- 把知识"分散地"存进大量参数里
结果是:
- 能力很强
- 但具体知识并没有明确存在哪一行
这带来两个现实问题:
2️⃣ 现实中的两类修改需求
场景 A:
"我想让模型整体更擅长某类任务"
比如:
- 更懂医疗文本
- 更像客服语气
- 更擅长写代码
👉 这是分布级变化
👉 适合:参数微调
场景 B:
"模型只有某个具体事实是错的"
比如:
- 某公司 CEO 变了
- 某政策更新了
- 某个人物关系说错了
👉 这是点状知识错误
👉 适合:模型编辑
三、什么是参数微调(Fine-tuning)?
1️⃣ 用一句最通俗的话说
参数微调 = 用新数据,再训练模型一段时间
它的流程和你直觉中的"训练模型"几乎一样。
2️⃣ 参数微调是怎么工作的?(不讲公式版)
流程大致是:
- 准备一批数据(输入 + 标准答案)
- 模型给出预测结果
- 和标准答案做对比,算一个"错了多少"的分数(loss)
- 模型根据这个分数,一点点调整参数
- 重复很多次,直到整体表现变好
关键点:
- ❗ 是"整体慢慢变好"
- ❗ 追求平均意义上的正确
3️⃣ 参数微调一定会改所有参数吗?
不一定,这一点非常重要。
参数微调 ≠ 一定全量更新参数。
从工程实现上,常见三大类:
(1)只训练原模型的一部分参数
-
冻结大多数层
-
只训练:
- 后几层
- 某些子模块
特点:
- 改动相对温和
- 但仍然属于"再训练"
(2)不动原模型,增加新参数(在原始模型基础上,加一层神经网络)
代表方法:
- LoRA / QLoRA
- Adapter
直观理解:
- 原模型参数完全冻结
- 旁边加一个"小补丁"
- 训练的只是这个补丁
但本质仍然是:
- 有训练数据
- 有 loss
- 多步训练
👉 所以它们依然是参数微调
(3)只在"输入侧"增加参数(加一层神经网络处理input)
代表方法:
- Prompt Tuning
- Prefix Tuning
特点:
-
不改模型结构
-
训练的是:
- 虚拟 prompt
- 注意力里的偏置
本质:
通过"怎么喂给模型输入"来影响整体行为
4️⃣ 参数微调的本质特征(总结)
- ✅ 一定有 loss
- ✅ 在数据分布上优化
- ✅ 多步训练、追求收敛
- ❌ 不保证只改某一条具体知识
四、什么是模型编辑(Model Editing)?
1️⃣ 一句话直观理解
模型编辑 = 不重新训练模型,只修正它"某个具体问答"的结果
2️⃣ 模型编辑解决的是什么问题?
典型问题形式是:
"当模型被问到 X 时,
它以后应该回答 Y,而不是原来的 Z。"
注意:
- 只关心这一条或少数几条输入输出
- 不关心整体分布性能是否提升
3️⃣ 模型编辑是怎么做到的?(直觉版)
核心目标只有三个:
- 这条问答一定要改对(Edit Success)
- 别影响无关问题(Locality)
- 改动尽量小(Minimal Change)
所以模型编辑不是在"训练模型",而是在:
解一个"最小改动、满足约束"的问题
4️⃣ 模型编辑有没有 loss?
有,但和微调完全不同。
-
微调:
- loss 用来让模型"整体越来越好"
- 追求收敛
-
模型编辑:
-
loss 只是用来判断:
- "这条指定问答对不对?"
-
一旦满足就停止
-
👉 不是训练,而是一次性修复
5️⃣ 模型编辑的三种典型实现思路(不深入算法)
(1)直接改模型内部参数
- 找到与该知识最相关的层
- 做非常小的数值修改
可以理解为:
"精准地拧了一下某个螺丝"
(2)基于单样本的极少步优化
- 只用一条问答
- 加强"不要影响别的地方"的约束
- 优化 1~几步就停
(3)外接补丁 / 记忆 / 路由
-
不直接改主模型
-
遇到特定问题时:
- 走"修正通道"
更像是:
"打补丁而不是重编程序"
五、为什么模型编辑不能简单看成"一种微调"?
这是一个非常容易混淆的点。
关键区别在于:
1️⃣ 优化目标不同
-
参数微调:
- 优化的是 平均表现
-
模型编辑:
- 满足的是 明确约束
2️⃣ 时间尺度不同
- 微调:分钟 / 小时
- 模型编辑:秒级
3️⃣ 可逆性不同
-
微调:
- 改了就很难回滚
-
模型编辑:
- 通常可以撤销某一次修改
六、最终对照总结表
| 维度 | 参数微调 | 模型编辑 |
|---|---|---|
| 修改对象 | 行为分布 | 具体知识点 |
| 是否训练 | 是 | 否(或极少步) |
| 是否追求收敛 | 是 | 否 |
| 是否用 loss | 是 | 是(但仅作约束) |
| 影响范围 | 全局 | 局部 |
| 典型用途 | 新任务 / 新领域 | 修错 / 更新事实 |
七、一句话终极总结
参数微调是在"教模型学新东西"
模型编辑是在"纠正模型已经学错的某一句话"
如果你理解了这一点,后面的所有技术差异,都会变得非常自然。