跳转至

18 - NLP与Transformer详解

⚠️ 时效性说明:本章涉及前沿模型/价格/榜单等信息,可能随版本快速变化;请以论文原文、官方发布页和 API 文档为准。

NLP与Transformer图

📌 导航提示:本章从机器学习视角概述NLP与Transformer。详细NLP教程请参考 自然语言处理/ 目录;Transformer架构详解请参考 深度学习/04-Transformer/;大模型相关内容请参考 LLM学习/ 目录。


🗺️ NLP任务在ML中的分类

从机器学习角度看,NLP任务本质上是将自然语言映射为不同类型的预测问题:

ML任务类型 NLP任务示例 输入→输出
分类 情感分析、主题分类、垃圾检测 文本 → 类别标签
序列标注 命名实体识别(NER)、词性标注 每个token → 标签
序列到序列 机器翻译、文本摘要 序列 → 序列
生成 对话、文本续写 上下文 → 文本
匹配/检索 语义相似度、问答 文本对 → 相似度/答案

📈 NLP技术演进

Text Only
规则方法 → 统计方法 → 深度学习 → 预训练大模型
阶段 代表方法 特征方式 局限
传统ML TF-IDF + SVM/NB 手工特征(词袋、n-gram) 丢失语序、语义
词嵌入 Word2Vec/GloVe 分布式表示(静态向量) 一词一义,无上下文
序列模型 LSTM/GRU 循环编码上下文 串行慢、长距离衰减
Transformer 自注意力机制 全局并行上下文建模 当前主流范式

⚡ Transformer核心创新

Transformer(2017)取代了RNN成为NLP基础架构,其核心创新点:

创新点 核心思想 解决的问题
自注意力 (Self-Attention) 每个位置与所有位置计算相关性,动态加权聚合信息 长距离依赖、并行计算
多头注意力 多组独立注意力头捕获不同层面的关系 丰富特征表示
位置编码 用正弦/余弦函数编码token位置信息 Transformer无循环结构,需显式注入位置信息
残差连接 + LayerNorm 每个子层都有跳跃连接和归一化 稳定深层训练

自注意力公式核心:\(\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V\)


🏛️ 预训练范式综述

基于Transformer衍生出三大预训练范式:

维度 BERT (Encoder) GPT (Decoder) T5 (Encoder-Decoder)
架构 仅编码器 仅解码器 编码器-解码器
注意力 双向 单向(因果掩码) 编码器双向 + 解码器单向
预训练目标 掩码语言模型(MLM) 下一词预测(CLM) 文本到文本(Span Corruption)
擅长任务 理解(分类、NER、匹配) 生成(文本续写、对话) 理解+生成通用
代表模型 BERT, RoBERTa, DeBERTa GPT-⅔/4, LLaMA T5, BART, Flan-T5
微调方式 +分类头微调 Prompt/少样本/微调 统一文本到文本格式
当前地位 NLU任务仍广泛使用 LLM时代主流架构 特定任务表现优异

🔗 与ML知识体系的关联

  • 特征工程的终结:预训练模型取代了传统NLP中的手工特征工程(TF-IDF、词袋等)
  • 迁移学习的典范:大规模预训练 + 下游任务微调,是ML中迁移学习思想在NLP的核心应用
  • Scaling Law:模型规模、数据量、计算量的增长带来持续的性能提升,催生了LLM时代

📋 面试要点

  1. Transformer相比RNN的核心优势? → 并行计算(非串行)、全局感受野(非局部)、自注意力捕获长距离依赖
  2. BERT和GPT的核心区别? → BERT双向编码器+MLM,适合理解;GPT单向解码器+CLM,适合生成
  3. 自注意力的计算复杂度及优化? → O(n²d),优化方向:稀疏注意力、线性注意力、Flash Attention
  4. 为什么位置编码是必要的? → Transformer的注意力机制是排列不变的(permutation invariant),需要位置编码注入顺序信息
  5. 预训练+微调范式为什么有效? → 大规模无标注数据学习通用语言表示,少量标注数据适配下游任务

✏️ 练习

  1. 范式对比:选择一个文本分类任务,分别用TF-IDF+SVM(传统ML)和BERT微调(预训练范式)实现,对比效果和开发成本,体会NLP技术的演进。
  2. 架构选型:给定5个NLP任务(情感分析、机器翻译、文本续写、命名实体识别、语义搜索),分析每个任务最适合的预训练范式(BERT/GPT/T5),并说明理由。

📖 下一步学习19-生成模型深度解析.md | NLP详细教程 → 自然语言处理/ | Transformer详解 → 深度学习/04-Transformer/