机器阅读的进化史:从 CS224n Lecture 9 看 NLP 的范式转移

59 阅读5分钟

机器阅读的进化史:从 CS224n Lecture 9 看 NLP 的范式转移

在人工智能的历史长河中,很少有像过去五年这样激动人心的时刻。当我们回望斯坦福 CS224n 的课程大纲,特别是 Lecture 9 的内容时,我们看到的不仅仅是一堆算法的堆砌,而是一部关于机器如何一步步打破桎梏、学会真正“理解”人类语言的进化史。

本文将结合课堂讲义,深入剖析这场从**词嵌入(Word Embeddings)预训练大模型(Pretrained LLMs)**的宏大叙事。

一、 打破词汇的枷锁:子词建模的觉醒

在很长一段时间里,NLP 模型像是一个拿着有限字典的笨学生。我们假设词汇表是固定的,凡是字典里没有的词,无论是拼写错误(如 laern)还是充满创造力的新造词(如 Transformerify),都会被粗暴地归为 UNK(未知)。这导致了巨大的语义坍塌——在模型眼里,一个绝妙的新词和一个乱码毫无区别。

BPE (Byte-Pair Encoding) 算法的引入打破了这一僵局。它不再执着于“单词”这个单位,而是学会了识别“子词”(Subwords)。通过将 Transformerify 拆解为 Transformer + ify,模型终于学会了像人类一样通过词根词缀去推断未见之词的含义。这是机器阅读走向灵活化的第一步。

二、 语境即意义:告别静态时代

语言学大师 J.R. Firth 曾说:“单词的意义取决于它的上下文。”然而,早期的 Word2Vec 却给每个词分配了静态的向量。在 "record the record" 这句话中,动词 record 和名词 record 虽然拼写相同,意义却迥异,但在旧模型眼中它们是完全一样的。

更糟糕的是,在 2017 年之前,我们的模型架构极其“头重脚轻”:底层只有薄薄的一层预训练词向量(红色),而上层负责思考和推理的庞大神经网络(灰色)却是随机初始化的。这意味着我们每做一个新任务,都要从零开始训练模型的大脑,效率极低。

预训练(Pretraining) 的出现彻底改变了这一局面。我们开始尝试预训练整个网络。通过在大规模文本上进行自我监督学习,我们将模型的所有参数都从“随机的灰色”训练成了“博学的红色”。

三、 架构的三国演义:Encoder 与 Decoder 的抉择

当我们要预训练整个网络时,我们面临着架构的选择。不同的架构决定了模型不同的“天赋技能”:

1. 完形填空的高手:Encoder (BERT)

BERT 类模型选择了 Encoder 架构。它拥有双向视野(Bidirectional Context),能同时看到上下文。为了训练它,我们不能让它预测下一个词(因为那会直接看到答案),而是设计了 Masked LM(掩码语言模型) 任务。

  • 训练策略:BERT 随机遮挡 15% 的词。为了防止模型“偷懒”或与现实脱节,它采用了精妙的 80-10-10 策略:80% 替换为 [MASK],10% 替换为随机词(训练纠错能力),10% 保持不变(训练对真实输入的判断力)。
  • 输入设计:BERT 的输入不仅仅是词向量,还叠加了 Segment Embeddings(区分句子)和 Position Embeddings(标记位置),展现了精密的工程设计。
  • 局限:BERT 是理解的王者,但它是“判别式”的。由于它依赖双向视野,它并不擅长像人类说话那样从左到右流畅地生成文本。

2. 故事接龙的王者:Decoder (GPT)

GPT 类模型选择了 Decoder 架构。它只能看到上文,任务是预测下一个词(Language Modeling)。这种 Autoregressive(自回归) 的特性让它天生就是生成的王者,虽然在理解深度上可能略逊于双向的 BERT,但其生成能力在大规模数据下展现了惊人的涌现效应。

四、 站在巨人的肩膀上:从微调到高效微调

现代 NLP 的标准范式已经确立为:Pretrain + Finetune

  • 预训练 (Pretrain) :在海量数据上让模型学习通用的语言知识(语法、常识)。
  • 微调 (Finetune) :在特定任务数据上进行少量训练。从数学上看,预训练将参数带到了一个极佳的初始点 θ^\hat{\theta},在这里,梯度传播顺畅,且距离特定任务的最优解非常近。

而随着模型越来越大,连微调所有参数都变得昂贵。于是,Parameter-Efficient Finetuning (PEFT) 应运而生。例如 Prefix-Tuning,它冻结了巨大的预训练模型,只在输入端添加一小段可学习的“前缀向量”(Prefix)。这就像给模型发了一张“作弊小纸条”,仅仅通过调整输入提示,就让冻结的巨型大脑瞬间适应了新任务。

结语

从 CS224n 的这节课中,我们清晰地看到了 NLP 发展的脉络:

我们不再试图教机器每一个单词的定义(Word2Vec),也不再为每个任务从零训练大脑(Random Initialization)。相反,我们构建了巨大的、通用的预训练模型,教会它们通过“填空”和“接龙”来理解世界的运行逻辑。

这就是为什么今天的 AI 能够理解玩笑、能够编写代码、能够与我们从容对话的原因。我们正处于一个从“专用工具”向“通用智能”跨越的伟大时代。