配音

生成式 AI 概述

课程简介

什么是生成式 AI、原理架构、与判别式 AI 的区别。

🎬 本课程视频:Generative AI for Everyone — 面向每个人的生成式 AI


生成式 AI 概述:从判别到生成、Transformer 与注意力机制

一、判别式 vs 生成式

要理解生成式 AI,首先要清楚它和传统判别式 AI 的区别。

判别式模型(Discriminative Model)学习的是"给定输入,输出标签"——在猫狗图片之间划一条分界线。它不关心数据是怎么"生成"的,只关心怎么做出准确判断。

生成式模型(Generative Model)学习的是数据本身的分布——猫长什么样子、狗长什么样子。一旦学会了这个分布,它就能"生成"新的样本——画一只从来不存在但看起来像真的猫。

打个比方:判别式模型像一个鉴定专家——能分辨这是真画还是假画。生成式模型像一个画家——学完大师的画风后能自己创作新作品。

在 LLM 领域,判别式的例子是 BERT(擅长分类、填空),生成式的例子是 GPT 系列(擅长续写、创作、对话)。

二、Transformer 架构

2017 年 Google 发表的论文"Attention Is All You Need"提出了 Transformer,这是生成式 AI 时代最重要的架构。

为什么需要 Transformer?

在 Transformer 之前,RNN 和 LSTM 是处理序列数据的主流。它们的核心问题是:必须按顺序处理序列中的每个元素——先读第一个单词,再读第二个,再读第三个。这意味着无法并行计算,极大地限制了训练速度。而且长距离依赖问题严重——序列太长时,前面信息容易丢失。

Transformer 的核心创新是:一次看全部。模型同时"看到"输入序列中的所有位置,通过注意力机制计算每个位置对其他位置的相关性。

架构组成

编码器(Encoder):由多层自注意力层和前馈神经网络组成。将输入序列映射为连续的表示。BERT 只使用了编码器。

解码器(Decoder):也由多层自注意力和前馈网络组成,但增加了 Masked Self-Attention(防止看到未来的词)和 Cross-Attention(关注编码器输出)。GPT 系列只使用了解码器。

三、注意力机制(Attention)

注意力机制是 Transformer 的核心组件。在生成下一个词时,模型需要决定关注输入中的哪些部分。

计算过程:
1. 对序列中每个位置,计算 Query、Key、Value 三个向量(通过对输入做线性变换得到)
2. 用 Query 和 Key 计算注意力分数,衡量任意两个位置之间的相关性
3. 用 Softmax 将分数归一化
4. 用归一化后的权重对 Value 做加权求和,得到当前位置的注意力输出

多头注意力(Multi-Head Attention)是重要的扩展——并行计算多组注意力,每组学习不同的关系模式(语法关系、语义关系、位置关系等)。好比同时从多个角度分析一句话——一个头关注主语和动词的语法关系,另一个头关注指代关系。

四、为什么 Transformer 如此强大?

  1. 并行计算:所有位置同时处理,训练速度远超 RNN
  2. 长距离依赖:任意两个位置之间只需一步注意力计算,不像 RNN 需要逐层传递
  3. 可扩展性:增加层数和宽度就能提升能力——这是 Scaling Law 的基础
  4. 迁移学习:预训练 + 微调范式——在海量数据上预训练一个基础模型,然后针对具体任务微调

五、Scaling Law

2020 年 OpenAI 提出了 Scaling Law:模型性能随计算量、参数量和数据量的增加而可预测地提升。这解释了为什么越大越好——更大的模型在更多数据上训练,表现就越好。这也是 GPT 系列从 GPT-1 的 1.17 亿参数到 GPT-4 估计数万亿参数一路狂奔的原因。

六、总结

生成式 AI 的核心是学习数据分布并从中采样出新的样本。Transformer 通过注意力机制实现了高效的长序列处理。判别 vs 生成的区分、注意力机制、Scaling Law——这三个概念是理解生成式 AI 的基石。

七、Transformer 架构的细节

7.1 自注意力机制的数学表达

自注意力机制的计算公式可以表示为:

Attention(Q, K, V) = softmax(QK^T / sqrt(d_k)) * V

其中 Q、K、V 分别是 Query、Key、Value 矩阵,d_k 是 Key 的维度。除以 sqrt(d_k) 的目的是防止点积结果过大导致 Softmax 进入饱和区(梯度太小)。

这个过程可以理解为:每个词通过 Query 去问其他词的 Key"我们之间有多相关?",得到的权重再对 Value 做加权求和,得到这个词在上下文中的表示。

7.2 位置编码

自注意力本身没有序列顺序的概念——如果打乱输入顺序,注意力的输出不变。为了让模型感知词的顺序,Transformer 使用了位置编码(Positional Encoding),将位置信息注入到输入中。

原始 Transformer 使用正弦和余弦函数的固定位置编码:
- PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
- PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))

不同位置的编码不同,且任意两个位置的编码关系可以通过数学变换表达——这允许模型学习到相对位置关系。现代模型(如 GPT、Llama)使用可学习的位置编码或旋转位置编码(RoPE),后者在处理长序列时表现更好。

7.3 层归一化与残差连接

Transformer 的每个子层(自注意力、前馈网络)都使用了残差连接和层归一化:

output = LayerNorm(x + Sublayer(x))

残差连接(Residual Connection)让梯度可以直接流过子层,解决了深度网络的梯度消失问题。层归一化(Layer Normalization)对每个样本的特征做归一化,加速训练稳定收敛。

八、从 Transformer 到 GPT 的演进

Transformer 架构被提出后,沿着两条路径发展:

