大模型引领NLP研究新范式:从统计机器学习到预训练语言模型

发布于:2024-05-08 ⋅ 阅读:(27) ⋅ 点赞:(0)

自然语言处理(NLP)研究范式经历了从浅层到深层、从局部到整体、从特定到通用的演进过程。下面我们来详细回顾这一过程。

一、早期的统计机器学习方法(20世纪90年代 - 21世纪初)

  1. 词袋模型(Bag-of-Words)

    • 将文本表示为词频向量,忽略词序和语法
    • 应用:文本分类、情感分析等
  2. N-gram语言模型

    • 基于词的共现频率,计算一个词序列的概率
    • 应用:语音识别、机器翻译、文本生成等
    • 例如,基于Bi-gram的概率计算公式:
      P ( w 1 , w 2 , . . . , w n ) = ∏ i = 1 n P ( w i ∣ w i − 1 ) P(w_1, w_2, ..., w_n) = \prod_{i=1}^n P(w_i | w_{i-1}) P(w1,w2,...,wn)=i=1nP(wiwi1)
  3. 词向量(Word Embedding)

    • 将词映射为低维稠密向量,如Word2Vec、GloVe
    • 词向量可以刻画词之间的语义关系
    • 例如,Word2Vec的Skip-gram模型的目标函数:
      J ( θ ) = 1 T ∑ t = 1 T ∑ − c ≤ j ≤ c , j ≠ 0 log ⁡ P ( w t + j ∣ w t ) J(\theta) = \frac{1}{T} \sum_{t=1}^T \sum_{-c \leq j \leq c, j \neq 0} \log P(w_{t+j} | w_t) J(θ)=T1t=1Tcjc,j=0logP(wt+jwt)

二、深度学习时代(2013年 - 2018年)

  1. 循环神经网络(RNN)

    • 适合处理序列数据,如语言模型、机器翻译
    • 存在梯度消失和梯度爆炸问题
    • 一个简单的RNN前向传播公式:
      h t = tanh ⁡ ( W h h h t − 1 + W x h x t ) h_t = \tanh(W_{hh} h_{t-1} + W_{xh} x_t) ht=tanh(Whhht1+Wxhxt)
      y t = W h y h t y_t = W_{hy} h_t yt=Whyht
  2. 长短期记忆网络(LSTM)

    • 通过引入门控机制,缓解了RNN的梯度问题
    • 广泛应用于序列建模任务
    • LSTM的核心公式:
      f t = σ ( W f ⋅ [ h t − 1 , x t ] + b f ) f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) ft=σ(Wf[ht1,xt]+bf)
      i t = σ ( W i ⋅ [ h t − 1 , x t ] + b i ) i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) it=σ(Wi[ht1,xt]+bi)
      C ~ t = tanh ⁡ ( W C ⋅ [ h t − 1 , x t ] + b C ) \tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C) C~t=tanh(WC[ht1,xt]+bC)
      C t = f t ∗ C t − 1 + i t ∗ C ~ t C_t = f_t * C_{t-1} + i_t * \tilde{C}_t Ct=ftCt1+itC~t
      o t = σ ( W o ⋅ [ h t − 1 , x t ] + b o ) o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o) ot=σ(Wo[ht1,xt]+bo)
      h t = o t ∗ tanh ⁡ ( C t ) h_t = o_t * \tanh(C_t) ht=ottanh(Ct)
  3. 注意力机制(Attention Mechanism)

    • 让模型能够聚焦于输入的关键部分
    • 广泛应用于机器翻译、阅读理解等任务
    • 例如,Bahdanau Attention:
      e i j = v a ⊤ tanh ⁡ ( W a s i − 1 + U a h j ) e_{ij} = v_a^\top \tanh(W_a s_{i-1} + U_a h_j) eij=vatanh(Wasi1+Uahj)
      α i j = exp ⁡ ( e i j ) ∑ k = 1 T x exp ⁡ ( e i k ) \alpha_{ij} = \frac{\exp(e_{ij})}{\sum_{k=1}^{T_x} \exp(e_{ik})} αij=k=1Txexp(eik)exp(eij)
      c i = ∑ j = 1 T x α i j h j c_i = \sum_{j=1}^{T_x} \alpha_{ij} h_j ci=j=1Txαijhj
  4. 变形金刚(Transformer)

    • 基于自注意力机制(Self-Attention),摆脱了RNN的序列依赖
    • 并行计算,训练效率高,成为大模型的基础架构
    • Self-Attention的计算公式:
      Q = X W Q , K = X W K , V = X W V Q = X W_Q, K = X W_K, V = X W_V Q=XWQ,K=XWK,V=XWV
      A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q, K, V) = softmax(\frac{QK^T}{\sqrt{d_k}})V Attention(Q,K,V)=softmax(dk QKT)V

三、预训练语言模型(2018年 - 至今)

  1. GPT(Generative Pre-training Transformer)

    • 基于Transformer的单向语言模型
    • 在大规模无监督语料上预训练,再针对下游任务微调
    • 开启了预训练语言模型的新时代
  2. BERT(Bidirectional Encoder Representations from Transformers)

    • 基于Masked Language Model(MLM)和Next Sentence Prediction(NSP)的双向预训练
    • 在11项NLP任务上取得SOTA成绩
    • 掀起了预训练语言模型的热潮
  3. 轻量级预训练模型

    • 如DistilBERT、ALBERT、TinyBERT等
    • 在保持性能的同时,大幅减小模型尺寸和推理时间
    • 利于预训练模型的工业落地
  4. 大语言模型(Large Language Model)

    • 如GPT-3、PaLM、ChatGPT等
    • 模型参数规模高达数百亿甚至上千亿
    • 展现出惊人的语言理解和生成能力
    • In-context Learning:无需微调,直接向模型输入少量样本即可执行新任务
    • 赋予NLP更加通用、开放、强大的能力
    • 大模型示意图:
         ┌─────────────────────────────────────────────────────────────────┐
         │                                                                 │
         │                            Pre-training                         │
         │                                                                 │
         │       ┌──────────────────────────────────────────────────┐      │
         │       │            Unsupervised Text Corpora             │      │
         │       └──────────────────────────────────────────────────┘      │
         │                                 │                               │
         │                                 ▼                               │
         │       ┌──────────────────────────────────────────────────┐      │
         │       │              Large Language Model                │      │
         │       │                    (Billions)                    │      │
         │       └──────────────────────────────────────────────────┘      │
         │                                                                 │
         └─────────────────────────────────────────────────────────────────┘
                                           │
                                           ▼
         ┌─────────────────────────────────────────────────────────────────┐
         │                                                                 │
         │                          Downstream Tasks                       │
         │                                                                 │
         │    ┌─────────┐   ┌───────────┐   ┌─────────────┐   ┌──────────┐  │
         │    │ ChatBot │   │ Summarize │   │ Translate  │   │ Classify │  │
         │    └─────────┘   └───────────┘   └─────────────┘   └──────────┘  │
         │                                                                 │
         └─────────────────────────────────────────────────────────────────┘
      

NLP研究范式的演进,反映了人工智能技术的不断进步。从早期的统计机器学习,到深度学习,再到预训练语言模型和大模型,每一次范式的突破都极大地推动了NLP的发展。未来,NLP有望与知识表示、因果推理等技术进一步结合,实现更加强大、智能、可解释的自然语言理解和生成。