Daily

AsmBB
登录

自然语言处理:从词袋模型到大语言模型的演进之路
0

#64 (ツ) admin
创建于 03:40, 浏览:3 次。

自然语言处理:从词袋模型到大语言模型的演进之路


引言

自然语言处理(NLP)是人工智能领域中最贴近人类日常生活的分支之一。它的目标是让机器理解、生成和操作人类语言。从早期的规则系统到今天的千亿参数大模型,NLP 经历了数次范式转移。这篇文章沿着技术演进的脉络,梳理 NLP 的核心任务、关键方法和当前的主流训练范式。


一、NLP 的核心任务

NLP 的任务可以按语言理解的层次来划分,从字词到篇章,复杂度逐级上升。

任务层级

典型任务

说明

词法层

分词、词性标注

将文本切分为词并标注语法属性

句法层

句法分析、依存分析

分析句子中词与词的结构关系

语义层

命名实体识别、语义角色标注

识别实体及其在句中的语义角色

篇章层

指代消解、篇章连贯性

处理跨句子的语义关联

应用层

机器翻译、问答、摘要、情感分析

面向具体场景的端到端任务

不同语言的任务难度差异很大。中文分词就是一个典型例子,因为中文没有天然的空格分隔,分词本身就是一个需要模型判断的问题。


二、文本表示方法

2.1 离散表示

最早的文本表示是 One-Hot 和词袋模型(Bag of Words)。每个词用一个稀疏向量表示,文档用词频向量表示。TF-IDF 在此基础上引入逆文档频率,降低常见词的权重。

这类方法简单高效,但有两个根本缺陷:一是词汇表爆炸,二是无法表达词与词之间的语义相似性。

2.2 静态词向量

Word2Vec 的出现是一个转折点。它通过预测上下文(Skip-gram)或根据上下文预测中心词(CBOW),把词映射到低维稠密向量空间。语义相近的词在向量空间中距离更近,经典的例子是:

king - man + woman ≈ queen

GloVe 则通过全局共现矩阵分解得到词向量。两者都属于静态词向量,同一个词在任何语境下向量相同,无法处理一词多义。

2.3 上下文相关表示

ELMo 首次提出用双向 LSTM 根据上下文动态生成词向量,同一个词在不同句子中会有不同的表示。这为后来的 Transformer 时代铺平了道路。


三、从 RNN 到 Transformer

3.1 循环神经网络

RNN 及其变体 LSTM、GRU 曾是序列建模的主流。它们按时间步依次处理输入,天然适合变长序列。但存在两个问题:

  • 长距离依赖难以捕捉,梯度容易消失或爆炸

  • 无法并行计算,训练速度受序列长度限制

3.2 注意力机制

注意力机制最早用于机器翻译,让解码器在生成每个词时能够“关注”编码器的不同位置。它的核心计算是:

# 缩放点积注意力
scores = Q @ K.T / sqrt(d_k)
weights = softmax(scores)
output = weights @ V

3.3 Transformer

Transformer 完全抛弃了循环结构,只用注意力机制和前馈网络。它的关键设计包括:

  • 多头注意力:让模型在不同子空间并行捕捉多种关系

  • 位置编码:弥补注意力本身不含位置信息的缺陷

  • 残差连接 + 层归一化:保证深层网络稳定训练

  • 并行计算:整个序列可以同时处理,训练效率大幅提升

Transformer 最初用于翻译,后来成为几乎所有 NLP 模型的基础架构。


四、预训练范式

4.1 预训练 + 微调

BERT 开启了 NLP 的预训练时代。它用 Transformer 编码器,通过两个任务预训练:

  • 掩码语言模型(MLM):随机遮住部分词,让模型预测

  • 下一句预测(NSP):判断两个句子是否连续

预训练完成后,只需在下游任务上加一个轻量头部,用少量标注数据微调,就能取得很好的效果。

4.2 自回归语言模型

GPT 系列走的是另一条路:用 Transformer 解码器,训练目标是预测下一个词。这种范式天然适合文本生成,随着模型规模增大,展现出了少样本甚至零样本能力。

