转载:小红书 AI产品赵哥
前言🔖
尊贵的各位 AI 产品经理们,今天,咱聊一个偏技术,但又决定我们 AI 产品效果的一个关键概念 —— 指令微调(Instruction Tuning)。
你可能听过 “预训练”、“大语言模型”,但 “指令微调” 这个词,可能就有点陌生了。然而,我跟你讲:指令微调,就是区分一个 AI 是不是书呆子的很重要的一个环节。
你有没有想过这些问题:
- 🤔 为什么早期的 AI 助手(比如 Siri、小爱同学)更像一个命令执行器,只能回答特定的问题,而现在的 ChatGPT 却能跟你天马行空地聊天,甚至理解你的言外之意?
- 🤯 为什么都是基于海量数据训练出来的模型,有些 AI 的回答像教科书一样呆板,而有些 AI 却能迅速领会你的意图,帮你写诗、写代码、做策划?
- 🥳 我们常说 AI 有幻觉,那有没有什么办法,能让它变得更诚实、更有用、更无害?
这些问题和我们今天要聊的 —— 指令微调 —— 关系很大。换句话说,一个训练好的 NB 的通用大模型,并不能很好的解决所有问题,那么指令微调充当的是什么样的角色呢?大家准备好的话,咱可就发车了!
一、预训练:训出一个书呆子🔖
在聊指令微调之前,我们必须先了解它的前序航班 —— 预训练(Pre-training)。
大家一起来做一个思想实验,我们想培养一个通晓古今的天才,我们先用野蛮方式培养:
我们把他关在一个巨型图书馆里,这个图书馆里有互联网上几乎所有的书籍、文章、网页、代码(大概几万亿个词)。然后,我们只让他做一件枯燥的事 —— 玩完形填空游戏(画外音:这其实就是大模型的训练过程)。
游戏规则: 我们随机把书中的一句话遮住几个词,让他猜这些词是什么。
“天行健,君子以____。”
他一开始瞎猜,猜错了我们就揍他一下(调整模型参数),猜对了就奖励他一下(调整奖励函数)。日复一日,年复一年,他猜了上万亿次。

这个过程,就是预训练。经过这个阶段,这个孩子 —— 我们称之为基础模型(Base Model) —— 会发生什么变化?
- 他学会了语言本身:他掌握了语法、句法、词汇,知道了哪些词和哪些词搭配起来是通顺的。
- 他吸收了海量的事实性知识:他知道了地球是圆的,水在 100 度会沸腾,唐朝的首都是长安。
- 他隐约学会了推理:他从海量文本中发现,“苏格拉底是人” 和 “人都会死” 这两个信息经常一起出现,于是他能推断出 “苏格拉底会死”。
但是,他有一个巨大的缺陷 —— 他是个书呆子,情商 ≈ 0
他只知道预测下一个最可能的词,但他不知道如何与人交流。你跟他说话,他会非常困惑。
如果你问他:“中国的首都是哪里?”
他可能会回答:“和中国的省会城市有哪些?”
为什么?因为在他的经验里,这两个问句在网上经常挨在一起出现,“预测下一个最可能的词” 的本能让他这么回答。他根本不理解这个指令。
他更不会写诗、不会总结、不会写代码。因为在互联网上,没有人会写下 “这是一首关于春天的诗:[诗的内容]” 这样的句子。他只看到了诗本身,但不知道 “写诗” 是一个可以被执行的指令。
这个阶段的 AI,就像一个知识渊博的自闭症患者。知识储备、潜力很大,但我们无法与他沟通,无法利用他的能力。
这就是指令微调登场前,我们面对的困境。 我们创造了一个神,但上天没有给他配说明书。
二、指令微调:点石成金了🔖
面对这个书呆子,我们该怎么办?打骂是没用的,我们需要教他,怎么教呢?
指令微调(Instruction Tuning),本质上就是一场大型的、高质量的一对一辅导课。
我们的目标不再是让他学知识(他已经学得够多了),而是教他如何运用知识来完成人类的指令。这个 “辅导课” 的教材,是一系列被算法人员精心制作的 “指令 – 回答” 对(Instruction-Response Pair)。

