大模型的底层原理主要包括以下几个方面:
总结一下,以上这段讨论,你要重点记住这句话:模仿人类大脑结构的AI,也自然而然的表现出人的特征,很多我们应对大模型回答不及预期的解决之道,也和人与人交流沟通的技巧如出一辙,息息相关。关于这一点,我们会在后续各种真实案例的分析拆解中再来讨论。GPT的全称是生成式预训练转换器模型(Generative Pre-trained Transformer),他的名字里就蕴含了大量重要的信息,接下来我们来聊聊GPT这三个字母的分别含义:图14 Generative Pre-trained Transformer生成式(Generative):所谓生成式,说的是大模型是根据已有的输入为基础,不断计算生成下一个字词(token),从而逐字完成回答的过程。这一过程,像极了一个单字接龙的游戏,图15中给出了一个简单的例子做为说明:1.一开始我们给了大模型一些提示词Prompt,为了简化,在图中这个提示词只有一个单词:How;2.接下来,大模型会结合自己“大脑中存储的知识”进行计算推理,算出how后面接are这个单词的概率最大,于是输出are接在how后面;3.在已知how are的情况下,大模型再次推理计算,算出how are后面接you这个单词概率最大,于是输出you接在how are后面;4.不断重复上面步骤,每次大模型会多输出一个词(token),新的输出会和过去的输入一并成为新的输入,用来计算下一个词;5.直到计算出下一个词是[end of text]的概率最大,于是结束输出,回答结束([end of text]是一个特殊的token,用来终止对话输出)
那么预训练阶段大模型就行学了些什么,又学了多少内容呢?以GPT-3为例,训练他一共用了4990亿token的数据集(约570GB文本),这其中绝大多数都是来源于高质量的网页、书籍数据库、维基百科等的内容,可能你对4990亿token这个数字没有直观的体感,那么我们不妨做个换算,它大概相当于86万本《西游记》,人生不过3万天,也就是说,即使你不吃不喝不睡,以每天读完一本《西游戏》的阅读速度去看这些资料,也大概要28.6辈子才能读完。转换器模型(Transformer):Transformer这个单词你可能很陌生,但它的另一个中文翻译“变形金刚”你一定不陌生,Transformer是一种处理文本内容的经典模型架构,图16中左半部分就是GPT-1所使用的Transformer架构图(右边则是经典的Diffusion模型架构图,用于图像生成)。图16 Transformer和Diffusion关于Transformer的具体细节,即使不清楚,也并不太会影响你用好大模型,因此我们不做更多展开讨论了,感兴趣的朋友可以移步这里:[【官方双语】GPT是什么?直观解释Transformer|深度学习第5章_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV13z421U7cs/?vd_source=951ca0c0cac945e03634d853abc79977)[Transformer Explainer:LLM Transformer Model Visually Explained](https://poloclub.github.io/transformer-explainer/)
没错,这就是大语言模型真实工作的样子,平时使用大模型看到他逐字输出的样子,并不是程序员做的酷炫“打字机”效果,而是大模型就是如此这般工作的。按照我们的常识认知,这种依靠概率计算逐字接龙的方法,恐怕连生成一个通顺的句子都难,更别提生成高质量有意义的回答了,为什么这种方法会有效呢?答案就是大,GPT-1的参数规模是1.5亿,GPT-2 Medium的参数规模是3.5亿,到GPT-3.5时,他的参数规模来到了惊人的1750亿,我们常说大力出奇迹,参数规模的增加,使得大模型实现了量变到质变的突破,最终“涌现”出了这种惊人的“智能”。反观人类自身,无论是长周期看物种的进化,还是短周期看一个个体的学习成长历程,都有这样“涌现”的结构,就像当我打下这些文字的时候,我的大脑也在神奇的进行着快速的语言组织,这个边打字边思考边输出的过程,又何尝不是一场接龙游戏呢?图15文字接龙游戏预训练(Pre-trained):正如我们前面五点朴素洞察提到的,人类是不知道自己没见过/学过的知识的,大模型也是如此,大模型“脑袋”里存储的知识,都是预先学习好的,这个预先学习并把对知识理解存储记忆在“脑袋”里的过程,就称为预训练。预训练是需要花费相当多的时间和算力资源的,当你了解并意识到预训练机制的时候,你就会明白,在没有其他外部帮助(例如使用浏览器插件,RAG等)的情况下,大模型所知道的知识信息总是不完备的,滞后的(非实时)。