自然语言处理 (NLP)
“NLP 的核心是将离散的符号转换为连续的概率空间。” 本章节系统化梳理了从统计方法到现代大模型(LLM)的演进逻辑。
1. 词表示:从 One-hot 到分布式表示 (Word Embeddings)
1.1 One-hot 的局限性
- 维度灾难:词表 过大。
- 正交性:任意两个词向量的点积为 0,无法刻画词与词之间的语义相似度。
1.2 Word2Vec:分布式语义的诞生
Word2Vec 利用“上下文决定语义”的假设(Distributional Hypothesis),将词映射到低维稠密向量空间。
- Skip-gram 模型:根据中心词预测上下文。
- 负采样 (Negative Sampling):为了加速计算,将大规模多分类问题转化为二分类问题。
2. 预训练语言模型 (PLMs):BERT 与掩码语言模型
BERT 引入了双向 Transformer 编码器,通过大规模预训练捕捉上下文特征。
2.1 核心任务:掩码语言模型 (MLM)
随机遮盖 15% 的 Token,让模型根据上下文预测遮盖位置的内容。
2.2 BERT 的双向性证明
证明:在双向模型中,每一层的 Token 都包含其左右两侧所有 Token 的信息。这使得 BERT 在提取静态特征(如情感分析、命名实体识别)时优于单向模型。
3. 大语言模型 (LLM):从生成式预训练到对齐
3.1 解码器架构 (Decoder-only)
GPT 系列采用了仅包含解码器的架构,更适合生成任务。模型根据上文预测下一个 Token:
3.2 涌现能力 (Emergent Abilities)
当模型参数规模超过一定阈值(如 60B)时,模型会突然展现出原本不具备的逻辑推理、零样本学习等能力。
4. C++ 模拟:简单的 N-gram 模型
手动实现一个基于频率的 2-gram 语言模型。
5. 进阶练习 (Exercises)
练习 1:Word2Vec 的负采样损失函数
证明:负采样的目标函数等价于最大化正样本的概率,同时最小化随机噪声样本的概率。
Check Solution
解析: 负采样损失定义为: 其中 是 Sigmoid。第一项拉近词 与上下文 的距离,第二项推开噪声词 。
练习 2:BERT 与 GPT 的计算效率对比
在推理(Inference)阶段,为什么 GPT 比 BERT 更耗费显存?
Check Solution
解析: 因为 GPT 是自回归生成的,为了避免重复计算,必须维护 KV Cache。而 BERT 是单次并行推断(One-pass),不需要显式缓存。