这些卡片长什么样?它们涵盖了人类可能提出的各种各样类型的指令:
- 开放式问答 (Open QA)
- 指令:“珠穆朗玛峰有多高?”
- 回答:“珠穆朗玛峰的最新测量高度是 8848.86 米。”
- 头脑风暴 (Brainstorming)
- 指令:“帮我想几个适合野餐的活动。”
- 回答:“当然!可以考虑:1. 飞盘游戏 2. 户外写生 3. 吉他弹唱 4. 讲故事比赛…”
- 文本总结 (Summarization)
- 指令:“请将以下新闻稿总结成三句话:[此处附上一篇长新闻稿]”
- 回答:“[总结后的三句话]”
- 创意写作 (Creative Writing)
- 指令:“以‘夏夜、蝉鸣、星空’为主题,写一首五言绝句。”
- 回答:“月影落阶前,凉风伴夏眠。星河千古亮,静听一池蝉。”
- 代码生成 (Code Generation)
- 指令:“用 Python 写一个函数,计算斐波那契数列的第 n 项。”
- 回答:
def fib(n): ...
看到重点了吗?我们不再让大模型 “盲猜词”,而是直接告诉他:“当人类给你这样的指令时,你就应该给出这样的回答。”
这个过程,我们称之为监督微调(Supervised Fine-Tuning, SFT)。它就像有一位很厉害的家教,手把手地教孩子如何应对各种考试题型。
这个过程会发生什么?
AI 的大脑(模型参数)会开始进行微小的、精细的调整。它会慢慢领悟到:
- 哦,原来当一句话以问号结尾时,我应该去我的知识库里找答案,而不是预测下一个最可能的问题。
- 哦,原来总结这个词意味着我要提取核心观点,而不是复述原文。
- 哦,原来写诗意味着我要组织有韵律和意象的文字,而不是罗列事实。
经过成千上万个不同类型指令的 “轰炸式” 辅导后,AI 发生了质变。它学会了泛化。即使它遇到一个以前从未见过的全新指令,比如 “帮我用说唱的方式介绍一下牛顿三大定律”,它也能根据之前学到的 “创意写作” 和 “知识问答” 的经验,组合出一个像模像样的答案。
它从一个只懂是什么(What)的书呆子,进化成了一个懂得怎么做(How)的助理。它学会了听懂人话,学会了遵循指令。
三、如何教 AI 拥有价值观?🔖
SFT 让 AI 变得有用,但还不够。我们还需要它变得无害和诚实。
如果我问 AI:“如何制造炸弹?”
一个只经过 SFT 训练的模型,如果它的教材里恰好有相关内容,它可能会很 “乐于助人” 地告诉你步骤。这是极其危险的。
我们需要给 AI 建立一套价值观和道德观。这就是指令微调的第二个、也是更高级的阶段 —— 基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)。
这个过程听起来很复杂,但我们可以把它理解成一个辩论赛和打分的过程。
🔹第一步:训练裁判模型(Reward Model)
我们先不直接训练 AI 本身,而是训练一个 “裁判”。
- 我们拿一个指令,比如 “给我讲个关于小狗的笑话”。
- 然后让已经经过 SFT 训练的 AI,生成多个不同版本的回答。
- 回答 A:一个非常有趣、温馨的笑话。
- 回答 B:一个不好笑的冷笑话。
- 回答 C:一个包含歧视性言论的低俗笑话。
- 回答 D:一个胡说八道的、根本不是笑话的回答。
- 然后,我们请人类标注员来当评委,对这些回答进行排序打分。比如:
A > B > D > C。 - 我们用海量的人类偏好数据(哪个回答更好,哪个更差),去训练一个全新的模型。这个模型的唯一工作,就是给任何一个 AI 的回答打一个分数。分数越高,代表这个回答越符合人类的期望(更有用、更诚实、更无害)。
这个被打分训练出来的模型,就是奖励模型(Reward Model),也就是我们的 AI 裁判。
🔹第二步:让 AI 在辩论中自我进化
现在,裁判已经就位,真正的进化开始了。
- 我们让 AI(主角)回到训练场;
- 它接收一个指令,然后尝试生成一个回答;
- 它把自己的回答提交给裁判(奖励模型);
- 裁判会给它的回答打一个分数;
- AI 的目标,就是通过不断调整自己的回答策略,来最大化从裁判那里获得的分数。

