分享
ChatGPT 是在做什么,为什么它有效?
输入“/”快速插入内容
ChatGPT 是在做什么,为什么它有效?
原文标题:《What Is
ChatGPT
Doing … and Why Does It Work?》
原文地址:
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/
原文作者:Stephen Wolfram
https://www.stephenwolfram.com/
发布时间:2023 年 2 月 14 日
译者:
SIY.Z
知乎地址:
https://zhuanlan.zhihu.com/p/607601817
《
A16Z 整理的 AI 典藏
》入门第三篇
ChatGPT
是以“词”为单位进行文本生成的
ChatGPT
能够自动生成看起来很像人类写作的文本,这非常了不起且出乎意料。但是它是如何做到的?
•
我的目的在于概述 ChatGPT 内部进行的过程,然后探讨它为什么能够成功地生成我们认为有意义的文本。
•
我首先声明,我将集中讨论整体情况,但不会深入探讨它们。
•
同时,我说的要点适用
其他
“大型语言模型”(LLMs)
首先要解释的是,
ChatGPT 始终基本上是在尝试生成“文本的合理延续”,这个延续是基于已有的文本,其中“合理”的意思是“在查看了数十亿个网页等人类编写的文本之后,我们可能会期望某个人会写下这样的内容。”
因此,我们假设已有文本为“人工智能最专长的一点是...”,然后想象一下扫描数十亿个人类编写的文本(例如网络内容和数字化书籍),找到所有这些文本的实例,看看下一个单词出现的
频率
是多少。
ChatGPT
实际上做了一些类似的事情,但(如我将解释的那样)它不是直接查看文字,而是
寻找在某种意义上“匹配”内容
。无论如何,最终它生成了一个排名,列出可能跟随文本的单词和它们的“概率”:
令人惊奇的是,
ChatGPT 尝试写一篇文章时,基本上只是一次又一次地询问“在已有的文本基础上,下一个单词应该是什么?” ,然后每次都添加一个单词。
(更准确地说,如我所解释的那样,它添加的是一个“标记”【注:token】,这可能仅仅是一个单词的一部分,这也是为什么它有时会“创造出新词语”的原因。)【注:比如说对于“apple”这个单词,
ChatGPT
可能先生成“app”,然后再接上“le”。这样就有机会生造出"bananapple" 这样不存在的词。
ChatGPT 生成的最小的单元近似于一个
Unicode
,也就是原则上 ChatGPT 可以生成互联网上所有国家的文本,包括 emoji 和各类颜表情,以及它们的所有组合
】
每一步,ChatGPT 都会生成一个
带有概率的单词列表
。但是,它应该选择哪一个单词添加到正在写的文章(或其他内容)中呢?人们可能认为应该选择“排名最高”的单词(即被分配了最高“概率”的单词)。但是在这里,一些巫术开始悄悄渗入进来。因为由于某种原因(也许有一天我们会科学地理解它),
如果我们总是选择排名最高的单词,我们通常会得到一篇非常“平淡”的文章,似乎从来没有“展现出任何创造力”(甚至有时完全重复)。但是如果有时(随机地)选择
排名较低
的单词,我们就能得到一篇“
更有趣
”的文章。
这里有随机性意味着,如果我们多次使用相同的提示,我们可能每次都会得到不同的文章。并且,符合巫术思想的是【注:就像炼丹一样,
莫名其妙的配方产生了特别好的效果
】,
有一个特定的所谓“温度”参数,它控制了较低排名的单词会被使用的频率
。
对于文章生成,
我们发现“温度”为 0.8 效果最好
。
(
值得强调的是,这里没有使用任何“理论”,而只是基于实践的发现。例如,这里的“温度”的概念,对应于统计物理学中熟悉的指数分布上的温度,但至少就我们所知,这两个温度没有“物理”上的联系。)
在继续之前,我应该解释一下,为了方便演示,我文章的大部分内容不会使用 ChatGPT 中的完整系统;相反,我通常会使用更简单的 GPT-2 系统,这个系统的优点在于它足够小,可以在标准台式电脑上运行。因此,我将能够为我所展示的基本上所有内容提供明确的 Wolfram 语言代码,您可以立即在计算机上运行它们。