到底什么是“生成式 AI”?

随着 ChatGPT、文心一言等 AI 产品的火爆,生成式 AI 已经成为了大家茶余饭后热议的话题。

可是,为什么要在 AI 前面加上“生成式”这三个字呢?

难道还有别的 AI 吗?

且听文档君慢慢道来~

1、生成式 AI 究竟是个啥?

如果将人工智能按照用途进行简单分类的话,AI 其实要被划分为两类:决策式 AI 和生成式 AI。

决策式 AI:专注于分析情况并做出决策。它通过评估多种选项和可能的结果,帮助用户或系统选择最佳的行动方案。

例如,在自动驾驶车辆中,就是通过决策式 AI 系统决定何时加速、减速或变换车道。

生成式 AI:专注于创造全新内容。它可以根据学习到的数据自动生成文本、图像、音乐等内容。

例如,你可以将几篇论文发给生成式 AI,他可以生成一篇文献综述,囊括了这几篇论文的关键思想、重要结论。

看到这里,你就知道为什么 ChatGPT、文心一言属于生成式 AI 了吧?

接下来,让我们正式走入生成式 AI 的世界。

2、生成式 AI 的前世今生

其实,生成式 AI 的并不是这几年刚刚诞生,它实际已经经历了三个阶段:

早期萌芽阶段

1950 年,Alan Turing 提出了著名的“图灵测试”,这是生成式 AI 领域的一个里程碑,预示了 AI 内容生成的可能性。

1957 年,Lejaren Hiller 和 Leonard Isaacson 完成了历史上第一首完全由计算机“作曲”的音乐作品《Illiac Suite》。

1964 年至 1966 年间,Joseph Weizenbaum 开发了世界上第一款可人机对话的机器人“Eliza”,它通过关键字扫描和重组完成交互任务。

1980 年代,IBM 公司基于隐形马尔科夫链模型,创造了语音控制打字机“Tangora”。

沉淀积累阶段

随着互联网的发展,数据规模快速膨胀,为人工智能算法提供了海量训练数据。但是由于硬件基础有限,此时的发展并不迅猛。

2007 年,纽约大学人工智能研究员 Ross Goodwin 的人工智能系统撰写了小说《1 The Road》,这是世界第一部完全由人工智能创作的小说。

2012 年,微软公司公开展示了一个全自动同声传译系统,可以自动将英文演讲者的内容通过语音识别、语言翻译、语音合成等技术生成中文语音。

快速发展阶段

2014 年起,大量深度学习方法的提出和迭代更新,标志着生成式 AI 的新时代。

2017 年,微软人工智能少女“小冰”推出了世界首部 100% 由人工智能创作的诗集《阳光失了玻璃窗》。

2019 年,谷歌 DeepMind 团队发布了 DVD-GAN 架构用以生成连续视频。

2020 年,OpenAI 发布 ChatGPT3,标志着自然语言处理(NLP)和 AIGC 领域的一个重要里程碑。

2021 年,OpenAI 推出了 DALL-E,主要应用于文本与图像的交互生成内容。

自 2022 年开始到现在,OpenAI 多次发布 ChatGPT 新型号,掀起了 AIGC 又一轮的高潮,它能够理解和生成自然语言,与人类进行复杂的对话。

自此,生成式 AI 已经到了一个井喷式状态。那么,生成式 AI 究竟是基于什么样的原理呢?

3、轻松搞懂“生成式 AI”原理

在刚刚的介绍中,大家应该都对生成式 AI 有了一个表象的认知:学习知识 + 生成新知识。

但它是如何学习的呢?又是如何生成的呢?

这时候,我们就得来看看生成式 AI 更深层次的定义了:

定义

以 ChatGPT 为代表的生成式 AI,是对已有的数据和知识进行向量化的归纳,总结出数据的联合概率。从而在生成内容时,根据用户需求,结合关联字词的概率,生成新的内容。

是不是一下子懵了?

不急,这就触及到生成式 AI 的原理了。待文档君给你慢慢解析。

其实制作一个生成式 AI,就像把一个泥人变成天才,一共需要四步:捏泥人 → 装大脑 → 喂知识 → 有产出。

Step1:捏泥人 —— 硬件架构的搭建

要打造一个生成式 AI 的“泥人”,首先要考虑的就是底层硬件。底层硬件构成了生成式 AI 的算力和存力。

算力 —— 泥人的骨架

生成式 AI 需要进行大量的计算,尤其是在处理如图像和视频时。大规模计算任务离不开下面这些关键硬件:

