在人工智能的众多分支中,自然语言处理(NLP)一直是最具挑战性的领域之一。要让机器理解、生成人类语言,核心在于解决两个基本问题:

  1. 如何用数字表示文本?(文本表示问题)
  2. 如何计算文本的概率?(语言模型问题)
技术名称 技术类型 训练目标 核心输出 典型应用 出现时间 技术特点
One-Hot 文本表示 稀疏二值向量 分类变量编码 早期 离散、稀疏、高维、无语义
词袋模型 文本表示 词频向量 文档分类、信息检索 早期 忽略顺序、统计词频、无语义
TF-IDF 文本表示 加权统计 加权词频向量 信息检索、文本分类 1972 权重优化、突出关键词、无语义
N-gram 语言模型 统计词序列概率 概率分布 文本补全、语音识别 1990s 马尔可夫假设、局部依赖、统计基础
NNLM前馈神经网络语言模型 语言模型 分布式表示 预测下一个词 泛化能力更强 2003 前馈神经网络、词嵌入
RNN/LSTM语言模型 语言模型 循环连接 序列生成概率 长序列建模 2010 循环神经网络、记忆机制
Transformer语言模型 自注意力模型 注意力机制 并行序列生成 长程依赖捕捉 2017 自注意力、并行计算
Word2Vec 文本表示为主,语言模型为次 预测上下文词 静态词向量 词相似度、词类比 2013 分布式表示、语义相似、静态向量
GloVe 文本表示 矩阵分解 静态词向量 词相似度、初始表示 2014 全局+局部、共现矩阵、静态向量
ELMo 文本表示为主,语言模型为次 双向语言模型 上下文词向量 特征提取、一词多义 2018 双向LSTM、多层融合、动态表示
BERT 文本表示为主,语言模型为次 掩码语言模型 上下文表示 文本分类、问答系统 2018 双向Transformer、MLM、动态表示
GPT系列 语言模型为主,文本表示为次 自回归生成 生成概率+向量 文本生成、对话系统 2018- 自回归、生成能力强、单向上下文

在这里插入图片描述

一、统计语言模型

1.1 N-gram 模型

核心思想:马尔可夫假设,一个词的出现只依赖于前面n−1n-1n1个词。
数学模型
P(w1w2…wm)≈∏P(wi)P(w_1 w_2 \ldots w_m) \approx \prod P(w_i)P(w1w2wm)P(wi)
P(w1w2…wm)≈P(w1)∏P(wi∣wi−1)P(w_1 w_2 \ldots w_m) \approx P(w_1) \prod P(w_i | w_{i-1})P(w1w2wm)P(w1)P(wiwi1)
P(w1w2…wm)≈P(w1)P(w2∣w1)∏P(wi∣wi−2wi−1)P(w_1 w_2 \ldots w_m) \approx P(w_1) P(w_2 | w_1) \prod P(w_i | w_{i-2} w_{i-1})P(w1w2wm)P(w1)P(w2w1)P(wiwi2wi1)
P(wi∣wi−1)=count(wi−1wi)count(wi−1)P(w_i | w_{i-1}) = \frac{\text{count}(w_{i-1} w_i)}{\text{count}(w_{i-1})}P(wiwi1)=count(wi1)count(wi1wi)

示例

计算 P("我爱自然语言处理")
= P("我") × P("爱"|"我") × P("自然"|"爱") × P("语言"|"自然") × P("处理"|"语言")
  1. 优点: 简单直观,可解释性强,计算效率高
  2. 缺点:数据稀疏问题(n越大越严重),无法捕捉长距离依赖,无法理解语义

二、神经网络语言模型

2.1 前馈神经网络语言模型(NNLM)

2003年,Yoshua Bengio首次提出用神经网络建模语言模型 。前馈神经网络语言模型(NNLM)是利用神经网络来学习词的分布式表示,并计算下一个词的概率。该模型通过将词的上下文信息映射到一个低维的向量空间,从而有效地捕捉词汇之间的语义关系。

模型架构

  1. 输入层:输入层接收前n−1n-1n1个词的 one-hot 向量表示。假设当前要预测的词是 wtw_twt,则输入层将接收 (wt−1,wt−2,…,wt−n+1)( w_{t-1}, w_{t-2}, \ldots, w_{t-n+1})(wt1,wt2,,wtn+1)one-hot 向量。
  2. 投影层:通过共享矩阵CCCone-hot 向量转换为词向量。每个词的 one-hot 向量通过矩阵 CCC映射到其对应的词向量表示。
  3. 隐藏层:隐藏层是一个全连接层,使用 tanh 激活函数。该层的作用是对输入的词向量进行非线性变换,以捕捉更复杂的特征。
  4. 输出层:输出层使用 softmax 函数来预测下一个词的概率分布。通过 softmax,模型能够输出每个词在词汇表中的概率。

