第四章:自然语言处理面试要点
本章聚焦BERT、、注意力机制三大核心考点,提供结构化回答框架与项目实战模板,帮助你在面试中快速搭建逻辑清晰、层次分明的技术论述。
【面试回答口诀】先定模型类型(编码器/解码器/编码-解码),再说预训练任务(MLM/AR/Seq2Seq),接着讲下游微调适配,最后对比优劣。避免直接背诵参数。
面试问答卡片
问题1:请解释BERT的预训练原理及双向上下文如何实现?
面试官考察点:是否理解MLM与NSP任务设计动机,双向表示的实现细节,与的本质区别。
回答框架:模型地位→MLM随机掩盖+预测→NSP下一句预测→双向注意力(编码器)→应用场景。
示例回答:BERT基于Transformer编码器,通过MLM随机掩盖15%的,用上下文预测被掩盖词,实现双向表示;同时用NSP学习句子关系。训练后在下游任务微调,如文本分类、NER等。它因双向特性,在理解任务上优于。
可能追问:①为什么MLM不能使用100%掩盖?②[CLS]向量除了分类还能做什么?③RoBERTa与BERT的区别?
避坑提醒:不要混淆BERT和的预训练任务;强调BERT是“编码器+MLM+NSP”,而非单向语言模型;避免说“BERT生成文本”。
问题2:系列如何实现自回归文本生成?与BERT的架构差异是什么?
面试官考察点:是否理解因果语言模型、自回归生成流程、Decoder-only架构特点、模型规模演进。
回答框架:模型定位→自回归生成(逐个预测)→因果掩码→训练与推理差异→与BERT对比。
示例回答:使用Transformer Decoder-only架构,通过因果掩码确保每个只能看到前面。预训练任务为自回归语言模型,预测下一个。生成时逐解码,也可通过prompt工程做零样本或少样本任务。相比BERT,更擅长生成,但双向上下文受限。
可能追问:①的In-Context Learning原理是什么?②为什么Decoder-only比Encoder-Decoder更适合缩放?③如何缓解生成重复性问题?
避坑提醒:不要只说“是生成模型”,要明确其自回归本质;注意/3/4在架构上的迭代(如稀疏注意力、多模态);面试中避免过度对比BERT的好坏,而是强调各自适用场景。
问题3:请详细描述自注意力机制的数学计算过程及多头注意力的作用。
面试官考察点:是否掌握QKV计算、缩放因子意义、多头并行机制、复杂度分析、实际应用中的优化。
回答框架:输入投影→计算注意力权重→加权求和→多头拼接→线性变换。
示例回答:自注意力首先将输入X分别乘以W_Q、W_K、W_V得到Q、K、V;计算Q与K的点积并除以√d稳定梯度;经Softmax获得注意力权重后与V加权求和。多头注意力是将Q、K、V拆成h个头独立计算,最后拼接再投影,捕捉不同子空间特征。
可能追问:①为什么点积除以√d?②多头注意力需要多少参数量?③如何处理长序列(如Sparse Attention、Longformer)?
避坑提醒:不要漏掉缩放因子;计算复杂度O(n²)要随口提及;如果被问Cross-Attention,明确区分自注意力和交叉注意力的QKV来源;避免说“多头就是多个注意力层”。
项目案例:大规模预训练语言模型微调与部署
| 项目名称 | 智能文档理解与摘要生成系统 |
| 业务背景 | 企业内部需要从海量PDF合同、报告中自动提取关键信息并生成摘要,提升法务与运营效率。 |
| 规模指标 | 数据量:10万份文档(约5亿);模型参数:1.5B;推理延迟:<500ms/文档;准确率:实体抽取F1=0.92,摘要ROUGE-L=0.45。 |
| 技术栈 | PyTorch + Transformers + Deepspeed ZeRO-3 + ONNX/TensorRT部署 + Milvus向量数据库 |
| 核心难点 | ①长文档截断策略损失信息(采用Hierarchical Attention + 滑动窗口);②微调时灾难性遗忘(使用混合比例训练 + 对抗扰动);③推理速度慢(量化INT8 + KV Cache优化)。 |
| 面试高频追问 | ①如何处理超过模型最大长度的文档?②微调和预训练的数据分布不一致怎么办?③如何设计Prompt让模型输出结构化信息? |
| 可迁移回答话术 | “在项目中我们采用了层级编码方案——将文档分块分别编码后通过Transformer再聚合,同时引入位置嵌入偏移;为了防止微调导致语言能力退化,我们混合了一部分原始预训练语料做联合训练,最终在保持原始能力的同时提升了任务性能。” |
本章要点总结:
- BERT核心:MLM + NSP + 编码器双向
- 核心:自回归 + 因果掩码 + Decoder-only
- 注意力核心:QKV公式 + 多头 + 缩放因子
- 面试公式:确认模型 → 架构/预训练 → 微调应用 → 优缺点对比