前面介绍了AIGC包含多种技术和应用,其能力就是理解人类的语言并生成文字、声音、图片、视频等信息,并且提出了AIGC的应用是“汽车”,而大模型是这辆汽车的引擎的理念。在AI领域,“大模型”一词有着广泛的含义和重要的应用。在狭义上,大模型是指大型语言模型(large language model,LLM),如GPT系列和BERT,这些模型通过深度学习的方法训练,能够理解文本和生成文本。这些模型在训练时会消耗大量的计算资源,学习海量的文本数据,以捕捉语言的细微差别,理解语境和语义。在广义上,大模型不仅限于处理文本,还包括对图片、语音和视频的理解与生成。这些模型通过类似的深度学习技术处理各种类型的数据,不仅能够生成文本,还能生成图像、模拟语音或产生视频内容。例如,DALL-E和Midjourney专注于图像生成,而WaveNet则是一个专门生成语音的模型。
那到底什么是大模型呢?下面将其拆解为“大”和“模型”,首先介绍什么是模型。模型是对客观事物的简化和抽象表示,其目的是通过简化的方式捕捉和反映现象的本质特征。例如,长江发大水,连日降雨,农田淹毁,这些是常见的气象和水文事件。然而,在古代,缺乏现代科学知识的人们可能会将这种现象归咎于“龙王发怒”。这种解释在当时的知识背景下,尽管是基于神秘主义而非科学原理,也可以被看作是一种模型——“龙王发怒”的故事为古代人提供了一种解释和应对自然灾害的方式。
进入现代,随着科学革命的推进,模型的概念逐渐从神话传说转变为基于实验和观察的科学模型。现代模型利用数学语言精确描述自然规律,通过数据和算法模拟复杂系统的行为。假设有一系列销售额与广告投入的数据点,它们代表了一家公司过去几年的销售额和广告投入的关系。我们希望通过这些数据来预测,在未来的某个时间点,如果公司决定增加广告投资,预期的销售额会是多少。
为了解决这个问题,可以尝试找到一个数学表达式,假设广告投入为 x (万元),销售额为 y (万元)。通过对数据的分析,可以发现销售额与广告投入之间存在线性关系。当广告投入为1万元时,销售额为3万元;当广告投入为2万元时,销售额是5万元。通过观察发现,可以用 y =2 x +1来表达广告投入与销售额之间的关系。这意味着,可以使用一条直线来近似描述这两者之间的关系。如图1-4所示,这条直线的数学表达式可以表示为 y = ax + b 。其中, a 是直线的斜率,表示销售额对广告投入的敏感度;而 b 是直线的截距,表示广告投入为0时的基础销售额。
在这个场景中,公式 y = ax + b 就是一个数学模型。它简化并抽象了现实世界的复杂关系,通过这个公式可以了解广告投入与销售额之间的关系。在简单的线性模型中,只考虑单一变量 x 对输出 y 的影响。然而,现实世界中的问题通常远比这更复杂,涉及多个变量和因素。假设情况变得更加复杂,就需要扩展模型以包括更多的输入变量和相应的参数,形成多元线性回归模型:
y = a 1 x 1 + a 2 x 2 + …+ a n x n + b
在这个模型中, a i 表示不同输入变量 x i 对输出 y 的影响强度。
对于语言模型,如GPT系列所使用的,情况变得更加复杂。在语言处理中,模型需要考虑单词之间的关系,不仅是线性的,还包括上下文、语法和语义的多维交互。这就需要模型通过深度学习的方式利用神经网络计算单词与上下文之间的关系,从而捕捉出每个单词的特征,这种复杂性导致了参数数量的大幅增加。可以简单地认为,公式 y =2 x +1中的2和1都是参数,推而广之, a 1 , a 2 ,…, a n 以及 b 也是参数。在深度神经网络中, a 1 , a 2 ,…, a n 参数称为权重,而 b 这样的参数称为偏置量,和 a 1 , a 2 ,…, a n 一样, b 也会有多个。大模型中的“大”,体现在拥有很多这样的参数,能够描述更加复杂多样的客观世界。
图1-4 y 与 x 的线性关系
想象一下,你准备炒一盘宫保鸡丁,如果只使用盐和食用油(相当于模型中的少量参数),那么炒出来的菜口感和色泽都很一般。如果给这道菜加入更多的配料,如花椒、干辣椒、酱油、醋、糖、蒜末和姜末等(相当于大模型中的多个参数),那么炒出来的是一盘色香味俱全的宫保鸡丁。每种配料的加入,给菜带来了不同的味觉层次和饮食体验。这里的配料就是大模型的参数,参数越少,表达的事物越简单,增加更多的参数就能表达更复杂的现实世界。
以OpenAI的GPT(generative pre-trained transformer)模型为例,GPT-1拥有1.1亿个参数
,GPT-2达到了15亿个参数
,GPT-3则拥有惊人的1750亿个参数
。因此,GPT-3能够表达更加丰富和复杂的内容,比起前面两代模型显得更加“聪明”。
大模型中的“大”并不仅仅是指参数多,还指训练它使用了海量的数据。以GPT-3为例,其训练数据来自新闻、书籍、论文和维基百科的内容。通过网络爬虫获取互联网上公开的数据,然后用来训练GPT-3,数据总量达到了3000亿个token
。token是组成文本的基本单位,一段文本会被分割成多个token。例如,对于句子“猫很可爱”,可以被分为["猫", "很", "可爱"]。
这里将大模型比作一个复杂的函数,它用很多参数(权重+偏置量)表达复杂的客观世界。为了生成这些参数,它是需要经过训练的,接下来介绍大模型是如何被训练出来的。