数学表示

y=b+Wx+U⋅tanh⁡(d+Hx)y = b + W x + U \cdot \tanh(d + H x)y=b+Wx+Utanh(d+Hx)
其中:

  • yyy是输出层的结果,表示下一个词的概率分布。
  • bbb是输出层的偏置项。
  • WWW 是输出层的权重矩阵。
  • xxx 是输入的词向量,定义为:x=[C(wt−1),C(wt−2),…,C(wt−n+1)]x = [C(w_{t-1}), C(w_{t-2}), \ldots, C(w_{t-n+1})]x=[C(wt1),C(wt2),,C(wtn+1)]
  • UUU 是隐藏层到输出层的权重矩阵。
  • ddd 是隐藏层的偏置项。
  • HHH 是输入层到隐藏层的权重矩阵。

创新点

  • 首次引入词向量概念:NNLM 是第一个将词表示为低维向量的模型,这一创新使得模型能够捕捉词汇之间的语义关系。
  • 解决维度灾难问题:通过使用词向量,NNLM 有效地减少了输入空间的维度,避免了传统 n-gram 模型中的维度灾难问题。
  • 自动学习特征表示:NNLM 通过神经网络的训练过程,能够自动学习到词汇的特征表示,而不需要手动设计特征。

2.2 RNN/LSTM 语言模型

核心思想:循环神经网络(RNN)通过引入循环连接,能够处理变长序列,并记忆历史信息。与NNLM的固定窗口不同,RNN理论上可以捕捉任意长度的历史信息。

2.2.1 基本RNN语言模型

RNN语言模型利用循环神经网络对序列数据进行建模。给定一个词序列 w1,w2,...,wTw_1, w_2, ..., w_Tw1,w2,...,wT,RNN语言模型的目标是计算序列的联合概率,并分解为条件概率的乘积:

P(w1,w2,...,wT)=∏t=1TP(wt∣w1,...,wt−1) P(w_1, w_2, ..., w_T) = \prod_{t=1}^T P(w_t | w_1, ..., w_{t-1}) P(w1,w2,...,wT)=t=1TP(wtw1,...,wt1)

其中,每个条件概率 P(wt∣w1,...,wt−1)P(w_t | w_1, ..., w_{t-1})P(wtw1,...,wt1) 由RNN计算。

RNN的计算过程
设输入序列为 x1,x2,...,xTx_1, x_2, ..., x_Tx1,x2,...,xT,其中 xtx_txt 是时刻 ttt 的输入(例如词的one-hot向量或词向量)。RNN通过以下公式更新其隐藏状态 hth_tht
ht=tanh(Whhht−1+Wxhxt+bh)h_t = \text{tanh}(W_{hh} h_{t-1} + W_{xh} x_t + b_h)ht=tanh(Whhht1+Wxhxt+bh)
其中:

  • ht−1h_{t-1}ht1 是上一时刻的隐藏状态
  • WhhW_{hh}Whh 是隐藏状态到隐藏状态的权重矩阵
  • WxhW_{xh}Wxh 是输入到隐藏状态的权重矩阵
  • bhb_hbh 是隐藏层的偏置项
  • tanh\text{tanh}tanh 是激活函数

然后,输出层计算下一个词的概率分布:
ot=Whyht+byo_t = W_{hy} h_t + b_yot=Whyht+by
P(wt+1∣w1,...,wt)=softmax(ot)P(w_{t+1} | w_1, ..., w_t) = \text{softmax}(o_t)P(wt+1w1,...,wt)=softmax(ot)
训练目标:最小化负对数似然损失:
L=−∑t=1Tlog⁡P(wt∣w1,...,wt−1)\mathcal{L} = -\sum_{t=1}^T \log P(w_t | w_1, ..., w_{t-1})L=t=1TlogP(wtw1,...,wt1)

2.2.2 LSTM语言模型

长短时记忆网络(LSTM)是对RNN的改进,通过引入门控机制来解决梯度消失和梯度爆炸问题,从而更好地捕捉长距离依赖。

