1.4 ChatGPT的底层技术逻辑
1.4.1 是预测而非认知
ChatGPT背后的核心技术是大语言模型,而大语言模型背后的核心原理是统计计算。ChatGPT就如同一个有上千亿个变量的复杂数据方程来模拟我们大脑中的语言规则。一旦得到方程,那么每个词的出现都变成了概率问题,语言就可以被计算出来。相当于我们只要有这个方程式,就知道这句话该怎么说。
举个例子,假如我们让人工智能续写“随着科技创新的不断发展,人工智能成为”这句话,让人工智能补充后面的内容,这个时候人工智能是如何做的呢?
它通过海量语料发现“随着科技创新的不断发展,人工智能成为”之后,出现概率最高的五个词可能是“各个国家”“科技竞争”“引领”“新一轮科技革命”“人们”,人工智能在其中选择概率较高的“引领”来补全句子。因此,我们可以看出大语言模型生成内容就是选出最可能的下一个词。因此,大家在使用ChatGPT的时候会发现它是一个字一个字地输出回答,这种方式并非故意设置的交互方式,而是它一直在计算,即算出下一个字或词,把这个词放到句子中之后,再继续计算接下来哪个字或词出现的概率最高,因此它才呈现出一个词一个词往外“蹦”的效果。
那么ChatGPT是如何得到这套复杂的公式的呢?
简单来讲,海量数据和足够的计算量产生了质变。
从2014年Attention机制的提出,到2017年Transformer论文的发布,OpenAI一步步实现关键技术迭代,才诞生了今天的大语言模型,但大语言模型(包括GPT-1、GPT-3甚至是GPT-3.5)仍然不太会和人进行交流。在整个研发过程中,很关键的一点就是,OpenAI引入了人工反馈强化学习(Reinforcement Learning from Human Feedback,RLHF)。从本质上讲,ChatGPT是GPT-3.5和RLHF的结合,GPT是模型,模型背后是海量数据统计的涌现效应,RLHF技术用一系列例子教会大模型该如何与人类交流。
具体来看,大模型依靠Transformer机制和海量数据,实现了人工智能对人类知识的初步统计。RLHF就是让人来给机器的输出打分,回复得好有加分,回复得不好有惩罚,从而不断地训练ChatGPT的“说话”习惯,也就是训练ChatGPT学习人们日常是如何交流的。
因此,ChatGPT就是“统计+强化”的结合, ChatGPT并不真正理解它所说的内容,只不过说得更像人话而已。+
我们可以把ChatGPT的行为理解为抄作业,它在人类浩瀚的知识中学习,模仿我们曾经做过的事情,但是并不明白这件事的意义。由于抄的东西太多,所以给人的感觉就是非常像一个真人,但是这并不等于它真的理解。例如,我们问ChatGPT“3+7等于多少”,ChatGPT实际上并没有直接计算“3+7”,而是在大量语料中进行寻找,看看哪里出现过“3+7”,统计“3+7”后面出现的是什么,发现基本上都是10,所以ChatGPT就把10作为答复反馈给我们。
因此,ChatGPT的答复虽然语法通顺、写得很好,看起来很专业,但是准确度和置信度却令人担忧,因为它对事实没有鉴别能力。
1.4.2 RLHF的开创性
前面提到了RLHF,那么它是如何在大模型里被使用的呢?
为了理解RLHF,我们需要先了解一下ChatGPT在训练过程中为何要引入RLHF。
我们先来看看ChatGPT是如何训练出来的。首先,在训练阶段,可以将预训练模型看作一个未加控制的“怪物”——修格斯[1](见图1-2),因为预训练模型的训练数据主要来源于互联网,这些数据可能包括错误信息、阴谋论等各种各样的信息,可以说这些信息鱼龙混杂、参差不齐,这个时候的模型就如同修格斯一样,像一个“怪物”。其次,使用高质量数据对预训练模型进行微调,使这个“怪物”在一定程度上变得勉强可以被社会所接受。最后,使用RLHF进一步完善微调后的模型,让模型的输出更符合用户的需求,在这个过程中RLHF不仅可以提高人工智能的安全性,还能给产品带来更好的性能,从而引发大家的关注。
[1] 修格斯(Shoggoth)是一个虚构的怪物,源自作家H. P. Lovecraft的作品。
图1-2 带着笑脸的修格斯
(来源:推特网站)
经过以上三个步骤,尤其是使用RLHF后,大模型的能力得到显著提升。基于此,当我们让ChatGPT输出某项内容时,才能如愿得到想要的结果。