文本生成的模型还能用来做什么?一个很好奇的网友用OpenAI的GPT-2做了一个实验。原来,GPT-2除了可以生成文字,还能下棋、作曲!△TrainingGPT-2toplaychess作者说:原来只要GPT-2预测到下一步走法,就可以训练它下棋了。这是一个花了几天时间的小项目,但结果却非常令人兴奋。此外,在早期的实验中,研究人员还发现GPT-2可以作曲。这也引起了网友们的热议。这太疯狂了,这是一场与更贫穷的人类的斗争。GPT-2学会了下国际象棋,尽管它只是一个文本AI,但它能够从国际象棋符号文本的语料库中学习。而且它对“棋盘”的概念一无所知。不过,也有网友对此提出质疑。我有一种感觉,它只是一开始比较配合,从第11步开始就输出了无效的“走法”。总的来说,技术看起来很糟糕,所以很难说它对国际象棋有什么样的理解。尽管如此,作为文本预测模型,能够在这样的游戏中做出一些聪明的举动还是令人印象深刻的。那么,GPT-2下棋和做音乐是怎么回事呢?下棋做音乐,GPT-2成为了用GPT-2下棋的跨界玩家。起初,它可能只是一个娱乐项目。作者ShawnPresser在短短一周内完成了演示。之所以做出如此大胆的尝试,是因为他的胖朋友格温·布兰文(GwernBranwen)不仅教GPT-2写诗:美丽的湖,美丽的树林,(Fairisthelake,andbrightthewood,)盛开的魅力挂着:)美丽的银行;和柔软的洪水我们的舌头笑得金黄。(带着我们舌头的金笑。)也让GPT-2写出爱尔兰民歌:Music_2.mp300:50.058来自量子比特初听这个开头,竟然有点像孙燕姿的《遇见》。事实上,Brangwen在Session&ABCnotation.com上对超过200,000首音乐作品训练了GPT-2模型,这些音乐作品将音乐体现为字母文本。那么,能否用e2e4(将棋子从e2位置移动到e4位置)这样的国际象棋指令集来训练GPT-2,让这个文本生成模型学会下棋呢?答案是:是的。普莱斯发现,经过短短一个小时的训练,GPT-21.5B模型就展现出了国际象棋的“天赋”。虽然走几步后出现无效走法,但这个实验证明了创建GPT-2国际象棋引擎并非不可能。△第9步出现无效运动于是,Price用2.4M数据训练了GPT-21.5B模型一整天,模型改进:直到第14步,才没有bug。然后,Price“写了一些代码来计算所有有效着法的概率”(作者没有详细解释),GPT-2可以将游戏推向残局。Price已将他的代码部署到Colab。想试试只会下棋的GPT-2棋商,可以亲自去挑战:逆天的语言AI——GPT-2去年2月,OpenAI发布了一款名为GPT的“逆天”语言AI——2.整个模型包含15亿个参数。这个AI在写文章的时候没有违和感,无需针对性训练就可以横扫各个特定领域的语言建模任务。它还具有阅读理解、问答、生成文章摘要和翻译的能力。不过当时的假消息太过真实,所以OpenAI表示:我们不敢放出完整的模型。人类只给出了两句话的开头:科学家们有一个惊人的发现,一群独角兽生活在安第斯山脉一个偏远且未开发的山谷中。更令人惊奇的是,这些独角兽能说一口流利的英语。按照这个废话的设定,AI郑重其事地编译了一遍:这些生物长着独特的角,科学家们也因此将它们命名为奥维德的独角兽。在此之前,科学界并不了解这种长着四只角的银白色生物。虽然,这些生物的起源尚不清楚,但有人认为它们是在人类文明存在之前由人类和独角兽杂交而生。佩雷斯教授说:“在南美洲,这种现象非常普遍。”除了惊人的成绩,GPT-2在各种特定领域数据集的语言建模测试中也取得了优异的成绩。网友对其完全开源的呼声越来越强烈,于是在接下来的时间里,GPT-2经历了“挤牙膏开源”。初出茅庐的时候,先是发布了124M版本的机型,然后是355M,然后是774M。经过9个月的断断续续发布,OpenAI终于发布了拥有15亿参数的完整模型。实际测试结果如何?OpenAI在博客中表示,GPT-2的结果经过了独立客观的第三方测试,令人信服:该团队在康奈尔大学的合作伙伴对人类进行了问卷调查,并打出了GPT-2可信度输出的文本分数,大小模特都参加了。满分10分,大家给这个15亿参数的模型打了6.91分的可信度。高于7.74亿参数模型(6.72分)和3.55亿参数模型(6.07分)。也就是说,在人眼里,15亿参数的模型比之前发布的模型更真实,写的文章也更真实。语言模型引起了跨国界的热烈讨论。可以写故事的NLP模型,现在可以写音乐下棋了。这件事引起了网友的热议,甚至还引来了马库斯。英国作家汤姆·奇弗斯认为,这可能会开辟通向AGI(通用人工智能)的新思路。有网友质疑,这不是在“学习”下棋,而是将给定的开局棋与其对应的后续棋法进行统计关联。GPT-2只是给出符合已知模式的结果。斯坦福计算机科学博士直言不讳地说,或许可以使用非常古老的语言建模方法来达到这个结果。说GPT-2“学会了下棋”是一种误导。所以你怎么看?作者简介△ShawnPresserShawnPresser具有丰富的C++游戏引擎编程经验,是一名图形程序员和工具开发人员。2010-2011年就职于S2Games,参与英雄无敌游戏项目的相关工作。2005-2008年就职于Simutronics,主要从事基于C++的项目开发。传送门Reddit:https://www.reddit.com/r/MachineLearning/comments/elf66h/p_using_gpt2_to_play_chess/博客:https://slatestarcodex.com/2020/01/06/a-very-unlikely-chess-game/作者简介:https://www.linkedin.com/in/shawnpresser/演示:https://colab.research.google.com/drive/12hlppt1f2N0L9Orp8YCLgon6EF5V3vuR#scrollTo=8gxTLCKBQ3-F&forceEdit=true&sandboxMode=true