LSTM的核心组件
LSTM单元包含三个门:输入门、遗忘门和输出门,以及一个细胞状态。其计算过程如下:
遗忘门:决定从细胞状态中丢弃哪些信息
ft=σ(Wf⋅[ht−1,xt]+bf)f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)ft=σ(Wf[ht1,xt]+bf)
输入门:决定哪些新信息存入细胞状态
it=σ(Wi⋅[ht−1,xt]+bi)i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)it=σ(Wi[ht1,xt]+bi)
C~t=tanh(WC⋅[ht−1,xt]+bC)\tilde{C}_t = \text{tanh}(W_C \cdot [h_{t-1}, x_t] + b_C)C~t=tanh(WC[ht1,xt]+bC)
细胞状态更新:更新旧的细胞状态
Ct=ft⊙Ct−1+it⊙C~tC_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_tCt=ftCt1+itC~t
输出门:决定输出哪些信息
ot=σ(Wo⋅[ht−1,xt]+bo)o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)ot=σ(Wo[ht1,xt]+bo)
ht=ot⊙tanh(Ct)h_t = o_t \odot \text{tanh}(C_t)ht=ottanh(Ct)
其中:

  • σ\sigmaσ 是sigmoid激活函数
  • ⊙\odot 表示逐元素乘法
  • [ht−1,xt][h_{t-1}, x_t][ht1,xt] 表示将两个向量拼接

LSTM语言模型:在语言建模任务中,LSTM的隐藏状态 hth_tht 用于预测下一个词的概率分布:
P(wt+1∣w1,...,wt)=softmax(Wyht+by)P(w_{t+1} | w_1, ..., w_t) = \text{softmax}(W_y h_t + b_y)P(wt+1w1,...,wt)=softmax(Wyht+by)

创新与优势

  1. 处理变长序列:RNN可以处理任意长度的序列,避免了固定窗口的限制。
  2. 捕捉长距离依赖:LSTM通过门控机制,能够更好地捕捉长距离的依赖关系,这对于自然语言中的长程依赖非常重要。
  3. 参数共享:RNN在不同时间步共享参数,使得模型能够泛化到不同长度的序列,并且减少了参数量。
  4. 记忆能力:RNN的隐藏状态可以看作是对历史信息的记忆,理论上可以记住整个历史序列的信息。

RNN和LSTM语言模型在机器翻译、文本生成、语音识别等任务中取得了巨大成功。它们为序列建模提供了强大的工具,并为后续的注意力机制和Transformer模型奠定了基础。

然而,RNN和LSTM也存在一些局限性:

  • 顺序计算限制了并行化,训练速度较慢。
  • 尽管LSTM缓解了梯度消失问题,但对于非常长的序列,仍然难以捕捉长距离依赖。
  • 这些局限性催生了后续的Transformer模型,它通过自注意力机制完全并行计算,并能够更好地捕捉长距离依赖。

三、预训练语言模型

3.1 GPT-1:生成式预训练的起点

核心思想:使用Transformer解码器进行自回归语言模型预训练,然后在具体任务上微调。
模型架构

  • 基础结构:12层Transformer解码器堆叠
  • 注意力机制:掩码自注意力,每个词只能看到前面的词
  • 位置编码:正弦余弦位置编码,注入序列位置信息
  • 参数规模:1.17亿参数
  • 词嵌入维度:768
  • 前馈网络维度:3072
  • 注意力头数:12
  • 上下文长度:512个token

预训练目标
最大化语言模型的似然函数,即给定前k个词,预测下一个词:
LLM=−∑ilog⁡P(wi∣wi−k,...,wi−1;Θ)\mathcal{L}_{\text{LM}} = -\sum_{i} \log P(w_i | w_{i-k}, ..., w_{i-1}; \Theta)LLM=ilogP(wiwik,...,wi1;Θ)
其中:

  • wiw_iwi 是第i个词
  • kkk 是上下文窗口大小
  • Θ\ThetaΘ 是模型参数
  • 条件概率 PPP 由softmax函数计算得到

预训练数据

  • BooksCorpus数据集
  • 包含约7000本未出版的书籍
  • 总计约5GB文本数据

微调方法

  1. 输入表示:将任务特定输入转换为序列格式
  2. 任务特定头:在预训练模型后添加线性层
  3. 多任务学习:联合优化语言模型损失和任务特定损失

微调时的损失函数
Ltotal=Ltask+λLLM \mathcal{L}_{\text{total}} = \mathcal{L}_{\text{task}} + \lambda \mathcal{L}_{\text{LM}} Ltotal=Ltask+λLLM

其中:

  • Ltask\mathcal{L}_{\text{task}}Ltask 是任务特定损失
  • LLM\mathcal{L}_{\text{LM}}LLM 是语言模型损失
  • λ\lambdaλ 是超参数,控制语言模型损失的权重

输入转换示例

  • 分类任务:输入序列 + 线性分类层
  • 自然语言推理:前提和假设拼接 + 线性层
  • 相似度计算:两个句子分别处理 + 组合层
  • 问答任务:文档、问题和答案选项拼接

创新贡献

  1. 证明了生成式预训练在多种任务上的有效性
  2. 统一了预训练+微调的NLP任务处理范式
  3. 在多项任务上超越了特定任务模型
  4. 展示了Transformer架构在语言模型中的强大潜力
  5. 为后续的大规模预训练模型奠定了基础

