大家好,今天我总结了 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人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。


本文由转载于互联网,如有侵权请联系删除!