本节摘要:NLP 面试题的主线是表示学习的演进:独热与共现统计到分布式词向量,静态表示到上下文相关表示,特征工程到预训练加微调范式。本节按这条线组织高频追问:词向量的机制、注意力为什么接管、微调与提示式方法怎么选。
NLP 题在面试里的节奏近年变化极大:十年前考分词与 TF-IDF,五年前考词向量与注意力,如今考大模型的理解与运用。但追问的内核从未变过——「这个词/这句话被表示成了什么,这个表示好在哪」。本节沿表示学习的因果链把三代技术串成一个连贯的故事,让你面对任何年代感的 NLP 题都有框架可依。
主问题:「词向量为什么能表达语义?训练它和训练分类器有什么不同?」
词向量的哲学基础是分布假说:语义由上下文定义——常出现在相同上下文里的词,语义相近。词向量模型(以 skip-gram 为代表)把这个假说变成一个自监督任务:用中心词预测上下文词(或反向),训练收敛后,隐层权重就是词的稠密表示。它与监督分类器的三点不同:标签是文本自己提供的(下一词或上下文词),不需要人工标注;训练目标是学「表示」而非「判别」,分类头只是训练的脚手架,用完即弃;评估靠相似度任务与下游迁移效果,而不是单看这个代理任务的准确率。
「脚手架」这个比喻值得保留:预训练的代理任务从来不是目的,目的是逼着模型把语义结构编码进参数里。
追问:「从词向量到预训练语言模型,注意力机制解决了什么老问题?」
参考答法接住第 4.3 节的伏笔:RNN 时代的两大痛点——长程依赖的路径太长、训练无法并行——在第 4 章已经解剖过;注意力把任意两词一步连接、整段并行,直接铲平两条痛点。在表示层面它还送了第三份礼物:上下文相关表示。静态词向量里「苹果」只有一个向量,语义歧义(水果还是公司)无从区分;自注意力让每个词的表示由全句上下文动态加权生成,一次编码,多重语义各得其所。「静态到动态」这条线是 NLP 追问里最常考的因果跳跃,务必讲顺。
追问:「现在任务都直接提示大模型了,微调还有存在感吗?」
这是当代 NLP 面试的分水岭题,参考答法按「任务与模型的匹配度」给条件化结论:
# LoRA 的最小思想示例:冻结基座,只训低秩增量 import torch import torch.nn as nn class LoRALinear(nn.Module): def __init__(self, base: nn.Linear, r: int = 8): super().__init__() self.base = base # 基座冻结 for p in self.base.parameters(): p.requires_grad = False self.A = nn.Parameter(torch.randn(base.in_features, r) * 0.01) self.B = nn.Parameter(torch.zeros(r, base.out_features)) # B 初始化为零 def forward(self, x): return self.base(x) + x @ self.A @ self.B # 输出 = 基座 + 低秩增量 # B 初始为零保证训练起点与原模型完全一致,增量从零学起
这段十行的实现就是「参数高效」的全部秘密:把更新量的秩压到远小于原矩阵,可训练参数量跌几个数量级,效果在多数垂直任务上逼近全量微调。
及格:讲清词向量与分布假说的关系;良好:静态到上下文相关表示的演进因果完整,微调与提示能按场景给条件化结论;优秀:LoRA 或检索增强的机制细节可展开,能从「改输入、改参数、改知识源」的分层视角组织答案。NLP 题的当代考法是判断力的压力测试——技术名词人人会背,分层取舍的框架才是稀缺品。
下一节看另一个应用域:视觉。与 NLP 的故事惊人地相似,又有一组自己的专属追问。
问:大模型的幻觉从哪来,能消除吗?
来源有三:训练目标是「像」而非「对」,解码的随机性会放大低置信事实的编造,知识在参数里的存储本就有时效与覆盖缺口。缓解组合拳:检索增强让知识外置可溯源、对齐训练压制编造倾向、输出层做事实校验或引用标注。它是生成式范式的固有代价,目标是管理而非根除。
问:微调会让大模型「变笨」吗?
全量微调在小数据上可能引发灾难性遗忘——旧能力被新任务覆盖。参数高效微调(冻结基座、只训增量)与混合训练数据(新任务掺通用数据)是标准缓解。这也是 LoRA 类方法流行的主要原因之一:不动基座,能力遗忘风险天然低。
问:怎么评估一个 NLP 系统的好坏?
分层:组件级用任务指标(分类看 F1、生成看事实一致性加人工评分),系统级看端到端业务指标,模型升级时看回归测试集防倒退。生成任务的自动指标(重叠类)与人类判断相关性弱,评测集与人工抽检是刚需。
表达纪律:NLP 题主动区分「能力问题」与「工程问题」——前者谈范式,后者谈成本与延迟,混谈会显得没有落地经验。
问:检索增强(RAG)系统的效果瓶颈通常在哪?
检索质量先于生成质量:切分粒度不合理、向量表示不匹配领域、排序不精准,都会让生成端「巧妇难为无米之炊」。排查顺序是先看召回的命中率与排序质量,再看生成端的忠实度。「先检索后生成」的排查顺序是 RAG 工程题的主轴。
问:长文本的上下文窗口是越大越好吗?
窗口变大带来注意力计算的平方成本、「中间内容被忽略」的注意力稀释、以及长依赖训练数据的稀缺。有效上下文长度通常远小于标称窗口——工程上靠检索与摘要把「大窗口」用出「小而准」的效果。