实验结果

  • 在12个NLP任务中的9个上取得了当时的最佳性能
  • 在常识推理任务上提升8.9%
  • 在问答任务上提升5.7%
  • 在文本蕴含任务上提升1.5%

局限性

  1. 单向上下文限制了理解能力
  2. 需要针对不同任务设计输入格式
  3. 模型规模相对较小,能力有限
  4. 对某些需要双向理解的任务表现不佳

技术影响
GPT-1的成功证明了在大规模无标注文本上进行生成式预训练的有效性,为后续的GPT-2、GPT-3乃至整个预训练语言模型领域的发展铺平了道路。其"预训练+微调"的范式成为NLP领域的新标准,推动了从任务特定模型向通用语言理解模型的转变。

3.2 BERT:双向理解的突破

核心思想:使用Transformer编码器,通过掩码语言模型(MLM)和下一句预测(NSP)进行双向预训练。

模型架构

  • 基础结构:多层Transformer编码器堆叠
  • 注意力机制:双向自注意力,每个词可以看到整个序列的所有词
  • 位置编码:学习的位置嵌入,与词嵌入相加
  • 参数规模
    • BERT-base: 12层,768隐藏层,12个注意力头,1.1亿参数
    • BERT-large: 24层,1024隐藏层,16个注意力头,3.4亿参数
  • 输入表示
    • Token Embedding: 词片段(WordPiece)嵌入
    • Segment Embedding: 句子分段嵌入(区分句子A和句子B)
    • Position Embedding: 位置嵌入,最大长度为512

预训练任务

  1. 掩码语言模型(MLM)

    • 随机掩盖输入序列中15%的token
    • 掩盖策略:
      • 80%替换为[MASK]标记
      • 10%替换为随机词
      • 10%保持不变
    • 目标:预测被掩盖的原始词
  2. 下一句预测(NSP)

    • 输入:句子A和句子B拼接
    • 标签:50%情况下B是A的下一句,50%情况下B是随机选取的
    • 目标:判断句子B是否是句子A的下一句

数学表示
输入表示由三个嵌入求和得到:
E=Etoken+Esegment+Eposition \mathbf{E} = \mathbf{E}_{\text{token}} + \mathbf{E}_{\text{segment}} + \mathbf{E}_{\text{position}} E=Etoken+Esegment+Eposition
其中:

  • Etoken\mathbf{E}_{\text{token}}Etoken: 词片段嵌入
  • Esegment\mathbf{E}_{\text{segment}}Esegment: 句子分段嵌入(用于区分两个句子)
  • Eposition\mathbf{E}_{\text{position}}Eposition: 位置嵌入

输出表示

  • C\mathbf{C}C: [CLS]标记的最终隐藏状态,用于分类任务
  • Ti\mathbf{T}_iTi: 第i个输入token的最终隐藏状态,用于序列标注等任务

预训练数据

  • BooksCorpus (8亿词)
  • English Wikipedia (25亿词)
  • 总计约33亿词的文本数据

微调方法

  1. 分类任务:使用[CLS]标记的表示作为输入特征,添加一个简单的分类层
  2. 序列标注任务:使用每个token的表示作为输入特征,为每个token进行分类
  3. 问答任务:使用两个额外的线性层分别预测答案的开始和结束位置

创新贡献

  1. 双向上下文理解:首次实现了真正意义上的双向语言模型预训练
  2. 统一的预训练框架:通过MLM和NSP任务,学习通用的语言表示
  3. 迁移学习的突破:在11个NLP任务上取得当时最佳性能
  4. 灵活的微调方式:只需添加简单的输出层,即可适应各种下游任务

实验结果

  • GLUE基准测试:平均得分80.5%,比之前最佳模型提升7.7个百分点
  • SQuAD 1.1问答任务:F1得分93.2%,提升1.5个百分点
  • Named Entity Recognition:F1得分96.4%,提升0.2个百分点

优缺点

  • 深度双向上下文理解:能够同时利用左右两侧的上下文信息
  • 强大的特征抽取能力:在各种NLP任务上都表现出色
  • 统一的预训练范式:一套模型适应多种任务
  • 预训练与微调不一致:预训练时使用了[MASK]标记,但微调时没有
  • 不适合生成任务:由于是自编码结构,不适合文本生成
  • 计算资源消耗大:特别是BERT-large需要大量计算资源

技术影响
BERT的出现标志着NLP进入了预训练时代,其双向编码的思想深刻影响了后续的模型设计。虽然它在生成任务上存在局限,但在理解类任务上的突破性表现,使得Transformer编码器成为了NLP领域的主流架构之一。后续的RoBERTa、ALBERT、DistilBERT等模型都是在BERT基础上的改进和优化。

