大家好,今天我总结了 100 道 NLP 高频面试题,分享给大家。
内容包含从 NLP 的基础模型到最热门的大模型,详情如下:
TF-IDF 和 机器学习
从零开始编写 TF-IDF。
什么是 TF-IDF 中的归一化?
为什么在现代需要了解 TF-IDF?如何在复杂模型中使用它?
解释朴素贝叶斯的工作原理。它可以用于什么?
支持向量机(SVM)为什么容易过拟合?
解释文本预处理的可能方法(词形还原和词干提取)。你知道哪些算法,在什么情况下使用它们?
你知道哪些文本相似性度量?
解释余弦相似度和余弦距离的区别。哪一个值可以为负?你会如何使用它们?
度量指标
用简单的词解释准确率和召回率,如果没有F1分数你会关注什么?
在什么情况下会观察到特异性变化?
什么时候看宏观,什么时候看微观指标?为什么会有加权指标?
什么是困惑度?我们可以用它来考虑什么?
什么是 BLEU 指标?
解释不同类型 ROUGE 指标的区别?
BLUE 和 ROUGE 有什么区别?
Word2Vec
解释 Word2Vec 的学习方式?损失函数是什么?什么被最大化?
你知道哪些获取嵌入的方法?什么时候各自更好?
静态嵌入和上下文嵌入有什么区别?
你知道哪两种主要的架构,哪种学习更快?
Glove、ELMO、FastText和Word2Vec有什么区别?
什么是负采样,为什么需要它?你还知道哪些Word2Vec的技巧,如何应用它们?
什么是稠密和稀疏嵌入?提供例子。
为什么嵌入的维度重要?
在短文本数据上训练 Word2Vec 时会出现什么问题,如何解决?
RNN & CNN
在一个简单的单层 RNN 中有多少训练参数?
RNN 训练是如何进行的?
RNN 中存在什么问题?
你知道哪些类型的RNN网络?解释 GRU 和 LSTM 的区别?
我们可以在这些网络中调整什么参数?(堆叠,层数)
RNN 中的梯度消失是什么?如何解决这个问题?
为什么在 NLP 中使用卷积神经网络(CNN),如何使用?如何在注意力范式中比较CNN?
注意力和 Transformer 架构
如何计算注意力?
注意力的复杂性?与RNN的复杂性比较。
比较RNN和注意力。在什么情况下使用注意力,什么时候使用RNN?
从零开始编写注意力。
解释注意力中的掩码。
自注意力矩阵的维度是多少?
BERT和GPT在注意力计算上有什么区别?
Transformer中的嵌入层维度是多少?
为什么嵌入被称为上下文的?它是如何工作的?
Transformer 中使用的是层归一化还是批归一化,为什么?
为什么 Transformer 有PreNorm和PostNorm?
解释软和硬(局部/全局)注意力的区别?
解释多头注意力。
你还知道哪些类型的注意力机制?这些修改的目的是什么?
随着头数的增加,自注意力如何变得更加复杂?
Transformer 模型类型
为什么BERT在很大程度上落后于RoBERTa,你可以从RoBERTa中学到什么?
T5和BART模型是什么?它们有何不同?
什么是任务无关模型?举例说明。
通过比较BERT、GPT和T5解释Transformer模型。
BERT、GPT等模型在知识获取方面存在什么主要问题?如何解决?
在训练和推理过程中,类似GPT的解码器是如何工作的?有何区别?
解释Transformer模型中的头和层的区别。
位置编码
为什么 Transformer 模型的嵌入中位置信息会丢失?
解释位置嵌入的方法及其优缺点。
为什么不能简单地用标记索引来添加嵌入?
为什么不训练位置嵌入?
什么是相对和绝对位置编码?
详细解释旋转位置嵌入的工作原理。
预训练
因果语言建模是如何工作的?
什么时候使用预训练模型?
如何从头开始训练一个Transformer?解释你的流程,在什么情况下会这么做?
除了BERT和GPT,你还知道哪些用于各种预训练任务的模型?
分词器
你知道哪些类型的分词器?比较它们。
你可以扩展一个分词器吗?如果可以,在什么情况下会这样做?什么时候重新训练分词器?添加新标记时需要做什么?
常规标记和特殊标记有什么区别?
为什么 Transformer 中不使用词形还原?为什么需要标记?
分词器是如何训练的?用 WordPiece 和 BPE 的例子解释。
CLS 向量的位置是什么?为什么?
BERT和GPT中分别使用了什么分词器?
现代分词器如何处理超出词汇量的单词?
分词器的词汇量大小会影响什么?在新训练的情况下如何选择?
训练
什么是类别不平衡?如何识别?列举所有解决这个问题的方法。
在推理过程中可以使用dropout吗,为什么?
Adam优化器和AdamW有什么区别?
随着梯度累积的变化,资源消耗如何变化?
如何优化训练期间的资源消耗?
你知道哪些分布式训练的方法?
什么是文本增强?列举你知道的所有方法。
为什么填充(padding)越来越少使用?用什么代替?
解释 warm-up 的工作原理。
解释梯度裁剪的概念?
teacher forcing 是如何工作的,举例说明?
为什么以及如何使用跳跃连接(skip connections)?
什么是适配器(adapters)?在哪些情况下可以使用?
解释度量学习的概念。你知道哪些方法?
推理
softmax 中的温度控制什么?你会设置什么值?
解释生成中的采样类型?top-k、top-p、核采样?
光束搜索的复杂性是什么?它是如何工作的?
什么是句子嵌入?有哪些获取方法?
大模型
LoRA 如何工作?你会如何选择参数?假设我们要微调一个大型语言模型,应用一个小R的LoRA,但模型仍然不适合内存。还能做什么?
前缀调整(prefix tuning)、p-tuning和提示调整(prompt tuning)有什么区别?
解释缩放定律(scaling law)。
解释 LLM 训练的所有阶段。哪些阶段可以省略,在什么情况下?
RAG 是如何工作的?与少样本 KNN 有什么区别?
你知道哪些量化方法?可以微调量化模型吗?
如何防止大型语言模型中的灾难性遗忘?
解释KV缓存、分组查询注意力(Grouped-Query Attention)和多查询注意力(MultiQuery Attention)的工作原理。
解释 MixTral 技术,其优缺点是什么?
Deepspeed 分布式训练是否了解,zero 0-3
技术交流&资料
技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。
成立了算法面试和技术交流群,相关资料、技术交流&答疑,均可加我们的交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。