从N-gram到Transformer:语言模型演进全解析

语言模型的核心定义与价值

语言模型(Language Model, LM)是自然语言处理(NLP)的基础组件,其核心任务是通过统计或神经网络方法建模文本序列的概率分布。具体而言,给定一个词序列 ( w1, w_2, …, w_n ),语言模型计算该序列的联合概率 ( P(w_1, w_2, …, w_n) ),并通过分解为条件概率的乘积实现:
[ P(w_1, w_2, …, w_n) = \prod
{i=1}^n P(wi | w_1, …, w{i-1}) ]
这一能力支撑了文本生成、机器翻译、问答系统等核心NLP任务。例如,在文本生成中,模型通过最大化下一个词的概率逐步扩展序列;在机器翻译中,模型通过联合概率建模源语言与目标语言的对应关系。

统计语言模型:N-gram的崛起与局限

早期语言模型以统计方法为主,其中N-gram模型是典型代表。该模型基于马尔可夫假设,将条件概率简化为前N-1个词的依赖:
[ P(wi | w_1, …, w{i-1}) \approx P(wi | w{i-N+1}, …, w{i-1}) ]
例如,二元模型(Bigram)仅考虑前一个词的影响,三元模型(Trigram)考虑前两个词。N-gram的实现依赖词频统计,通过最大似然估计计算条件概率:
[ P(w_i | w
{i-1}) = \frac{\text{Count}(w{i-1}, w_i)}{\text{Count}(w{i-1})} ]

优势:N-gram模型计算高效,可解释性强,在早期NLP任务(如语音识别、拼写纠错)中表现稳定。例如,IBM的语音识别系统曾广泛采用三元模型提升准确率。

局限

  1. 数据稀疏性:当N增大时,词组合的出现次数急剧减少,导致零概率问题(未登录词)。例如,在训练集中未出现的“人工智能 革命”组合会被赋零概率。
  2. 长程依赖缺失:马尔可夫假设限制了模型对全局上下文的捕捉能力。例如,在句子“The cat, which had been chasing a mouse, finally caught it”中,N-gram难以关联“cat”与“it”的指代关系。
  3. 参数膨胀:N增大时,模型参数数量呈指数增长(词汇表大小为V时,N-gram参数为 ( V^N )),导致存储与计算成本激增。

神经网络语言模型:从RNN到Transformer的突破

为克服统计模型的局限,神经网络语言模型(NNLM)通过分布式表示与深度学习技术实现质变。其核心思想是将词映射为低维稠密向量(词嵌入),并通过非线性网络捕捉上下文关系。

1. 前馈神经网络语言模型(FNNLM)

2003年,Bengio等人提出FNNLM,将前N-1个词的嵌入拼接后输入全连接网络,预测下一个词的概率分布。其结构如下:

  1. import torch
  2. import torch.nn as nn
  3. class FNNLM(nn.Module):
  4. def __init__(self, vocab_size, embedding_dim, context_size, hidden_dim):
  5. super().__init__()
  6. self.embeddings = nn.Embedding(vocab_size, embedding_dim)
  7. self.linear1 = nn.Linear(context_size * embedding_dim, hidden_dim)
  8. self.linear2 = nn.Linear(hidden_dim, vocab_size)
  9. def forward(self, inputs):
  10. # inputs: (batch_size, context_size)
  11. embeds = self.embeddings(inputs).view(inputs.size(0), -1)
  12. out = torch.tanh(self.linear1(embeds))
  13. out = self.linear2(out)
  14. log_probs = torch.log_softmax(out, dim=1)
  15. return log_probs

突破:首次引入词嵌入,将离散符号映射为连续向量,为后续深度学习模型奠定基础。

局限:固定上下文窗口(如前5个词)无法捕捉长程依赖,且计算复杂度随窗口大小线性增长。

2. 循环神经网络(RNN)与长短期记忆网络(LSTM)

为处理变长序列,RNN通过隐藏状态递归传递信息:
[ ht = \sigma(W{hh} h{t-1} + W{xh} xt + b_h) ]
[ y_t = \text{softmax}(W
{hy} h_t + b_y) ]
其中,( h_t ) 为t时刻的隐藏状态,( x_t ) 为输入词嵌入。

改进:LSTM通过门控机制(输入门、遗忘门、输出门)解决RNN的梯度消失问题,实现长程依赖捕捉。例如,在文本分类任务中,LSTM可关联开头的主语与结尾的谓语。