3.3 GPT-2:零样本学习的探索

核心思想:更大规模、更多数据、零样本学习。GPT-2延续了GPT-1的自回归语言模型架构,但通过大规模扩展参数量和训练数据,探索了零样本学习的潜力。

模型架构

  • 基础结构:与GPT-1相同的Transformer解码器架构,但规模大幅扩展
  • 注意力机制:掩码自注意力,每个词只能看到前面的词
  • 层归一化调整:将层归一化移动到每个子块的输入前,并在最终的自注意力块后添加额外的层归一化
  • 参数初始化:对残差层的权重进行缩放,缩放因子为1/√N,其中N是残差层的数量
  • 参数量
    • GPT-2 small: 1.17亿参数
    • GPT-2 medium: 3.45亿参数
    • GPT-2 large: 7.62亿参数
    • GPT-2 xl: 15.4亿参数
  • 词汇表:50,257个BPE(字节对编码)词元
  • 上下文长度:1024个token
  • 位置编码:学习的位置嵌入

训练数据

  • WebText数据集:从Reddit上获得超过4500万个出站链接,筛选后得到约800万文档
  • 数据规模:约40GB文本数据
  • 数据质量:相比Common Crawl等网络爬取数据,WebText质量更高,内容更连贯
  • 数据去重:移除了训练集和测试集之间的重叠,避免数据泄漏

预训练目标
延续GPT-1的自回归语言模型目标,最大化似然函数:

LLM=−∑ilog⁡P(wi∣w1,...,wi−1;Θ) \mathcal{L}_{\text{LM}} = -\sum_{i} \log P(w_i | w_{1}, ..., w_{i-1}; \Theta) LLM=ilogP(wiw1,...,wi1;Θ)

零样本学习:不进行任何任务特定的微调,直接通过自然语言提示(prompt)让模型执行任务。这是GPT-2最重要的创新之一。

零样本学习机制

  1. 任务描述:在输入中通过自然语言描述任务
  2. 示例演示:提供少量示例(0-shot或few-shot)
  3. 任务执行:模型根据上下文生成答案

示例

  1. 机器翻译

    输入:将英语翻译成法语:
      sea otter => loutre de mer
      peppermint => menthe poivrée
      plush girafe => girafe peluche
      cheese =>
    
    输出:fromage
    
  2. 问答

    输入:问题:美国最高的山是什么?
    答案:德纳里山
    问题:中国的首都是什么?
    答案:北京
    问题:光速是多少?
    答案:
    
    输出:299,792,458/
  3. 摘要生成

    输入:在昨晚的比赛中,湖人队以112-108战胜了凯尔特人队。詹姆斯得到32分、10个篮板和8次助攻,戴维斯贡献了28分和12个篮板。凯尔特人队的塔图姆得到30分,布朗得到25分。
    
    摘要:湖人队战胜凯尔特人队,詹姆斯得到准三双。
    

核心发现:语言模型是无监督多任务学习器。GPT-2展示了大规模语言模型可以在不进行明确的多任务训练的情况下,通过预训练获得执行多种任务的能力。

创新贡献

  1. 规模扩展的验证:证明了增大模型规模和数据规模可以持续提升模型性能
  2. 零样本学习的探索:展示了语言模型在零样本设置下执行多种任务的能力
  3. 任务无关架构:统一的模型架构可以处理多种不同类型的任务
  4. 数据质量的重要性:证明了高质量训练数据的重要性

实验结果

  1. 语言建模

    • 在Penn Treebank上达到35.7的困惑度
    • 在WikiText-2上达到18.3的困惑度
  2. 零样本任务表现

    • 儿童书籍测试(CBT):准确率93.3%
    • LAMBADA语言建模:困惑度8.6
    • Winograd Schema挑战:准确率70.8%
    • 阅读理解(CoQA):F1得分55.0
  3. 任务适应性

    • 在8个测试的语言建模数据集中,7个达到了当时最佳性能
    • 在Winograd Schema挑战中超越了所有之前的模型

技术影响

  1. 规模竞赛的开端:GPT-2的成功推动了更大规模语言模型的研究
  2. 提示工程的兴起:零样本学习推动了提示工程(Prompt Engineering)的发展
  3. 多任务学习的启示:为统一的多任务模型架构提供了思路
  4. AI安全讨论:由于担心滥用,OpenAI最初没有发布完整的GPT-2模型,引发了关于AI安全的广泛讨论

