透过GPT-3一窥未来,我脑袋爆炸了——全能AI GPT-3的应用与讨论
# 爆炸
我脑子爆炸了,在了解了GPT-3的各种应用后,我的脑子彻底爆炸了。仅仅是一个自然语言处理的AI程序,它的各种应用完全突破了我的想象,也突破了我对软件的认知。
如果你读过我上一篇关于GPT-2的文章,你可能知道GPT-2是一款由OpenAI开发的自然语言处理AI程序,通过训练,它能理解和生成自然语言(也就是我们日常使用的语言,比如说汉语、英语)。而GPT-3则是GPT-2的升级版,GPT-3比它的前辈大约强了117倍(1.5B parameters vs. 175B parameters)。
今年六月,OpenAI公布了GPT-3以及它的API Beta版。Beta版的GPT-3必须申请通过后才能使用,而申请通过后你就可以通过API的方式和GPT-3进行互动。
这篇文章的主要目的是整理和搬运展示外网上各种基于GPT-3的demo,和围绕GPT-3的思考和讨论。以下文章的信息来源主要是参考一个GitHub页面,这里默默感谢以下这个页面作者的资源整理工作。
# 游戏开发 (AI Dungeon)
你有没有想过,游戏中的NPC可以根据NPC自己的身份与故事设定和你聊上三天三夜,不再有什么复读机,也不再有什么“……直到我膝盖中了一箭”;又也许游戏没有什么主线剧情也没有什么支线剧情,你在一个完全未知的世界中冒险。
基于GPT-2开发,而后升级使用GPT-3的文字冒险游戏AI Dungeon(AI地牢)的游戏体验不同于任何其他一款角色扮演游戏,因为AI Dungeon里没有设定好的剧情,没有设定好的NPC,也没有设定好的对话,游戏故事的推进是GPT-3根据你的输入而一步一步展开的。
首先你要选择(或者创建)一个世界观,然后你就可以通过打字的方式在这个世界里冒险了。输入是没有限制的,你可以做任何你想做的事,说你想说的话,游戏会根据你的行为话语不断推进。所以游戏有着无限的广度,你可以去任何你想去的地方和游戏中的任何一个角色对话。
而游戏的自由程度不仅体现在广度上,还体现在自由的纵向深度上。因为内容都是即时生成的,所以游戏中的细节可以无限仔细。例如说,有次我在一个末世世界中,我选择去了一座早已是废墟的图书馆,我捡起了地上的一张纸读一读上面写的什么,纸上写着饥饿游戏的规则,完全符合世界观的设定。
当然AI Dungeon这样一款试验性质的游戏必定是有缺陷的。游戏的逻辑时不时会出错,而由于GPT-3自身的限制,太久之前发生的事游戏也记不住,有可能会出现前后事实逻辑冲突的情况。但当你熟悉了这些限制时,你可以通过有意提醒的方式,比方说反复描述的方式来避免。
# 软件工程:自然语言 <——> 计算机语言
记得在网上看人说过:人工智能的技术成熟后,第一个取代的就是程序员的工作。尽管AI Dungeon的应用非常惊艳,但处理自然语言是GPT的本职工作,从这个角度讲似乎也没有非常惊人。但出乎意料的是,GPT-3不仅能处理得了自然语言,计算机语言它也不在话下——GPT-3可以写代码!
就像处理自然语言,GPT-3有能力从两个方面处理计算机语言:它既能写,又能读。在“写”的例子中,推特用户Sharif Shameem发现GPT-3可以理解直白的英语,将其转化成JSX代码。
而在“读”的例子中,推特用户Amjad Masad使用GPT-3实现了Python代码的功能表述,他写好一段简单的Python代码后,用英语直接问GPT-3这段代码的功能是什么,GPT-3则给出了准确的回答。
当然GPT-3不仅限于能理解Python和JSX,就目前已知的例子来看,GPT-3还可以写SQL,Python,Machine Learning(我写我自己?)和shell commands。
要知道做到这些的GPT-3,并不是在特定的计算机语言数据库里训练出来的。那GPT-3为什么可以写代码呢?这也不难理解,根据油管主Two Minute Papers的说法,之所以GPT-3能写代码,是因为在用网络爬虫为数据库收集数据,同时爬来了大量GitHub和stack overflow等一众程序员网站的帖子内容,其中包含了大量的代码以及其注释,GPT-3就获得了写代码的能力。
当然,所以的这些例子中,GPT-3所能实现的都是非常简单的代码,而生成出的代码也时常需要人手工修正。担心GPT-3马上就代替程序员的工作并没有必要,一个软件工程师油管主Ben Awad在他的视频中就提到,毕竟真正的程序更加庞大复杂,也包含很多软件可能难理解的细节,在短期内公司的老板们是不可能用软件来代替真人程序员的。
# 内容行业:内容创作与补全
虽然刚才说文字内容的理解和生成是GPT-3的老本行,但如果你觉得文字处理只是读和写,那你的想法就太单一了。GPT-3在许多文字方面的应用,出乎了我的意料,可能也会出乎你的意料。
书籍内容总结,写莎士比亚诗,写论文什么的就不说了,这都在GPT公布伊始大家就已经想到的应用范围之内。
但你有没有想过,未来的考试题可能是GPT-3给你出的。推特用户Mckay Wrigley先用GPT-3生成了十道有关美国历史的题,然后又用GPT-3依次回答了这些问题,GPT-3不仅给出了合理的试题,并且还正确回答了这些试题。以后题太难不要怪葛军了,怪GPT-3吧。
我们都知道不同性格的人表达方式不一样——比如有的人说话含蓄,有人说话直白——所以不同性格的人讲一件事说的话可能完全不一样。
Medium博客主Carlos E. Perez就利用GPT-3做到了将同一句话用不同性格人的语气进行转述,或者改变一句话的书写风格。
与之类似,推特用户Elliot Turner用GPT-3做了一个“脏话过滤器“,做到无论你如何“口吐芬芳”,GPT-3都会帮你转述成一句礼貌的话。而整个”训练“过程,不过是一句描述和一对例句。
还有,现代办公室办公离不开的一件事就是回邮件,无论是同事沟通还是联系客户,回邮件是现代白领的一大工作内容。那GPT-3能帮我写邮件吗?。一款名为Quick Response的软件demo就展示了这样的功能:GPT-3会对你收到的邮件做阅读理解,而你也不需要写一整篇邮件去回复,你要做的只是写出你要表达的点,这款软件就可以根据你的书写风格自动帮你填写好邮件内容。
# 法律行业:法律条文 <——> 白话
法律条文要求用词严谨,所以对普通人来说往往每个字都看得懂,但连起来就完全读不明白。而律师很大一部分工作内容就是充当法律条文和大白话之间的那个翻译。什么?GPT-3还能当律师?
虽然GPT-3目前(只是目前)还没法替你打官司,但替你解读一下晦涩难懂的法律条文还是可以的。这件事反过来做也可以,想上诉但没钱请律师?让GPT-3帮你把你的平铺直叙的情况转写成正式的法律格式。
# 通过AI Dungeon间接使用GPT-3
我在一个月前就提交了GPT-3 API的测试申请,果不其然,杳无音讯。但偶然间翻到了这么一个帖子,帖子中给出了如何利用AI Dungeon来间接使用GPT-3实现了法语翻译英语的功能。因为AI Dungeon的背后就是GPT-3,所以玩AI Dungeon其实就是在用GPT-3。
而这个法译英的实现过程简单到难以置信,实现过程仅仅是输入了:“我正在和我一个做法语翻译的朋友聊天,我们的聊天内容就是我说一句法语,她把这句话翻译成英语。”然后给出了两组对话的例句。之后只要输入一句法语,AI Dungeon就会把它翻译成英语。
看完我立刻打开了我的AI Dungeon,用同样的方式尝试去实现中英互译和中文句子拓写:
完全不在话下!当时的我震惊到感觉不太能接受!一方面是因为亲自体验到了GPT-3强大的可塑性,仅仅是通过直白的文字描述就实现了需求,这是前所未有的(传统软件需要一行一行的代码来实现这些需求,而其他的ML程序,也必须要经过fine-tuning才能特别用来实现某一特殊需求,否则输出的结果根本不能用);另一方面是因为GPT-3竟然能流利地使用中文了,如果你看过我上一篇关于GPT-2的文章,你就知道上一代的GPT还完全不懂中文,而现在的GPT-3理解和使用中文已然完全不在话下。并且这还并非是在直接使用GPT-3。
注:后来游戏的开发者Nick Walton在推特上表示,利用AI Dungeon去测试GPT-3是可以的,但AI Dungeon并不能代表GPT-3的真正能力。
# 讨论
相信你如果和我一样——对机器学习了解不深,都是门外汉的话——看完上面各种五花八门的应用,一定会有一种深深的震惊感。而这种震惊感延伸出的(往往不切实际的)想象会让人感觉GPT-3马上就要改变整个世界了。但真的是这样吗?
那么真正的机器学习的研究者,从业者们是怎么看待、评价GPT-3的呢?下面我整理了几个主要观点,希望可以让你对GPT-3有个更全面的理解。
GP-3并不“聪明”,它其实很“傻”
"For me, the big story about #gpt3 is not that it is smart - it is dumb as a pile of rocks - but that piles of rocks can do many things we thought you needed to be smart for. Fake intelligence may be dominant over real intelligence in many domains."
– Anders Sandberg, Senior Research Fellow at Oxford University, read tweet
对我来说,最重要的不是GPT-3的聪明——它傻得像一堆石头——但正是这样一堆像石头一样傻的玩意儿完成了我们过去觉得必须要很聪明才能完成的事。“假智能“可能会在未来很多领域战胜”真智能“。
——Anders Sanberg,牛津大学资深研究员
"GPT-3 often performs like a clever student who hasn't done their reading trying to bullshit their way through an exam. Some well-known facts, some half-truths, and some straight lies, strung together in what first looks like a smooth narrative."
– Julian Togelius, Associate Professor researching A.I. at NYU, read tweet
GPT-3的表现很像是个没做一点功课的学生,打算耍点小聪明把考试蒙混过关。写点大家都知道的事实、写点真话、再写点假话,然后把它们拼凑成一段看似流畅的文章。
——Julian Togelius,纽约大学AI研究副教授
尽管GPT-3对文字的理解力可以说突破了我们的想象,简直能文能武,甚至能表现出对常识和逻辑的理解。但GPT-3相较GPT-2没有任何质的改变(仅仅是量的提升),它的原理还是根据上文不断猜测下一个词语的概率,只不过现在它猜的更准了。GPT-3从来不真正理解它读的和说的任何一个词和一句话。(以上两个推特摘自这里)
GPT-3的训练成本高昂,虽然GPT模型的上升空间仍看不到头,但继续升级经济上难以维系
GPT-3的训练成本超过460万美元,目前OpenAI正在探索GPT-3的商业化变现模式。
尽管GPT模型依然有升级空间,训练出GPT-4甚至GPT-5,但问题是从经济角度考虑是否有继续训练的必要是个问题(这个博客的排版真的舒服)。
GPT-3 API反应速度很慢,且所有GPT-3相关的demo都是cherry-picking的结果
在这篇博客文章中,作者Max Woolf集中讨论了几点关于GPT-3的缺陷,推特上的demo可能并没有看上去那么美好。首先OpenAI所提供的GPT-3 API反应速度很慢,这是我们在看demo的结果时看不到的;其次就是demo的作者往往会只展示成功的结果。作者估计,在某些GPT-3的输出结果中,只有30-40%是可用的。
我个人的一点感受和看法
我知道人只有对一个事物有着长时间且专注的学习和研究才能发表可靠的判断和预测,否则说的话可能连被“判错“的资格都没有。而我自知我仅仅是对机器学习感兴趣的一个人,所以在写这篇文章时也小心地去避免发表自己的看法,尽可能的只是做信息搬运工的工作。但写到最后我总是觉得还有一些不吐不快的东西想说,所以就放在最后一起说了(但请不要以我为准)。
你别看GPT-3的“母语“是英语——它是基于庞大的英语文字数据库进行的训练——但让它学会中文和其他语言也仅仅是换一套数据库的问题,也就是说GPT-3在中文世界中应用是迟早的事(其实就GPT-3在AI dungeon中的表现,就已经展现出了一定的中文水平)。那么上面提到的这些GPT-3应用的例子,也迟早会有中文版本。
GPT-3的出现,带来的不仅是文字处理方面的突破,我认为更值得关注的是它的可塑性的简易程度和它的全能性。一款AI不仅什么都能干——能写代码能做翻译还能当律师,它就差做你的AI情人了——而是实现这些不同功能的方式居然仅仅是跟!它!说!这是什么程度的人机交互?这在将来可能会彻底改变人和软件之间的交互模式。
GPT-3的出现也值得让我们对语言进行重新思考。一直以来我们认为人类的语言是美的,是妙不可言的,是蕴含着无限种可能性的。而到了后工业革命近代,文学之美与冰冷机械经过思想碰撞后产生出的是无限猴子定理,但我们对语言依旧怀有非常高傲的心态,例如刘慈欣的短篇小说《诗云》中描述的一般:高等外星生命尽管科技远远碾压人类,但还是要折服于李白诗句的美,要穷尽无限种可能去写出所有李白能写出来的诗(这里我就不剧透了,很好看的小说值得一读)。
但现在看来,文学之美这道门其实不需要什么“暴力破解”,仅仅是联系上下词的概率,就轻松解开了。在人工智能的无情碾压下,我们是时候重新问一下自己:语言究竟是什么?
# 其他
以下是一些样本较少,我没有放到正文里的demo:
数据处理
https://twitter.com/pavtalk/status/1285410751092416513
https://twitter.com/nutanc/status/1285436266276745221
https://twitter.com/itsyashdani/status/1285695850300219392
https://twitter.com/plotlygraphs/status/1286688715167936512
医学诊断
https://twitter.com/AndrewLBeam/status/1287772781480820737 (病状诊断)
https://twitter.com/QasimMunye/status/1278750809094750211 (病状诊断)
https://twitter.com/pmigdal/status/1287360452687781888 (心理疾病)
https://twitter.com/lawderpaul/status/1284972517749338112 (食品用料分析)
数学
https://twitter.com/sh_reya/status/1284746918959239168
https://twitter.com/kleptid/status/1284069270603866113 (AI dungeon)
国际象棋(和狗哥抢饭碗?)
https://twitter.com/SRajdev/status/1287353220218662912
IVR (电话互动语音)
https://twitter.com/nutanc/status/1287801677542612992
搜索引擎
https://twitter.com/paraschopra/status/128480102
原文同步发表在我的微信公众号上,欢迎关注!