GPT-3创意小说

2020-07-03 20:36:46

我继续用OpenAI的2020进行我的人工智能诗歌生成实验,它比2019年大116倍,功能也强大得多。然而,它不仅是一个量化的调整,而且是更好的-它在本质上是不同的,表现出可怕的运行时学习能力,即使是原始模型,没有微调,也可以纯粹通过示例或指令来“元学习”许多文本任务。一个人不会以正常的方式训练或编程,但他会进行对话,并撰写提示来教授自己想要的东西。

我在2020年6月通过OpenAI Beta进行了测试,我发现这不仅与我精调的.5b-诗歌的写作质量不符,而且超过了它,同时在处理诗歌、汤姆·斯威夫蒂的双关语、科幻小说、像图灵的图灵测试对话这样的对话、文学风格的恶搞…。作为pièce de ré,我重现了Stanislaw Lem的Cyberiad的“Trurl‘s Electronic Bard”诗歌。(在此过程中,我记录了文本编码如何不必要地损害各种任务的性能的实例。)。

的样本不只是接近人类的水平:它们富有创造力、机智、深邃、深奥,而且往往很漂亮。他们展示了一种处理抽象的能力,比如风格恶搞,这是我完全没有见过的。和聊天的感觉就像和人类聊天一样不可思议。报纸上报道的结果给我留下了深刻的印象,在花了一周的时间尝试之后,我仍然印象深刻。

本页记录了我在探索过程中生成的示例,以及对如何使用它的想法和它的剩余弱点。我希望您喜欢它们,即使是十分之一,就像我喜欢测试和看着完成在我的屏幕上滚动一样。

用于无限制自然语言生成的最新、最伟大的神经网络是OpenAI。就像我以前广泛使用过的1-只是更多。当然,我想用它写诗:但它太大了,不能像我那样微调,而且OA(目前还)不支持任何形式的培训。难道我们必须满足于平庸的普通诗歌,充其量是被剥夺了直接对我们可能喜欢恶搞的选定诗歌语料库或作者进行微调的权利吗?

不是-因为5b乘以116x到b的缩放效果出人意料地好,并以元学习的形式释放了非凡的灵活性,在这种形式下,可以推断新的模式或任务,并纯粹根据输入的文本执行指令。我在其他地方讨论了这种扩展成功的更广泛的影响,比如元学习(另请参阅)的出现、人工智能的进步、该领域的态度和未来主义;但幸运的是,OpenAI允许我访问他们提供托管模型的Beta服务,让我花大量时间与事物交互和编写东西。在这里,我们都是在探索创造性写作任务的能力的同时享受乐趣,主要是(但远不限于)诗歌。改进了多少?它能做些什么?

结果是:很多!下面,我将介绍一下使用的第一印象,以及无数的示例。(除了Cyberiad,我个人还会重点介绍海军海豹突击队和哈利波特的恶搞、魔鬼科学词典/学术词典、“优步诗歌”/“宇宙是个小故障”等独立诗歌,以及“人行道尽头”。)。

这篇论文包括了在非常广泛的任务范围内对零发/少发性能的评估,但我担心,除非你熟悉有问题的(极其枯燥的)基准,否则它不会给人留下深刻的印象。您可以跳到附录中查看更多类似ITS的示例,或者浏览随机样本。

从聊天机器人到基于问题的维基百科搜索,到法律发现,再到家庭作业评分到翻译,原版包括许多引人注目的例子;我要强调的是,“电子表格”/“自然语言外壳”/“代码补全”2。安德鲁·梅恩描述了用来生成图书推荐列表、阅读互动故事、与艾达·洛夫莱斯等历史人物对话、总结文本(比如针对小学生)或用表情符号总结电影(Matrix:“🤖🤐”;“Hunger Games:”🏹🥊🌽🏆“),以及。马克斯·伍尔夫(Max Woolf)有一个示例提示的回收站&各种补充,比如原创的“独角兽”文章、西斯的复仇、堆栈溢出的Python问题,以及他自己的推特(Tweet)。贾内尔·单尝试用奇怪的狗描述来搭配畸形狗的样本。

(未打磨的底座)好多少?可能性损失是一个绝对的衡量标准,基准也是如此,但很难说每个角色减少0.1位意味着什么,或者就现实世界的使用或创造性小说写作而言,小队提高了5%。这感觉像是一个很大的进步,肯定比从0.5b提高到0.5b,或者从0.5b提高到b要大得多,但到底有多大的进步呢?