优缺点

  • 强大的零样本能力:无需微调即可执行多种任务
  • 统一的模型架构:一个模型处理多种任务
  • 生成质量高:生成的文本连贯性和一致性更好
  • 计算成本高:训练和推理需要大量计算资源
  • 事实准确性有限:可能生成看似合理但不准确的内容
  • 缺乏可控性:难以精确控制生成内容

局限性

  1. 单向上下文的限制:只能从左到右处理文本,限制了某些任务的表现
  2. 训练目标单一:仅通过语言建模目标训练,可能不是最优的多任务学习方式
  3. 样本效率低:相比有监督微调,零样本学习的样本效率较低
  4. 评估困难:零样本设置下的评估标准不够统一

后续影响
GPT-2为零样本学习和提示工程奠定了基础,其规模扩展的思路直接影响了GPT-3的开发。同时,GPT-2引发的关于模型安全和负责任发布的讨论,也为后续大语言模型的发布策略提供了参考。

四、大语言模型时代

4.1 GPT-3:规模定律的实证

核心思想:探索模型规模的极限,验证缩放定律。GPT-3的目标是验证"缩放定律"(Scaling Laws),即随着模型规模、数据规模和计算量的增加,模型性能是否会持续提升。

关键技术特点

  • 参数量:1750亿(是GPT-2的100倍,GPT-1的1500倍)
  • 数据量:训练数据包含4990亿个token,来自多个来源:
    • Common Crawl(60%)
    • WebText2(22%)
    • Books1(8%)
    • Books2(8%)
    • Wikipedia(3%)
  • 模型架构:基于GPT-2的Transformer解码器架构,但规模大幅扩展
  • 上下文长度:2048个token
  • 模型规模:96层Transformer解码器,128个注意力头,隐藏层维度12288
  • 训练计算量:3640 PetaFLOP/s-day
  • 训练成本:约1200万美元

缩放定律的验证
GPT-3论文中验证了缩放定律的幂律关系:

性能∝NαDβCγ \text{性能} \propto N^\alpha D^\beta C^\gamma 性能NαDβCγ

其中:

  • NNN 是模型参数量
  • DDD 是训练数据量
  • CCC 是计算量
  • α,β,γ\alpha, \beta, \gammaα,β,γ 是经验确定的指数

具体表现为:

  1. 模型性能随参数量、数据量、计算量的增加而平滑提升
  2. 在多个不同任务上都观察到了相似的缩放规律
  3. 模型性能的提升没有出现平台期,暗示进一步扩大规模可能继续提升性能

涌现能力(Emergent Abilities):
当模型规模达到一定程度时,模型表现出在较小规模时不具备的能力:

  1. 上下文学习(In-Context Learning):

    • 零样本学习:仅通过任务描述执行任务
    • 单样本学习:通过一个示例学习任务
    • 少样本学习:通过少量示例学习任务
  2. 指令跟随(Instruction Following):

    • 能够理解并执行自然语言指令
    • 无需任务特定训练即可适应新任务
  3. 代码生成(Code Generation):

    • 能够生成多种编程语言的代码
    • 解释、调试、重构代码
  4. 多步推理(Multi-step Reasoning):

    • 处理需要多步推理的复杂问题
    • 在数学、逻辑推理任务上表现显著提升

上下文学习示例

零样本(Zero-shot):
输入:将英语翻译成法语:"Hello, how are you?"
输出:Bonjour, comment allez-vous?

单样本(One-shot):
输入:将英语翻译成德语:
"good morning" => "guten Morgen"
"good evening" =>

输出:"guten Abend"

少样本(Few-shot):
输入:将英语翻译成西班牙语:
"cat" => "gato"
"dog" => "perro"
"bird" => "pájaro"
"horse" =>

输出:"caballo"

训练策略创新

  1. 批处理策略:使用动态批处理,批大小从32K逐渐增加到3.2M
  2. 学习率调度:使用cosine调度,在训练过程中逐渐降低学习率
  3. 梯度裁剪:全局梯度裁剪阈值为1.0
  4. 优化器:使用Adam优化器,β₁=0.9,β₂=0.95,ε=10⁻⁸
  5. 数据混合:对不同数据源进行精心配比

性能表现

  1. 语言建模

    • Penn Treebank:困惑度20.5
    • WikiText-103:困惑度10.9
  2. 自然语言任务

    • 在SuperGLUE基准上达到接近人类水平
    • 在LAMBADA数据集上达到76.2%的准确率
  3. 代码生成

    • 在HumanEval基准上达到28.8%的通过率
  4. 数学推理

    • 在GSM8K小学数学数据集上达到33%的准确率

技术影响

  1. 大模型时代的开启:验证了"越大越好"的假设
  2. 上下文学习的普及:使few-shot学习成为可能
  3. API服务的兴起:OpenAI API开启了语言模型即服务(LMaaS)的时代
  4. 开源模型的跟进:推动了BLOOM、OPT、LLaMA等开源大模型的开发