GPU(图形处理单元):提供强大的并行计算能力。通过成千上万个小处理单元并行工作,大幅提高了计算效率。

TPU(张量处理单元):专门为加速人工智能学习而设计的硬件,能够显著加快计算速度,进一步增强了骨架的强度。

存力 —— 泥人的血液

生成式 AI 需要处理和存储大量的数据。

以 GPT-3 为例,光是训练参数就达到了 1750 亿个,训练数据达到 45TB,每天会产生 45 亿字内容。

这些数据的存放离不开下面这些硬件设施:

大容量 RAM:在训练生成式 AI 模型时,大量的中间计算结果和模型参数需要存储在内存中,大容量的 RAM 能够显著提高数据处理速度。

SSD(固态硬盘):大容量的 SSD 具有高速读取和写入能力,可以快速加载和保存数据,使泥人能够高效地存储信息。

泥人捏好了,但是现在只能是一个提线木偶,没有任何能力,所以我们就要给他装上大脑。

Step2:装大脑 —— 软件架构构建

软件架构是泥人的大脑,它决定了这个泥人将以什么样的方式对数据进行思考推理。

从仿生学的角度,人类希望 AI 能够模仿人脑的运行机制,对知识进行思考推理 —— 这就是通常所说的深度学习。

为了实现深度学习,学者们提出了大量的神经网络架构:

深度神经网络(DNN)是最普遍的神经网络架构,但是随着数据对于网路架构的要求越来越复杂,这种方法逐渐有些吃力。

卷积神经网络(CNN)是一种专门为处理图像数据而设计的神经网络架构,能够有效地处理图像数据,但是需要对输入数据进行复杂的预处理。

随着任务复杂度的增加,循环神经网络(RNN)架构成为处理序列数据的常用方法。

由于 RNN 在处理长序列时容易遇到梯度消失和模型退化问题,著名的 Transformer 算法被提出。

随着算力的发展,生成式 AI 的网络架构发展越来越成熟,也开始各有侧重:

Transformer 架构:是目前文本生成领域的主流架构,GPT、llama2 等 LLM(大语言模型)都是基于 Transformer 实现了卓越的性能。

GANs 架构:在图像生成、视频生成等领域有广泛应用,能够生成高质量的图像和视频内容。

Diffusion 架构:在图像生成、音频生成等领域取得了很好的效果,能够生成高质量、多样化的内容。

网络架构搭建好了,脑子是有了,但是脑子里空空如也呀。所以我们通过数据训练给这个人造大脑喂知识。

Step3:喂知识 —— 数据训练

目前有两种训练方式:预训练和 SFT(有监督微调)

预训练:是指将一个大型、通用的数据集作为知识喂给 AI 进行初步学习。

经过预训练的模型叫作“基础模型”,它对每个领域都有所了解,但是无法成为某个领域的专家。

SFT:SFT 是指在预训练之后,将一个特定任务的数据集喂给 AI,进一步训练模型。

例如,在已经预训练的语言模型基础上,用专门的医学文本来微调模型,使其更擅长处理医学相关的问答或文本生成任务。

但是,无论是预训练还是 SFT,AI 的大脑是如何吸收这些知识的呢?

这就涉及到“理解”能力了,我们以 Transformer 架构为例,讲讲 AI 对于文本的理解。

对于 AI 来说,理解分两步:理解词语和理解句子。

理解词语的本质就是词语的归类。研究人员提出了一种方法:将词语在不同维度上进行拆解,从而对词语进行归类。

假设有四个词语:西瓜、草莓、番茄和樱桃。AI 在两个维度上对这些词语拆解:

颜色维度:用 1 代表红色,2 代表绿色。

形状维度:用 1 代表圆形,2 代表椭圆形。

基于这个维度,AI 对词语进行打分归类。

西瓜:颜色 = 2(绿色),形状 = 1(圆形)

草莓:颜色 = 1(红色),形状 = 2(椭圆形)

番茄:颜色 = 1(红色),形状 = 1(圆形)

樱桃:颜色 = 1(红色),形状 = 1(圆形)

通过这些打分,我们可以看到词语在不同维度上的分类。

例如,“番茄”和“樱桃”在颜色和形状维度上都是相同的,说明它们在这两个维度上的含义相同;“草莓”和“西瓜”在颜色和形状维度上都有所不同,说明它们在这两个维度上的含义不同。