局限

  1. 并行化困难:RNN的递归结构导致训练时序依赖,无法并行计算。
  2. 梯度问题:虽LSTM缓解了梯度消失,但长序列训练仍面临梯度爆炸风险。
  3. 计算效率:隐藏状态的逐时刻更新导致内存占用高。

3. Transformer:自注意力机制的革命

2017年,Vaswani等人提出Transformer架构,彻底摒弃循环结构,通过自注意力机制(Self-Attention)实现并行化与长程依赖捕捉。其核心组件包括:

自注意力机制

给定输入序列 ( X \in \mathbb{R}^{n \times d} )(n为序列长度,d为词嵌入维度),自注意力通过线性变换生成查询(Q)、键(K)、值(V)矩阵:
[ Q = XW^Q, \quad K = XW^K, \quad V = XW^V ]
注意力分数计算为:
[ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V ]
其中,( \sqrt{d_k} ) 为缩放因子,防止点积过大导致梯度消失。

优势

  1. 并行计算:所有位置的注意力分数可同时计算,大幅提升训练效率。
  2. 长程依赖:通过全局注意力权重,模型可直接关联任意距离的词对。例如,在“The artist painted a portrait and signed it”中,模型可快速关联“artist”与“it”。
  3. 多头注意力:通过多个注意力头并行计算,模型可捕捉不同子空间的语义关系(如语法、语义、指代)。

位置编码

为弥补自注意力对顺序信息的缺失,Transformer引入位置编码(Positional Encoding):
[ PE(pos, 2i) = \sin\left(\frac{pos}{10000^{2i/d}}\right) ]
[ PE(pos, 2i+1) = \cos\left(\frac{pos}{10000^{2i/d}}\right) ]
其中,( pos ) 为位置索引,( i ) 为维度索引。位置编码与词嵌入相加后输入模型。

典型架构

Transformer由编码器(Encoder)与解码器(Decoder)组成:

  • 编码器:包含多头注意力层与前馈网络层,堆叠N次(通常N=6)。
  • 解码器:在编码器基础上增加掩码多头注意力(防止未来信息泄露),并引入编码器-解码器注意力(关联源序列与目标序列)。

4. 大模型时代的演进:从BERT到GPT

Transformer架构催生了预训练大模型(Pre-trained Large Models, PLMs),其核心范式为“预训练+微调”:

  1. 预训练:在大规模无监督文本上学习通用语言表示(如掩码语言建模、因果语言建模)。
  2. 微调:在下游任务(如分类、生成)上通过少量标注数据调整模型参数。

典型模型

  • BERT(2018):采用双向Transformer编码器,通过掩码语言建模(MLM)与下一句预测(NSP)任务预训练,在GLUE基准上取得显著提升。
  • GPT系列(2018-2023):采用自回归Transformer解码器,通过因果语言建模(CLM)任务预训练,逐步扩展至千亿参数(如GPT-3),实现零样本/少样本学习。
  • T5(2020):将所有NLP任务统一为“文本到文本”格式,通过编码器-解码器架构实现多任务学习。

大模型的特征

  1. 参数规模:从百万级(ELMo)增长至千亿级(GPT-3),模型容量指数级提升。
  2. 数据规模:预训练数据从GB级(WikiText)扩展至TB级(Common Crawl),覆盖多语言、多模态数据。
  3. 能力涌现:当参数超过临界值(如百亿级)时,模型表现出小模型不具备的能力(如逻辑推理、代码生成)。

实践启示与未来方向

1. 开发者建议

  • 模型选择:根据任务类型选择架构(如生成任务优先GPT,理解任务优先BERT)。
  • 效率优化:采用量化、蒸馏等技术压缩模型(如DistilBERT),降低推理成本。
  • 数据治理:构建高质量预训练数据集,关注数据偏差与伦理风险。

2. 未来方向

  • 多模态融合:结合文本、图像、音频等多模态数据,提升模型泛化能力(如GPT-4V)。
  • 高效架构:探索线性注意力、稀疏注意力等变体,降低计算复杂度。
  • 可信AI:研究模型可解释性、鲁棒性,应对幻觉、偏见等挑战。

语言模型的演进是统计方法与深度学习融合的典范,从N-gram到Transformer的突破,不仅重塑了NLP技术格局,更为通用人工智能(AGI)开辟了道路。未来,随着模型规模与数据质量的持续提升,语言模型将在更多领域展现颠覆性潜力。