4.3 两种范式的对比

维度

BERT 类(编码器)

GPT 类(解码器)

预训练目标

掩码预测

下一词预测

擅长任务

理解类:分类、抽取、匹配

生成类:写作、对话、翻译

注意力方向

双向

单向(因果)

典型使用

微调

提示 / 指令


五、大语言模型的关键技术

5.1 缩放定律

研究发现,模型性能与参数量、数据量、计算量之间存在幂律关系。这为“把模型做大”提供了理论依据,也推动了千亿参数模型的竞赛。

5.2 指令微调

原始预训练模型只会续写文本,不会遵循指令。指令微调用“输入-输出”配对数据训练模型,让它学会按指令行事。数据质量比数量更重要,少量高质量样本往往胜过大而杂的数据集。

5.3 人类反馈强化学习

RLHF 的流程分为三步:

  1. 监督微调:用人工示范数据微调模型

  2. 训练奖励模型:让人类对模型输出排序,训练打分模型

  3. 强化学习优化:用 PPO 等算法让模型最大化奖励

这一步让模型的输出更符合人类偏好,也是 ChatGPT 成功的关键之一。

5.4 参数高效微调

全量微调大模型成本极高。LoRA 等方法通过冻结原模型,只训练少量低秩矩阵,大幅降低显存和存储需求。QLoRA 进一步结合量化,让单卡微调大模型成为可能。


六、提示工程与上下文学习

大模型的一个有趣特性是上下文学习:不需要更新参数,只靠提示中的几个示例就能完成新任务。

常见提示技术:

  • 零样本:直接给指令,不给示例

  • 少样本:给几个输入输出示例

  • 思维链:让模型一步步推理再给答案

  • 自洽性:多次采样,投票选最一致的答案

  • 思维树:把推理过程组织成树状搜索

这些技术的共同点是:不改变模型,只改变输入的组织方式。


七、评估与挑战

7.1 常见评估指标

任务

指标

分类

准确率、F1、AUC

生成

BLEU、ROUGE、BERTScore

问答

EM、F1

对话

人工评估、胜率

检索

Recall@K、MRR、NDCG

7.2 当前主要挑战

  • 幻觉:模型生成看似合理但事实错误的内容

  • 长文本:上下文窗口有限,长文档理解仍有困难

  • 推理能力:多步逻辑推理仍是弱项

  • 偏见与安全:训练数据中的偏见会被模型放大

  • 评估困难:生成任务的自动评估与人类判断存在差距

  • 计算成本:训练和推理的能耗与成本居高不下


八、一条典型的技术路线

  1. 收集与清洗语料

  2. 训练分词器(BPE、WordPiece、SentencePiece)

  3. 预训练基础模型(自监督目标)

  4. 指令微调(监督数据)

  5. 对齐优化(RLHF / DPO)

  6. 评估与红队测试

  7. 量化压缩与部署

  8. 线上监控与迭代


总结

NLP 的演进有一条清晰的主线:从人工规则到统计方法,从静态表示到上下文表示,从任务专用模型到通用预训练模型。每一步都在减少对人工特征的依赖,同时提升模型的通用性。当前的大语言模型把这个趋势推到了极致,但也暴露了幻觉、推理、成本等新问题。理解这条演进脉络,比记住某个具体模型的名字更重要,因为下一个范式转移,很可能就藏在当前这些挑战的解法里。

延伸阅读方向
  • 分词算法:BPE、WordPiece、Unigram 的对比

  • 注意力优化:稀疏注意力、线性注意力、FlashAttention

  • 对齐方法:RLHF、DPO、KTO 的异同

  • 检索增强生成:RAG 的架构与工程实践

  • 多语言与低资源:跨语言迁移与数据增广

  • 模型可解释性:注意力可视化与探针分析

自然语言处理:从词袋模型到大语言模型的演进之路
0

AsmBB v3.0 (check-in: 3df85ed0b218e51a); SQLite v (check-in: 831d0fb2836b71c9);
©2016..2020 John Found; Licensed under EUPL. Powered by Assembly language Created with Fresh IDE