ChatGPT为什么它能够成功

2024年4月10日修改
ChatGPT是以“词”为单位进行文本生成的
ChatGPT能够自动生成看起来很像人类写作的文本,这非常了不起且出乎意料。但是它是如何做到的?我的目的在于概述ChatGPT内部进行的过程,然后探讨它为什么能够成功地生成我们认为有意义的文本。我首先声明,我将集中讨论整体情况,并提到一些工程细节,但不会深入探讨它们。同时,我说的要点同样适用于其他当前的“大型语言模型”(LLMs),不仅仅限于ChatGPT。
首先要解释的是,ChatGPT始终基本上是在尝试生成“文本的合理延续”,这个延续是基于已有的文本,其中“合理”的意思是“在查看了数十亿个网页等人类编写的文本之后,我们可能会期望某个人会写下这样的内容。”
因此,我们假设已有文本为“人工智能最专长的一点是...”【原ChatGPT译文:“人工智能最好的一点在于其能力”,这虽然符合原意,但是翻译成中文后由于改变了词语顺序,在此处意思不对了】,然后想象一下扫描数十亿个人类编写的文本(例如网络内容和数字化书籍),找到所有这些文本的实例,看看下一个单词出现的频率是多少。ChatGPT实际上做了一些类似的事情,但(如我将解释的那样)它不是直接查看文字,而是寻找在某种意义上“匹配”内容。无论如何,最终它生成了一个排名,列出可能跟随文本的单词和它们的“概率”:
附件不支持打印

加载失败,

令人惊奇的是,ChatGPT尝试写一篇文章时,基本上只是一次又一次地询问“在已有的文本基础上,下一个单词应该是什么?” ,然后每次都添加一个单词。(更准确地说,如我所解释的那样,它添加的是一个“标记”【注:token】,这可能仅仅是一个单词的一部分,这也是为什么它有时会“创造出新词语”的原因。)【注:比如说对于“apple”这个单词,ChatGPT可能先生成“app”,然后再接上“le”。这样就有机会生造出"bananapple" 这样不存在的词。ChatGPT生成的最小的单元近似于一个Unicode,也就是原则上ChatGPT可以生成互联网上所有国家的文本,包括emoji和各类颜表情,以及它们的所有组合】