18 - NLP与Transformer详解¶
⚠️ 时效性说明:本章涉及前沿模型/价格/榜单等信息,可能随版本快速变化;请以论文原文、官方发布页和 API 文档为准。
📌 导航提示:本章从机器学习视角概述NLP与Transformer。详细NLP教程请参考
自然语言处理/目录;Transformer架构详解请参考深度学习/04-Transformer/;大模型相关内容请参考LLM学习/目录。
🗺️ NLP任务在ML中的分类¶
从机器学习角度看,NLP任务本质上是将自然语言映射为不同类型的预测问题:
| ML任务类型 | NLP任务示例 | 输入→输出 |
|---|---|---|
| 分类 | 情感分析、主题分类、垃圾检测 | 文本 → 类别标签 |
| 序列标注 | 命名实体识别(NER)、词性标注 | 每个token → 标签 |
| 序列到序列 | 机器翻译、文本摘要 | 序列 → 序列 |
| 生成 | 对话、文本续写 | 上下文 → 文本 |
| 匹配/检索 | 语义相似度、问答 | 文本对 → 相似度/答案 |
📈 NLP技术演进¶
| 阶段 | 代表方法 | 特征方式 | 局限 |
|---|---|---|---|
| 传统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时代
📋 面试要点¶
- Transformer相比RNN的核心优势? → 并行计算(非串行)、全局感受野(非局部)、自注意力捕获长距离依赖
- BERT和GPT的核心区别? → BERT双向编码器+MLM,适合理解;GPT单向解码器+CLM,适合生成
- 自注意力的计算复杂度及优化? → O(n²d),优化方向:稀疏注意力、线性注意力、Flash Attention
- 为什么位置编码是必要的? → Transformer的注意力机制是排列不变的(permutation invariant),需要位置编码注入顺序信息
- 预训练+微调范式为什么有效? → 大规模无标注数据学习通用语言表示,少量标注数据适配下游任务
✏️ 练习¶
- 范式对比:选择一个文本分类任务,分别用TF-IDF+SVM(传统ML)和BERT微调(预训练范式)实现,对比效果和开发成本,体会NLP技术的演进。
- 架构选型:给定5个NLP任务(情感分析、机器翻译、文本续写、命名实体识别、语义搜索),分析每个任务最适合的预训练范式(BERT/GPT/T5),并说明理由。
📖 下一步学习:19-生成模型深度解析.md | NLP详细教程 →
自然语言处理/| Transformer详解 →深度学习/04-Transformer/