GCKednc
作者:仰旗 | 中国科学院大学、中国科学院物理研究所博士生GCKednc
审核:王磊 | 中国科学院物理研究所研究员GCKednc
导读
最近,大家可能都听说了各种风靡互联网的聊天机器人,它们的背后是GPT模型。(GPT(Generative Pre-Trained)是一类模型,但下文中的GPT均由某著名GPT模型友情参演)。作为强大的大语言模型,GPT已经展现出了令人惊叹的实力。写邮件,学英语,帮忙看文献,已然成为了许多人的生活好帮手。作为一个聊天机器人,它在很多任务上已经达到甚至超越了人类的智能水平,这实在是令人非常佩服。但今天我们不是要夸它,而是要展示一个看似很简单的事情,但是GPT却完全无能为力。其实GPT还是识数的,如果这样问它GCKednc
咦?“博古通今”的GPT肯定有办法理解“10个字”的意思,但是为什么无法正确输出只有10个字的话呢?小编知道GPT为什么会搞不定这件事呢,这就是本文要解释的事情。GCKednc
自回归模型
要解释为什么GPT无法胜任这么简单的任务,我们首先需要从GPT的底层原理——自回归模型开始讲起。千万不要被这个看似抽象的词吓到,实际上这个概念非常简单。GCKednc
自回归模型能做的事情其实和猜单词类似,我们可以以英语课堂上的一个小场景为例。GCKednc
......在猜错了一些明明概率很高的字母之后,学生终于猜出了第二个字母是’h’。GCKednc
那下一步呢,下一步就要考虑什么样子的字母或单词接在'ch'后面比较常见,概率比较高。这时候学生就要考虑概率
学生的猜谜的例子其实就是自回归模型和GPT工作模式的生动诠释,GPT在工作的时候就像猜词一样,只是把字母换成了token。GCKednc
token:自然语言处理术语,指处理文本的最小单元,一个token可能是一个字符,一个单词,甚至一小段话。GCKednc
更一般地说,GPT会依据给定地语境,在可能的不同输出选项中计算概率,并按照这个概率进行输出。也就是按照的大小进行输出。
确实,在GPT的实际应用中,没有老师来纠正学生的答案。但可以将学生猜词例子中老师的指正视为GPT在训练时使用的数据集进行的训练。在训练过程中,GPT会利用数据集来调整当前输出当前语境 以提高回答的准确性。GCKednc
我们跟GPT说的提示词,可以类比为老师最开始说的第一个字母‘c’,然后GPT要开始根据这个初始输入来组织和生成输出。它会先猜自己输出的第一段话语,等效于‘h’。然后根据‘ch’这个新的“当前语境”再逐步猜后面的字母/语素。GCKednc
那么什么时候停下呢?
聪明的小伙伴们可能已经意识到了一个问题,在没有老师指正的情况下,GPT似乎可以无穷无尽地猜下去啊,反正猜了一个再猜下一个,永远没有终止啊。GPT说话虽然经常说一堆车轱辘话,但是最后好歹还是会停下来的。是什么让这个猜谜停下来了呢?GCKednc
GPT是这样解决这个问题的。工程师们知道,想让GPT把无穷无尽的猜词停下来其实很简单,只需要“扩展”一下语素表,让“停下来”这个操作是一个新的语素就行了。如此一来,GPT在猜词的时候,就会一直猜一直猜,猜到语素“停下来”才停下来。GCKednc
该停下来,但是概率不让啊
既然已经知道了自回归模型的工作原理,我们就可以回头来看一开始的问题了。在小编的例子里,GPT的“内心”或许经历了这个计算GCKednc
请说一段话,恰好包含个汉字。生活不止眼前的苟且GPT是很冷酷无情的,它根本不管你是不是只要10个汉字,也并不是很在乎你的需求,它眼里只有这个概率分布,只想按照这个概率进行抽样。GCKednc
而当GPT说完九个汉字,应该在一个字里结束输出的时候。GPT对概率表进行了搜索,发现在所有输出当中,仅输出一个字的概率太小了(这也意味着这种情况的训练语料太少了),只能不管前面“恰好10个汉字的要求”进行输出了。GCKednc
GPT欠缺的两种能力缺少规划
自回归模型每次抽样都是根据当前信息(当前语境),在抽样的过程中对全局缺少规划。 从人类的观点下看,如果有恰好10个字的要求,那就不应该一口气说9个字,应该每说一个字,都得斟酌下看看剩下的字数能不能组成一句完整通顺的话。可自回归模型(GPT)才不管这些,它十分盲目短视地,每次只管当前的GCKednc
当前输出当前语境并不很在意总回复的概率GCKednc
总输出初始语境是不是足够好。GCKednc
反省和修订
自回归模型不具有“反省并修订”的能力。 人类基本都会反省吧。说了错话做错事,至少也得心里想着:对不起对不起,不能这么干,我要弥补下。GCKednc
换到说恰好10个字的任务中,肯定有许多人和小编一样,估计错了10个字的量,一口气说多了。GCKednc
小编:今天天气很不错,阳光真...GCKednc
怎么办?已经10个字了?我也要通不过图灵测试了吗!赶紧修改一下,把“很”删掉,就能多出来一个字了。GCKednc
而GPT那可是金口玉言,说一不二。每一步说出来的话就会被放进新的“当前语境”中。它不会对自己已经抽样了的内容进行删减和修订,在逐次猜出token的过程中,将错就错,一错再错..... 换而言之,GPT虽然能看到自己之前的输出,但是却不具有反省并修订的能力GCKednc
所有的人工智能模型都这样吗?
并不是所有机器学习模型都有这个缺点,例如围棋战力单位“狗”(AlphaGo),在其蒙特卡罗搜索树算法中,如果搜到了胜率过低的结果,会修订之前的选择。GCKednc
这也教导我们,要培养良好的规划能力和自我反省和自我改进的能力。不然即使“博览群书”如GPT,也只会像它一样,完成不了说恰好10个字的简单任务呢。GCKednc
GCKednc
编辑:仰旗、穆梓GCKednc
近期热门文章Top10GCKednc
↓ 点击标题即可查看 ↓GCKednc
1.为什么阴干的衣服那么臭?原因竟然是……
2.手榴弹的保险拔了到底还能不能插回去?| No.400
4.人为什么会有5根手指?5很特殊吗?
6.为什么内急时尿液在空中的时候呈流柱状而不是喷雾状呢?| No.4018.回家忘带充电器,可以使用非原装充电器充电吗?安全吗?10.为了庆祝π day,我们给π 介绍了一个对象?|happy π day
GCKednc
责编:Demi