当然,区分他们的维度不仅仅只有两个,AI 还可以从大小、甜度、是否有籽等大量维度对他们进行打分,从而分类。

只要维度足够多、打分足够准确,AI 模型就可以越精准地理解一个词语的含义。

对于目前较为先进的 AI 模型来说,通常维度的数量可以达到上千个。

学习词语并理解为量化的结果只完成了第一步,接下来 AI 就需要进一步理解一组词语的合集:句子。

我们知道即使同一个词语在不同语句中,也会具备不同的含义。

例如:

这是一顶绿色的帽子。

某某公司致力于打造绿色机房。

在不同句子中,“绿色”这个词含义不同,AI 是如何知道他们有不同的含义呢?

这就得益于 transformer 架构的“自注意力(Self Attention)”机制。

简单来说,当 AI 理解包含了一组词语的句子时,除了理解词语本身,还会“看一看”身边的词。单个词语和句子中其他词语之间的关联性,称之为“注意力”,由于是和同一个句子自身的词语结合理解,所以称之为“自注意力”。

因此,在 Transformer 架构中,可以分为以下两步:

将每个词语转换为一个向量。这个向量表示词语在多维空间中的位置,反映了词语的各种特征。

使用自注意力机制来关注句子中的不同部分。它能够在处理每个词语时,同时考虑句子中其他词语的信息。

Step4:有产出 —— 内容生成

在理解完大量词语、句子之后,AI 就可以生成内容了。它是如何生成内容的呢?

这就是一个概率的问题了。

问大家一个问题:

我在餐厅吃 ×。

× 填个字,你会填什么?

根据你既往的经验,大概率你会填“饭”。

其实,× 还可以是“饼”、“面”、“蛋”等等。

像人一样,生成式 AI 也会根据它第三步中学到的经验,给这些字加上概率。然后选择概率高的词作为生成的内容。接着,AI 将重复这一过程,选择下一个可能性最高的词语,从而生成更多内容。

但有的时候,我们希望答案是丰富多彩的,回到刚刚那个例子,我们现在不希望 AI 接的下一个字是“饭”,那要怎么办呢?

AI 提供了一个调节参数,叫温度,范围从 0 到 1。

在温度为 0 时,说明匹配概率要选尽量大的,在以上例子中,AI 很可能选择“饭”;

在温度为 1 时,说明匹配概率要选尽量小的,在以上例子中,AI 很可能选择“饼”。

数值越接近 1,得到的内容越天马行空。

比如,温度设为 0.8,那么 AI 生成的句子可能是:

我在餐厅吃饼,这个饼又大又圆,我想把它套在脖子上......

但是,我们看到大多数 AI 产品,只有一个对话框,如何修改温度参数呢?

答案是“提示词”,也就是我们通常所说的 prompt。

如果你输入是“你是一名某某领域的专家,请用严谨的口吻写一篇关于 xx 的文献综述。”这时 AI 的温度接近 0,就会选择匹配概率尽量高的词语生成句子。

如果你输入是“请你请畅想一下 xx 的未来。”这时 AI 的温度接近 1,就会选择匹配概率尽量低的词语组成句子,生成意想不到的内容。

现在知道 prompt 的重要性了吧!

所以,我们可以认为,AI 生成的本质就是一场词语接龙:AI 根据当前字,联系它之前记录的下个字的出现概率以及你的期望,选择接下来的字。

当然,生成式 AI 的内部原理远比小编讲的要复杂,小编这里只能算一个基础的科普。

4、“生成式 AI”去向何方?

那么生成式 AI 真的会实现通用人工智能,从而替代人类嘛?目前,有两种看法:

积极派:以 OpenAI 的 CEO Altman、英伟达 CEO 黄仁勋为首的积极派,非常看好生成式 AI 的未来,他们曾表示“再过几年,人工智能将会比现在更加强大和成熟;而再过十年,它定将大放异彩“,“AI 可能在 5 年内超越人类智能”。

消极派:以深度学习先驱杨立昆为首的消极派,一直认为生成式 AI 无法通向用人工智能。他在多个场合表示“像 ChatGPT 这样的大型语言模型将永远无法达到人类的智能水平”,“人类训练的人工智能,难以超越人类”。

那么对于我们普通人来说,我们要怎么对待生成式 AI 呢?

文档君觉得,我们普通人不妨就把它当做一个工具,学会使用它,提高我们的工作效率,丰富我们的日常生活,保持对世界的好奇心,充分享受科技带来的便利就好啦!