局限性

  1. 计算成本极高:训练和推理成本限制了广泛应用
  2. 事实性错误:可能生成看似合理但不准确的内容
  3. 推理能力有限:在复杂逻辑和数学推理上仍有局限
  4. 安全性问题:可能生成有害、偏见或不适当的内容
  5. 可控性差:难以精确控制生成内容

4.2 思维链提示

核心思想:让模型"逐步思考",展示推理过程,提高复杂推理任务的表现。思维链(Chain of Thought,CoT)提示通过让模型生成中间推理步骤,显著提升了模型在复杂推理任务上的表现。

技术原理

  1. 分步推理:将复杂问题分解为多个简单步骤
  2. 中间步骤生成:让模型生成推理的中间步骤
  3. 最终答案推导:基于中间步骤推导最终答案

思维链的实现方式

  1. 标准CoT提示:在提示中包含"让我们一步步思考"等指令
  2. 自动CoT:自动生成示例的思维链
  3. 自一致性:生成多个思维链,选择最一致的答案
  4. 少样本CoT:在few-shot示例中包含思维链

数学表示
对于输入问题XXX,思维链提示的目标是:

P(Y∣X)=∑ZP(Y,Z∣X)=∑ZP(Y∣Z,X)P(Z∣X) P(Y|X) = \sum_{Z} P(Y, Z|X) = \sum_{Z} P(Y|Z, X)P(Z|X) P(YX)=ZP(Y,ZX)=ZP(YZ,X)P(ZX)

其中:

  • XXX 是输入问题
  • YYY 是最终答案
  • ZZZ 是思维链(推理步骤)

示例应用

输入:小明有5个苹果,他给了小红2个,又买了3个,现在他有多少个苹果?

思维链:让我们一步步思考:
1. 小明最开始有5个苹果
2. 他给了小红2个,所以还剩5-2=33. 他又买了3个,所以现在有3+3=64. 所以小明现在有6个苹果

答案:6

关键技术变体

  1. Zero-shot CoT:在零样本设置下使用思维链
  2. Few-shot CoT:在少样本示例中包含思维链
  3. 自动CoT:自动选择或生成思维链示例
  4. 自一致性:生成多个思维链,投票选择最终答案
  5. 最小到最大提示:从最简单子问题开始逐步解决

应用效果

  1. 数学推理

    • GSM8K数据集:从33%提升到58%准确率
    • MATH数据集:从6%提升到20%准确率
  2. 常识推理

    • CommonsenseQA:从56%提升到72%准确率
    • StrategyQA:从61%提升到78%准确率
  3. 符号推理

    • 在需要符号操作的推理任务上显著提升

技术挑战

  1. 思维链质量:生成的思维链可能包含错误
  2. 计算成本:生成思维链增加推理时间
  3. 评估困难:评估思维链的正确性较困难
  4. 泛化能力:在不同任务和领域的效果不稳定

4.3 GPT-4 系列:多模态与推理优化

GPT-4

  1. 架构创新

    • 参数量:约1.7万亿,采用MoE(Mixture of Experts)架构
    • 专家数量:16个专家,每个前向传播激活约2800亿参数
    • 训练数据:13万亿tokens,包含更多代码和数学数据
  2. 多模态能力

    • 支持图像和文本输入
    • 能够理解图表、截图、文档等
    • 图像描述、视觉问答、文档分析
  3. 性能突破

    • 在专业和学术考试中达到或超过人类水平
    • 在BAR律师考试中排名前10%
    • 在SAT阅读考试中排名前7%
  4. 安全性提升

    • 减少82%的不当内容生成
    • 提高40%的事实准确性
    • 更少的偏见和有害内容
  5. 长上下文支持

    • 标准版:8K tokens
    • 扩展版:32K tokens
    • 能够处理长文档、书籍、代码库

GPT-4o(Omni):

  1. 统一多模态架构

    • 端到端的统一模型,处理文本、图像、音频
    • 训练时同时处理多模态输入
    • 无需单独的视觉编码器
  2. 实时响应

    • 平均响应时间232毫秒
    • 最短响应时间320毫秒
    • 支持实时对话和交互
  3. 成本优化

    • 推理成本降低50%
    • API价格降低50%
    • 支持更高频率的API调用
  4. 多模态交互

    • 实时视觉问答
    • 音频理解和生成
    • 多模态内容创作

