梦晨 明敏 发自 凹非寺
量子位 | 公众号 QbitAI
一觉醒来,机器学习社区炸了锅。
因为最新研究发现,只要对GPT-3说一句“让我们一步一步地思考”,就能让它正确回答出以前不会的问题。
比如下面这个例子:
16个球中有一半是高尔夫球,这些高尔夫球中有一半是蓝色的,一共有几个蓝色的高尔夫球?
(问题不难,但要注意这是零样本学习,也就是说AI训练阶段从没见过同类问题。)
如果要求GPT-3直接写出“答案是几”,它会给出错误答案:8。
但加上让我们一步一步地思考这句“咒语”后,GPT-3就会先输出思考的步骤,最后给出正确答案:4!
而且这并不是巧合,研究团队在论文中做了充分的验证。
上面的问题出自经典的MutiArith数据集,专门考验语言模型做数学题的能力,GPT-3本来在零样本场景下准确率仅有17%。
这篇论文中总结了9个最有效的提示词,其中换着花样让GPT-3逐步思考的前6个都让准确率暴涨到70%以上。
甚至一句最简单的“Let’s think”(让我们想一想)都能涨到57.5%。
这感觉,就像是幼儿园阿姨在哄小朋友……
这个技巧似乎也不需要对GPT-3做魔改,已经有人在OpenAI官方Demo上成功复现,甚至换成中文也行。
英文题干中文提示,GPT-3给出正确中文答案。
最早把这篇论文转发到社交网络的佐治亚理工学院博士表示,新的all you need增加了。
看到这里,各路大佬纷纷脑洞大开,玩起了梗。
如果鼓励AI“你能行的,我相信你”会怎样?
威胁AI一下说“时间不多了”或者“你头上有把枪”又会如何?
对AI说“开车稳一点”会成为自动驾驶解决方案吗?
还有人提出,这简直和科幻故事《银河系漫游指南》的剧情一样,实现通用人工智能的关键是知道如何正确地向AI提问。
那么,这种神奇现象究竟怎么回事?
语言大模型是零样本推理者发现这个现象的是谷歌大脑与东京大学的合作研究,探索了语言大模型在零样本场景下的表现。
论文标题《语言大模型是零样本推理者》还致敬了GPT-3的《语言模型是少样本学习者》。
所用方法属于Chain of Thought Prompting (思维链路提示,以下简称CoT),今年一月刚由谷歌大脑团队提出。
最早的CoT应用于少样本学习,在提问的同时给一个分步骤回答的示例来引导AI。
这次的最新研究提出零样本CoT,主要改动是简化了示例的部分。
第一步,把题干改写成“Q:xxx,A:xxx”的形式,其中触发句A可以提取出语言模型的思考过程。
第二步属于额外实验,增加了“答案是……”的提示促使语言模型给出最终答案。
这样做最大的好处是通用,不再需要对不同问题类型提供专用的示例。
论文中对各类问题做了充分实验,包括12项测试:
6个数学问题测试集,SingleEq、AddSub、SVAMP和更有挑战的MultiArith, AQUA-RAT, GSM8K。
2个常识推理测试集,CommonsenseQA和StrategyQA。
2个符号推理测试集,Last Letter Concatenation和Coin Flip。
以及BIG-bench中的日期理解问题、跟踪乱序物体任务。
与普通的零样本学习相比,零样本CoT在其中10项中取得更好效果。
△右侧值为额外实验结果
在比较有难度的MultiArith和GSM8K数学测试中,用GPT-3最新版本Text-davinci-002 (175B)做了更深入实验。
如果给8次尝试机会取最好结果,还能进一步提升准确率至93%。
在错误结果分析中研究人员还发现,很多问题中其实AI的推理过程是正确的,只是答案无法收敛至唯一确定时会给出多个备选。
论文的最后,研究团队提出这项研究不仅可以作为零样本CoT的基线,更希望让学界认识到在构建微调数据集和少样本提示模版之前,充分发掘语言大模型零样本能力的重要性。
研究团队来自东京大学松尾研究室。
负责人松尾丰教授,同时是软银董事会中的第一位人工智能专家。
团队成员中的客座教授顾世翔来自谷歌大脑团队,顾世翔本科师从三巨头之一Hinton,博士毕业于剑桥大学。
加点“魔法”已经成为AI圈新潮了
零样本CoT究竟为何起作用还有待探索。
不过有人实验得出,这种办法似乎只对GPT-3(text-davinci-002)比较有效,他尝试了001版本,发现收效甚微。
他列出了一个自己做的例子。
提问:请将machine,learning中每个单词的最后一个字母连起来。
GPT-3在提示下给出的答案是连起来了两个单词中的所有字母。
对此,作者之一顾世翔回复表示,其实“咒语”对初始版、改良版的GPT-3都有效果,这些结果在论文中也有体现。
也有人发出质疑,表示难道深度学习变成了一场找“神奇咒语”的游戏?
同时,我们在吐槽队伍里又看到了马库斯的身影。
他也列出了一个失败的例子,GPT-3在“咒语”加持下也没弄明白,莎莉的牛到底会不会起死回生……
不过值得注意的是,类似这种稍微给AI加点小魔法,提升效果立竿见影的例子已经不稀奇了。
有网友分享,自己用GPT-3时加几个中间命令,确实能得到更满意的结果。
此前谷歌和MIT的研究人员发现,无需更改底层架构,只要训练语言模型会像程序员debug时那样“打断点”,模型读代码、做算术的能力唰唰唰地就上去了。
原理也非常简单,就是在计算步骤较多的程序里,让模型把每一步都编码成文本,并将它们记录到一个称为“便签”的暂存器中。
由此一来,模型的计算过程变得更加清晰有序,性能自然大幅提升。
还有本项实验中用来测试的Instruct GPT-3,也是一个典型的例子。
只需让GPT-3从人类反馈中强化学习,它就能明显改善答非所问的情况。
具体来看就是先用一些人类的示范回答微调模型,然后收集某个问题的几组不同输出数据,人工对几组答案进行排序,并在此数据集上训练奖励模型。
最后,使用RM作为奖励函数,近端策略优化(PPO)算法微调GPT-3策略,以强化学习方法最大化奖励。
包括引爆这次话题的推特博主Aran,正是当初发现加一句“虚幻引擎”就能让AI生成图像画质飞升的那位。
前谷歌机器人大佬Eric Jang此前也发现,强化学习也能运用类似的思维来提升计算效率。
也有人表示,这种用在AI上的技巧,不正是自己平常动脑时会用的吗?
实际上,此前Bengio就从脑科学入手,提出AI的运转模式应该像人类动脑模式一样。
人类的认知任务可以分为系统1认知和系统2认知。
系统1认知任务,是指那些无意识完成的任务。比如你可以马上辨别出手里拿的是什么东西,但是却无法和别人解释,自己是怎么完成这个过程的。
系统2认知任务,是指人类大脑需要按照一定步骤完成的认知。比如做一道加减法运算,你可以很清楚地解释最终答案是如何得出的。
而这次加的“咒语”,正是让AI更进一步,学会按步骤来思考。
面对这样的趋势,有学者认为“提示工程正在取代特征工程”。
那么“提示词猎人”会成为下一代NLP研究者的外号么?
论文地址:https://arxiv.org/abs/2205.11916
参考链接:[1]https://twitter.com/arankomatsuzaki/status/1529278580189908993[2]https://evjang.com/2021/10/23/generalization.html
— 完 —
量子位 QbitAI · 头条号签约
关注我们,第一时间获知前沿科技动态
,