对于小说,我认为这是一个策划问题:我要读多少个样本才能得到一本值得炫耀的作品?人们可能会问模型的搜索效率有多高:在一个极端,随机选择字母的算法必须生成天文数字的大量样本,然后才能像谚语中的猴子那样,从莎士比亚戏剧中生成一个页面;在另一个极端,一个相当聪明的人类可以一次尝试匆忙完成一个看似合理的页面。使用人工智能算法,结果是中等的,但很快就会改善。一个在小语料库上训练的文本生成器代表着对随机性的巨大飞跃:人们可能只需要生成数百万个样本就可以得到几个连贯的页面,而不是生成无数的样本;这可以通过增加n元语法的n个深度来改进到数百或数万个,这在转移到互联网规模的文本数据集时是可行的(经典的“大数据的不合理有效性”示例),或者通过仔细的手工设计和与Mad-Libs式模板等其他方法的组合来实现。一个字符-,就像我在My中做的那样,做得更好:它很容易生成合理的段落,所以人们可能只需要在数千个样本的数量级上强行使用,就可以得到令人满意的页面。对于诗歌,我通常会通读几百个样本才能找到一首好的,3.45m→774m→1.5b带来了有价值的改进;到了15b,我会说对于诗歌,我会通读50-100首“诗歌”来选择一首。但是,一旦拨入提示符,这一比例似乎已经下降到接近1:5-甚至可能低至1:3!我经常发现自己在第一次完成时耸耸肩,“还不错!”(当然,这部作品的平均写作质量似乎超过了几乎所有的青少年诗人。)。

上面的演示和本页上的演示都使用原始的默认模型,没有任何额外的培训。取而代之的是,为了获得所有这些不同的行为,一个人提供一个简短的文本输入,用它来预测下一段文本(而不是从空输入开始,然后自由地生成任何东西);然后,只要阅读它,就可以灵活地调整其写作风格和推理,并使用文本输入中定义的新定义或规则或单词,而不是以前从未见过的定义或规则或单词。这被认为是“元学习”,因为它已经“学会了如何学习”:在对数十亿字节文本的无休止训练中,它遇到了如此之多不同种类的文本,以至于它别无选择,只能学习抽象,以及如何理解描述、指令和格式,以便让它快速适应它正在训练的特定文本片段,因为对它来说,要简单地通过重复暴露来简单地学习每项任务(更不用说记住所有数据了),已经太多了。元学习时,模型的权重不变,但当模型逐层计算时,内部数字变成了新的抽象,可以执行它以前从未做过的任务;从某种意义上说,带有175B参数的模型不是真正的模型-真正的模型是那些存在于输入和输出之间的短暂数字,并定义了一个为当前文本量身定做的新的数字。在某种意义上,具有175B参数的模型不是真正的模型-真正的模型是那些存在于输入和输出之间的短暂数字,并定义了一个为当前文本量身定做的新的数字。

因为你不是以传统的方式进行微调,所以通过它极少的学习能力与我以前使用过的任何东西进行互动都会呈现出一种完全不同的感觉。对于常规软件,你必须仔细考虑如何做某事;对于深度学习软件,你必须专注于提供数据,这些数据在某种程度上体现了你想要的正确答案;但对于普通软件,你却想着如何描述你想要的东西。有了它,它有助于人类

截至2020年6月中旬,OpenAI不支持微调,尽管OA正在致力于此。但在玩了足够长的时间后,我开始怀疑:在这种元学习和常识的水平上,我们真的需要微调吗?

我对大多数事情知之甚少--它只是一小部分(15亿)参数,只是对Internet的公共爬行器子集的一小部分进行了短暂的训练。这并不奇怪,对于许多领域,它不知道细节;即使数据集包括足够的文本,它也没有多次训练该数据,并且这些知识与它需要了解的所有其他领域竞争,这是相互干扰的。

但是已经什么都知道了!在每个维度上都要大得多,对于任何已经在公共页面中得到很好表示的领域来说,这似乎都不是什么问题。可能需要在同人小说语料库上接受培训,才能了解随机媒体专营权中的某个默默无闻的人物&创作优秀的小说,但已经知道这些人物,并在写新小说时适当地使用它们。

即使在充分了解某个域的情况下,它也会有快速切换域的令人沮丧的行为。您可能会提示它使用它已经足够了解的诗歌类型,但在几行之后,它会生成一个文本结尾令牌,并切换到生成一篇关于唐纳德·特朗普(Donald Trump)的新闻文章。(特朗普经常露面。)。想必,虽然诗歌得到了合理的表述,但认为诗歌极不可能成为下一个单词的人仍然很少见,而且一直试图跳到一些更常见、更有可能的文本,而且还不够聪明,不足以推断出&;尊重提示的意图。