o1/o3系列(推理优化模型):

  1. 架构特点

    • 专门为推理任务优化的架构
    • 更长的"思考时间"机制
    • 内部推理步骤规划
  2. 数学推理突破

    • 在MATH数据集上达到90%以上准确率
    • 解决国际数学奥林匹克(IMO)级别问题
    • 复杂的数学证明生成
  3. 科学推理

    • 理解科学论文和概念
    • 科学问题解决
    • 实验设计和分析
  4. 编程能力

    • 复杂算法设计和实现
    • 代码优化和调试
    • 系统设计

GPT-5(2025年8月发布):

  1. 规模突破

    • 参数量:52万亿
    • 训练数据:未公开,但显著增加
    • 计算量:是GPT-4的数倍
  2. 混合架构

    • Transformer + 深度递归单元的混合架构
    • 支持动态计算路径
    • 自适应计算时间
  3. 系统智能

    • 统一系统,智能调度子模型
    • 根据任务复杂度动态分配计算资源
    • 支持多种专业能力
  4. 性能表现

    • 编程:解决复杂系统设计问题
    • 数学:IMO金牌级别表现
    • 视觉:接近人类水平的场景理解
  5. 可用性

    • 向免费用户有限开放
    • 更低的API价格
    • 更广泛的应用场景

4.4 指令微调与对齐

指令微调

  1. 技术原理

    • 在指令-响应对数据上微调预训练模型
    • 使模型能够理解并遵循人类指令
    • 无需明确的任务示例即可执行新任务
  2. 数据构建

    • 人工编写的指令-响应对
    • 通过模型生成后人工筛选
    • 任务多样化,涵盖多种领域
  3. 训练方法

    • 监督微调(SFT)
    • 多任务指令微调
    • 渐进式指令微调
  4. 效果

    • 提高模型对指令的理解能力
    • 减少无关或重复的生成
    • 提高任务完成的质量

基于人类反馈的强化学习

  1. 三阶段训练流程

    阶段1:监督微调(SFT)

    • 在高质量的人类标注数据上微调
    • 学习基本的指令遵循能力
    • 建立基准模型

    阶段2:奖励模型训练(RM)

    • 收集人类对模型输出的偏好数据
    • 训练奖励模型预测人类偏好
    • 损失函数:−E(x,yw,yl)∼D[log⁡σ(rϕ(x,yw)−rϕ(x,yl))]-\mathbb{E}_{(x,y_w,y_l) \sim D} [\log \sigma(r_\phi(x,y_w) - r_\phi(x,y_l))]E(x,yw,yl)D[logσ(rϕ(x,yw)rϕ(x,yl))]

    阶段3:强化学习优化(PPO)

    • 使用奖励模型作为奖励信号
    • 通过PPO算法优化策略
    • 目标函数:E(x,y)∼Dπϕ[rθ(x,y)−βDKL(πϕ(y∣x)∣∣πref(y∣x))]\mathbb{E}_{(x,y) \sim D_{\pi_\phi}} [r_\theta(x,y) - \beta D_{KL}(\pi_\phi(y|x) || \pi_{\text{ref}}(y|x))]E(x,y)Dπϕ[rθ(x,y)βDKL(πϕ(yx)∣∣πref(yx))]
  2. 关键技术

    • KL散度惩罚:防止模型偏离原始模型太远
    • 值函数训练:估计状态价值
    • 多轮RLHF:多次迭代优化
  3. 挑战

    • 奖励模型过优化
    • 分布偏移
    • 训练不稳定
    • 计算成本高

宪法AI

  1. 核心思想

    • 基于原则而非人类偏好进行对齐
    • 定义一系列宪法原则
    • 模型根据原则进行自我改进
  2. 训练过程

    • 原则定义:制定对齐原则
    • 模型自我批判:模型根据原则评估自身输出
    • 迭代改进:基于自我批评进行模型改进
  3. 优势

    • 可解释性:对齐原则明确
    • 可扩展性:容易添加新原则
    • 一致性:减少人类标注者的不一致性
  4. 应用

    • Anthropic的Claude系列
    • 可操纵的AI系统
    • 安全对齐研究

多模态对齐

  1. 跨模态对齐

    • 文本-图像对齐
    • 文本-音频对齐
    • 多模态指令遵循
  2. 安全挑战

    • 多模态有害内容
    • 深度伪造生成
    • 隐私泄露风险
  3. 对齐技术

    • 多模态内容过滤
    • 来源追踪
    • 水印技术

未来方向

  1. 可扩展监督

    • 用AI辅助人类监督
    • 递归奖励建模
    • 辩论和验证
  2. 可解释性

    • 理解模型内部表示
    • 归因分析
    • 概念激活
  3. 价值观对齐

    • 多文化价值观
    • 可定制的价值观
    • 价值观冲突解决
  4. 长期对齐

    • 长期目标保持
    • 分布偏移适应
    • 自我改进的监督
Logo

更多推荐