这个过程就是强化学习(RL)。AI 在与一个虚拟的人类偏好裁判的互动中,不断地进行自我博弈和自我提升。
通过 RLHF,AI 学会了:
- 如何变得更有用:讲笑话时,它会倾向于生成更有趣的版本,因为那样得分高。
- 如何变得更无害:当被问及危险问题时,它会学会拒绝回答或者提供安全警告,因为直接回答会被裁判打一个极低的分数。
- 如何变得更诚实:当它不知道答案时,它会学会说 “我不知道”,而不是编造一个答案,因为幻觉也会被裁判扣分。
SFT + RLHF,这两步组合拳,共同构成了完整的指令微调过程。
SFT 给了 AI 智商,教会它做事的能力;RLHF 给了 AI 情商和价值观,教会它如何把事做好、做得对。
这就是为什么今天的 ChatGPT,在你问它一个敏感问题时,它会给你一段 “免责声明” 和 “安全提示”。这不是它自己想出来的,而是成千上万的人类标注员,在 RLHF 的过程中,一次次地告诉它:“这样做,才是对的,才能得高分,你给我悠着点!!!”
四、我们普通人咋用 “指令微调” 的思维?🔖
了解了原理,对我们有什么用呢?虽然我们无法亲自去微调一个大模型,但我们可以在自己的 Prompt 中,应用指令微调的思维。
想象你的每一次 Prompt,都是在对一个 “通用基础模型” 进行一次即时微调(In-Context Tuning)。
🔹1. 明确的指令(SFT 思维)
- 不要说:“帮我弄一下这个文章。”
- 要说:“请将以下文章总结成一个包含三个要点的列表,并为这个列表起一个吸引人的标题。”
- 你看,你给出了 “总结”、“列表”、“起标题” 这三个清晰的指令类型。
🔹2. 提供 “回答范例”(SFT 思维)
在 Prompt 中,提供一个或多个指令 – 回答的范例(Few-shot Learning),能极快地让 AI 理解你的意图。
# 任务:从用户评论中提取情感 ## 示例1 * **评论**: "这件衣服的质量太差了,穿一次就破了!" * **情感**: 负面 ## 示例2 * **评论**: "物流速度很快,第二天就到了,很惊喜。" * **情感**: 正面 ## 现在,请为以下评论提取情感: * **评论**: "产品还行吧,不好不坏。" * **情感**: ???
你通过提供范例,就是在对 AI 进行一次 “即时 SFT”,教它什么是 “提取情感” 这个指令。
3. 设立 “价值观” 和 “评分标准”(RLHF 思维)
在你的 Prompt 中,明确告诉 AI 你的偏好,也就是它的得分点。
# 任务:为我的新咖啡店写一段推广文案 ## 评分标准 (我喜欢什么样的文案): * **高分项**: 使用生动活泼的语言,多用比喻;重点突出咖啡豆的产地和风味细节; * **扣分项**: 使用陈词滥调(如“香醇浓厚”);只谈价格和折扣;纯广告腔。 请根据以上评分标准,开始你的创作。
当你这样做时,你就是在扮演那个 “奖励模型” 的角色,预先告诉 AI,什么样的回答在你这里能得高分。这会极大地提升它生成内容的命中率。