这种“模式切换”行为要少得多。也许是因为它是在一个更大、更全面的数据集上进行训练的(所以新闻文章不是那么占主导地位),但我也怀疑元学习使它在保持正轨和推断提示意图方面做得更好-因此出现了像“变形金刚诗歌”提示这样的东西,在这个提示中,尽管这肯定是非常不寻常的文本,即使切换到散文,它也能够即兴创作出适当的后续评论。

那么,在诗歌或文学上进行微调有什么意义呢?它可能已经看到了精调的语料库,了解了大部分语料库,并将按需轻松地生成诗歌。可能会有收益,但我想知道它们是否会像预期的那样大?

以下所有示例都是使用OpenAI Beta Playround生成的,如下所示:

游乐场在测试版中有一些粗糙的边缘,以及容量问题。我建议用户保持打开弹出的Web控制台(Ctrl-I),以观察它是否抛出错误,并识别页面何时挂起。

它提供早期界面中熟悉的标准采样选项,包括。人们尤其会操纵温度设置,以偏向更狂野或更可预测的完成;对于创造力至上的小说来说,最好设置得高一些,可能高达1,但如果你试图提取可能是对也可能是错的东西,比如回答问题,最好把它设得低一些,以确保它更喜欢最有可能完成的东西。(毕竟,高温的意义在于定期选择模型认为不太可能完成的任务;如果您试图得出正确的算术或琐碎的问题答案,为什么要这样做呢?)。对于top-p,人们可以把它设置到~0.95,然后基本上忘记它,除非有人怀疑它打破了答案,比如top-k,它需要低得多,比如0.5;它的存在是为了去掉胡言乱语完成的尾巴,减少重复,所以不会对创造力产生太大影响。我通常避免使用重复惩罚,因为我觉得重复对创造性的小说至关重要,我宁愿犯太多的错误,而不是太少,但有时它们是一种有用的干预;可悲的是,它们保留了可能性训练的自回归序列模型和其他可能性训练的自回归序列模型的一些缺点,比如陷入退化重复的倾向。

更不寻常的是,它提供了“最佳”(BO)选项,这是排名技巧(独立生成n个可能的完成,然后选择总可能性最好的一个,这避免了显式树/束搜索将不幸引发的退化)。我不确定如何最好地使用BO。我很努力地尝试了BO,因为我不太明白它是如何与质量互动的。在较小的型号上,它似乎有助于将质量提升到‘达芬奇’(DaVinci)的水平,而不会造成太大的麻烦,但在达芬奇,它似乎加剧了通常的抽样问题:特别是在诗歌方面,a很容易落入重复陷阱或循环,或者吐出背诵的诗歌,而BO则更有可能做到这一点。对于名诗全集的生成,除非你积极地编辑诗歌以迫使其有所不同,否则很难生成新的版本。(在最极端的情况下,在生成“Jabberwocky”的新变体的情况下,我一直无法在任何设置下生成任何新的版本,甚至采取了积极的步骤,在新行中编辑关于涡流剑如何从Jabberwocky弹出并赢得…的信息。它总是吐出大块的原作。)。所以BO是一把双刃剑。我发现使用它的最好方法是在最高温度下不使用它(BO=1)采样,然后一旦它有几条明显不同的线,那么用更多的线采样(例如BO=5)似乎是有帮助的,而不是有害的。这让我有点惊讶,因为对米娜来说,哪怕是做一点BO也会有很大的不同,虽然它的回报在递减,但我不认为他们测试过的结果表明,更高的最好成绩会让反应变得更糟糕(而不仅仅是n倍的昂贵)。BO可能对非虚构类/信息处理任务更有用,在非虚构类/信息处理任务中,只有一个正确答案,BO可以帮助克服采样或近视带来的错误。

当然,并不完美。作为一个扩展版本,它具有基本相同的缺点,我对改进的想法也基本相同(除了远离s,它的需求变得越来越迫切;请参阅下一节)。第一个限制是它仍然受到有限的上下文窗口的阻碍。没有任何形式的记忆或重现,因此它不能看到其有限的2048年(大约500-1000字)以外的任何东西。这意味着它不能指望写出任何严肃长度的东西,因为开始很快就会消失在事件视界之外,这也限制了它进行微乎其微的学习的能力,原因也是一样的:提示+生成将很快超过窗口长度。虽然对于格式重复的任务,比如问答(Q&;A)这样的任务,损害可能是有限的(因此可以对其完成情况和原始提示进行必要的元学习),但这确实限制了它,而且令人沮丧。对此有许多可能的解决方案。

由可能性(预测)损失训练的自回归语言模型都有一个极其恼人的问题:当你生成补全时,它们有一种最终会陷入重复的胡言乱语循环的趋势。无论是<foreign language=“English”>T5</foreign>等等,都。

..