指令微调不注入新能力,只是解锁ChatGPT已有能力
拆解ChatGPT的能力从哪来:一个老司机的实操笔记
写这个专栏十年了,我见过太多吹牛逼的技术文章。但ChatGPT这事儿……你猜怎么着?它真的不一样。
2022年12月,一个深夜。
我坐在电脑前,盯着text-davinci-003的对话框,手指悬在键盘上。以前用GPT-3写代码,你得把prompt写得跟说明书似的——"请用Python写一个函数,接收一个列表,返回去重后的结果"——它才能勉强给你个差不多的。可那天晚上,我直接打了句:"写个Python脚本爬豆瓣电影。"
你猜它干了什么?
它真给我整出来了。完整的。能跑的。连异常处理都写好了。
我当时就愣住了。这玩意儿跟以前完全不一样了。这背后,到底发生了什么?
一切从2020年开始
2020年7月,OpenAI发了GPT-3的论文。1750亿参数。
我第一反应?"这帮人疯了。"
但真正让我震惊的,不是参数量。你想想,一个语言模型的论文,重点居然不是语言建模?他们把精力全花在讲"上下文学习"上——就是给模型看几个例子,它就能照着干。
我当时测试了一下。给它看了三个英文翻译成中文的例子,第四句它直接给翻译了。这事儿搁以前,你得专门微调一个翻译模型。
说到这儿,GPT-3当时展示了三个核心能力:
第一,语言生成。 给prompt,它补全。这是最基础的。
第二,上下文学习。 给几个示例,它就能解决新问题。这才是GPT-3的杀手锏。
第三,世界知识。 事实性知识和常识。说白了,它读过海量数据,知道"北京是中国的首都"。
但说实话,GPT-3有个致命问题:它不太听人话。
你让它"用一句话回答",它给你写三段。你问它"2022年世界杯冠军是谁",它可能给你讲一堆足球历史,就是不回答。
你看,这就是当时的问题——它能说,但不会听。
转折点:指令微调
2022年初,OpenAI搞了个叫InstructGPT的东西。
这事儿我印象特别深。当时我正好在做一个对话机器人项目,天天被模型气得肝疼。你问它"今天天气怎么样",它能给你写一篇关于北京的散文。
指令微调的核心逻辑很简单:你不是能生成文本吗?那我专门教你"听指令"。
他们收集了大量人类写的指令-回答对,让模型学会"用户问什么,你就答什么"。
这里有个关键发现——你可能想不到:
指令微调不会给模型注入新能力,它只是解锁已有能力。
就像你本来就会开车,但没人教你交规。现在有人告诉你"红灯停绿灯行",你就能上路了。能力一直在,只是没人告诉你该怎么用。
我测试过text-davinci-002(指令微调版)和text-davinci-001(原始GPT-3)。区别?天差地别。
001版本你问"北京天气怎么样",它可能给你写一篇关于北京的文章。002版本直接告诉你"抱歉,我无法获取实时天气数据"。
这进步,说白了就是模型学会了"回答问题"而不是"生成文本"。
代码训练:意外收获的推理能力
2022年5月,OpenAI发了Codex,一个专门写代码的模型。
我当时觉得这就是个代码补全工具。没想到后面的事儿这么有意思。
代码训练给模型带来了两个意想不到的能力:
第一个:复杂推理。
写代码需要逻辑链条——先A后B再C。模型学会了这种思维模式。
第二个:长距离依赖。
代码里一个函数可能引用前面100行的变量。模型学会了追踪这种长距离关系。
这直接催生了"思维链"推理能力。
GPT-3的思维链推理能力几乎为零。但GPT-3.5(经过代码训练)已经能解决数学应用题了。
我测试过"小明有5个苹果,吃了2个,又买了3个,现在有几个"。GPT-3答对概率大概30%,GPT-3.5能到80%。
你看,一个写代码的任务,意外地教会了模型"怎么思考"。
RLHF:对齐的代价
2022年9月,OpenAI发了InstructGPT的论文,详细讲了RLHF(人类反馈强化学习)。
这是整个故事里最值得聊的部分。
RLHF干了三件事:
第一件事:收集人类偏好数据。 让标注员比较模型的不同输出,选出"更好"的那个。
第二件事:训练奖励模型。 让模型学会判断什么回答更好。
第三件事:强化学习优化。 让模型朝着"人类喜欢"的方向优化。
结果是啥?
模型变得更"听话"了:
- **翔实的回应:** 回答变长了。有时候你得说"用一句话回答"才能让它闭嘴。
- **公正的回应:** 政治话题上,它会给出非常平衡的回答。我试过问"台湾问题",它给出的回答堪称外交辞令。
- **拒绝不当问题:** 问它"怎么造炸弹",它会拒绝回答。
- **拒绝知识范围外的问题:** 问它"2022年世界杯决赛比分",它会说"抱歉,我的知识截止到2021年"。
但RLHF有个副作用,业内叫"对齐税"。
模型变得更谨慎了。有时候连非敏感问题也不敢回答。
我遇到过它拒绝回答"Python怎么实现多线程",理由是"这个可能涉及系统安全问题"。
我当场就笑了。这哪是安全啊,这是怂。
Anthropic的OOD detection
Anthropic这家公司也很有意思。他们主要研究AI安全,提出了OOD(Out-of-Distribution)检测技术。
简单说,就是让模型知道"这个问题我能不能回答"。
如果模型觉得这个问题超出了它的知识范围,它就拒绝回答。ChatGPT很可能用了类似的技术。
我观察到ChatGPT拒绝回答问题时,有时候会给出"我不确定"这种回答。这其实是个好现象——说明模型在尝试"理解自己的理解能力"。
未来走向
现在回头看,GPT-3到ChatGPT的进化路径其实很清晰:
第一步:预训练。 注入基础能力(语言生成、世界知识)。
第二步:指令微调。 解锁"听指令"能力。
第三步:代码训练。 获得复杂推理能力。
第四步:RLHF。 对齐人类偏好。
但有几个问题,我还在琢磨。
问题一:模型能力到底能走多远?
现在GPT-4已经能通过律师资格考试了。按这个速度,5年内会出现能独立写论文的AI吗?
问题二:对齐税怎么解决?
模型越谨慎,越不敢回答。这真的好吗?我宁可它犯错,也不想它沉默。
问题三:开源复现的可行性?
现在开源社区在搞LLaMA、Alpaca这些项目,但离GPT-3.5还有差距。关键不在模型架构,而在训练数据和RLHF的工程细节。
问题四:AGI的进化路径?
《硅谷》里那个AI破解加密算法的情节,说实话真有可能发生。如果让AI有"自我进化"的目标,天知道会涌现什么能力。
最后说句扎心的:
ChatGPT再厉害,也只是在数字信号里打转。它有1000个专家告诉它"做A得到B",但它永远无法亲自验证。真正的判断力,还得靠跟真实世界的交互。
牛顿看到苹果落地发现万有引力,这事儿ChatGPT干不了。但让它预测苹果落地后会发生什么,它可能比牛顿还准。
这就是人类和AI的本质区别:一个是发现,一个是总结。
写到这里,我想起《百年孤独》的开头:"多年以后,面对行刑队,奥雷里亚诺·布恩迪亚上校将会回想起父亲带他去见识冰块的那个遥远的下午。"
ChatGPT就是我们这个时代的"冰块"。
而我们,正在见证历史。
读者评论 5