BERT 路线(Encodoer-only):使用 Transformer 编码器,通过 Masked Language Model 预训练——随机遮盖输入中的一些词,让模型预测被遮盖的词。BERT 擅长理解任务——分类、命名实体识别、问答。

GPT 路线(Decoder-only):使用 Transformer 解码器,通过 Autoregressive Language Model 预训练——从左到右逐个预测下一个词。GPT 擅长生成任务——续写、创作、对话。

GPT 系列的演进关键节点:
- GPT-1(2018):1.17 亿参数——证明了生成式预训练的有效性
- GPT-2(2019):15 亿参数——展现了零样本迁移能力,OpenAI 曾因安全考虑延迟发布
- GPT-3(2020):1750 亿参数——In-context Learning 能力——不给训练数据,只给 Prompt 就能执行新任务
- InstructGPT(2022):基于人类反馈的强化学习(RLHF)做对齐,让模型更有用、更安全
- GPT-4(2023):多模态——能理解图像输入、推理能力大幅提升

九、注意力机制的优化

标准自注意力机制的计算复杂度是 O(n²*d),其中 n 是序列长度。当序列很长时(如处理整本书),计算开销和显存占用会变得不可接受。

针对这个问题的优化方案:
1. 稀疏注意力(Sparse Attention):每个位置只关注附近的 k 个位置,计算复杂度降为 O(nkd)
2. 滑动窗口注意力(Sliding Window Attention):只关注前后固定窗口内的位置
3. Flash Attention:通过 IO 感知的算法优化,利用 GPU 的内存层次结构减少显存读写,在不影响精度的情况下加速 2-4 倍
4. 分组查询注意力(Grouped Query Attention):多个 Query 共享 Key 和 Value,减少 KV Cache 的大小——对大模型推理成本影响显著

十、生成式 AI 的推理优化

Transformer 在推理(Inference)时面临的一个重要挑战是效率问题。生成每个 token 都需要重新计算之前所有 token 的注意力——如果没有优化,生成一个长序列的计算成本会非常高。

KV Cache 是最基础的推理优化技术。在自回归生成过程中,每个新 token 的生成都需要用到之前所有 token 的 Key 和 Value 向量。KV Cache 将之前计算过的 K 和 V 缓存起来,避免重复计算。这使推理速度提升数倍,但代价是增加了显存占用。

Speculative Decoding 是一种更高级的加速技术。核心思想是使用一个更小更快的草稿模型(Draft Model)先生成多个候选 token,然后用大模型一次性验证这些候选 token 是否正确。由于验证多个 token 比逐个生成效率更高,整体推理速度可以提升 2-3 倍。

量化 将模型权重从 FP16(16 位浮点)降低到 INT8(8 位整数)甚至 INT4。这使模型大小减少 50-75%,推理速度提升,但会带来轻微的质量损失。量化是部署大模型到消费级 GPU 的关键技术。

理解这些优化技术有助于在实际部署生成式 AI 应用时做出正确的技术决策——不是所有场景都需要最大的模型,也不是所有场景都需要最低的延迟。

十一、从编码器-解码器到纯解码器架构

理解 Transformer 架构的演化有助于把握生成式 AI 的发展脉络。

编码器-解码器架构:原始 Transformer 论文(Attention Is All You Need)提出的架构包含编码器和解码器两部分。编码器处理输入序列,生成表示;解码器基于编码器的表示和已生成的输出,逐步生成目标序列。这种架构非常适合机器翻译——输入英文,输出法文。BERT 也是编码器架构的代表。

纯解码器架构:GPT 系列模型采用了纯解码器架构——只有 Transformer 的解码器部分。这种架构通过自回归方式生成文本:给定前文,预测下一个 token。为什么只用解码器?因为语言模型的目标就是预测下一个词,不需要像翻译任务那样先编码再解码。

为什么 GPT 能成功
- 大规模预训练:用海量互联网文本训练,学到丰富的语言知识和世界知识
- 扩展法则(Scaling Law):模型越大、数据越多、计算越多,效果越好——目前这个趋势还在持续
- 涌现能力:当模型规模超过某个阈值时,新的能力会突然出现——如少样本学习、推理能力、代码生成

架构的未来:混合专家模型(MoE)——把一个大模型拆成多个专家子模型,每次推理只激活其中一部分——在保持效果的同时降低计算成本。Mixtral 8x7B 就是一个成功的 MoE 模型。长上下文模型——通过改进注意力机制(如 Ring Attention、ALiBi)支持更长的输入序列——从早期的 2048 tokens 到现在的 200 万 tokens。

十二、注意力机制的变体

除了标准的多头注意力,研究者发展出了多种注意力变体以满足不同需求:

稀疏注意力:不是让每个 token 关注所有其他 token,而是只关注一个子集——如局部窗口内的 token(滑动窗口注意力)或固定间隔的 token(步长注意力)。Longformer 和 BigBird 是稀疏注意力的代表。

Flash Attention:通过 IO 感知的计算优化,在不改变数学结果的情况下大幅提升注意力计算速度并减少显存占用。它利用了 GPU 的 SRAM 比 HBM 快得多的特性,通过分块计算避免频繁的 HBM 读写。Flash Attention 已经成为几乎所有现代大模型训练和推理的标准组件。

分组查询注意力(GQA):在 MHA(多头注意力——每个头都有自己的 K、V 投影)和 MQA(多查询注意力——所有头共享 K、V 但各有自己的 Q 投影)之间的折中。GQA 将查询头分成几组,每组共享 K 和 V。Llama 2/3 和 Mistral 都使用了 GQA,在推理速度和模型质量之间取得了良好的平衡。

这些变体共同推动了一个趋势:Transformer 的效率在不断提升,使得更大规模、更长上下文的模型变得可行。

延伸阅读