读《这就是 ChatGPT》


这就是 ChatGPT

这是最近一段时间里继《智慧的疆界》《我看到的世界》以来看的与人工智能技术相关的第三本书。前两本书以不同的视角描绘了 AI 浪潮的兴起由来,离我们现在业已使用的大语言模型还有段距离;而这本书则尝试以相对简单的逻辑介绍 ChatGPT 的工作原理。

概率游戏

当ChatGPT做一些事情,比如写一篇文章时,他只是一遍又一遍的询问:“根据目前的文本下一个词应该是什么”并且每次都添加一个词。 它在每一步都会得到一个带概率的词列表,如果我们总是选择排民最高的词,会得到一份“平庸”的文章,毫无“创造力”,但有时随机选择低概率的词,会显得“更有趣”

–《它只是一次添加一个词》

word prob

与 ChatGPT 对话的过程,本质上是在玩一个具有海量参数的文本概率生成器。gpt 通过加工成 embedding 的前续文本的输入和模型计算(“像涟漪一样依次通过各层网络”),输出 next token 的概率分布向量,最后通过一定的随机性(即 temperature 温控参数)确定最终输出。这个和识别手写数字的简单神经网络在原理上类似。但是,仅根据概率分布输出最高概率的结果,可能并不会很理想——这就好比我们使用的输入法选词提示,通常仅局部合适,但往往缺乏整个输入上下文的逻辑关联关系。因此,还需要别的手段帮助优化输出。

word prob 2

在 ChatGPT 里,使用了 transformer 神经网络的“注意力”机制,给输入文本中的不同词或词组调整权重,实现跨距离的语义关联。每生成一个 token ,都会分析所有已有的文本(包括提示此、之前的回答以及目前已生成的文本呢)的特征以及其中表达的意图(数学表达也为一个数组),通过 embedding 嵌入,使用神经网络提取输入文本的特征,然后经过各个注意力块(神经网络,注意力头,提取不同的特征),串行计算,逐层计算概率,最终得到对下一个 token 的预测,“像涟漪一样层层泛开”。

读到这里,对 gpt 的一些使用方式及行为,我们能够有更好的理解:为什么好的提示词很关键?为什么与模型的对话过程是流式的?为什么在就一个话题多轮问答时,需要每次都携带上整个话题的全部问答内容?为什么输出结果会每次有差异?为什么模型会给出一些看起来很连贯但是胡说八道的东西?为什么 GPU 非常适合做模型中的算力设备?为什么参数量大的模型需要的算力会更加夸张?

计算不可约

ChatGPT 是如何在语言方面获得巨大成功的?我认为基本答案是,语言从根本上比看起来的简单,即使是简单神经网络结构的 GPT,也能够捕获人类语言的“本质”和背后思维。在训练的过程中,GPT 已经“隐含地发现”了使这一切成为可能语言(或思维)的规律。

GPT 的成功表明我们依然可以期待发现新的“语言法则”,实际上是“思维法则”。 由于它是一个神经网络,这些法则是隐含的,但如果我们能通过某种方式是这些法则变得明确,就可能更直接、高效的做出 GPT 所做的事情。

–《真正让 ChatGPT 发挥作用的是什么》

word space

所谓的“计算不可约”,是指问题无法通过明确的算法步骤完全解决。比如,人类的感情与内心体验,虽然可以部分通过心理学和神经科学研究做解释,但是却无法用简单的数学模型和确定的算法步骤进行完全描述和预测。这就好比让 gpt 根据生辰八字推算个人运势一样,是永远都没有符合逻辑的解答的。相反,事物“计算可约”,说明事物可解释性强,容易抽象成一般的规律,便于理解掌握和重复应用。gpt 在处理此类“计算可约”的问题上无疑是具备有非常出色的能力的,比如数学、物理、编程乃至自然语言本身等,都是可以通过确定的算法、步骤、范式和规律去求解,但是它却无法解决你生活中的心情阴晴圆缺的变化,因为人类的情感波动的复杂性具有高度的不可预测性。

路在何方

从这个角度来看,想要在 AI 浪潮中依然能站稳,必须要把自身从一贯的“计算可约性”的事物中解放出来,转而去思考如何解决那些“计算不可约”的问题。很显然,我们当下所能面临的计算不可约的问题,大都是“人”的问题。天地万物都存在一些客观的自然规律,而人与人之间的问题却更具体、更繁杂。解决“人”的问题,找到他们的关注点和需求,可能才是得以顺利通往下一站的必由之路。