【大厂AI实践】腾讯:QQ浏览器搜索中的智能问答技术
🌟 嗨,你好,我是 青松 !
🌈 自小刺头深草里,而今渐觉出蓬蒿。
NLP Github 项目推荐:
-
【AI 藏经阁】:https://gitee.com/fasterai/ai-e-book
介绍:该仓库主要分享了数百本 AI 领域电子书
-
【AI 算法面经】:fasterai/nlp-interview-handbook#面经
介绍:该仓库一网打尽互联网大厂NLP算法面经,算法求职必备神器
-
【大模型(LLMs)面试笔记】:https://gitee.com/fasterai/nlp-interview-handbook
介绍:该仓库汇总了 NLP 算法工程师高频面题,适合大模型初学者和正在准备面试的小伙伴希望能帮助各位同学缩短面试准备时间,不错过金三银四涨薪窗口,迅速收获心仪的Offer 🎉🎉🎉
文章目录
- 大模型(LLMs)高频面题全面整理(🌟2025 Offer 必备🌟)
- 一、大模型进阶面
- 二、大模型微调面
- 三、大模型(LLMs)基础面
- 四、NLP 任务实战面
- 五、NLP 基础面
- [💯 分词(Tokenizer)篇](https://t.zsxq.com/YmHO4)
- [💯 词嵌入(Word2Vec)篇](https://t.zsxq.com/YmHO4)
- [💯 卷积神经网络(CNN)篇](https://t.zsxq.com/YmHO4)
- [💯 循环神经网络(RNN)篇](https://t.zsxq.com/YmHO4)
- 💯 长短期记忆网络(LSTM)篇
- [💯 BERT 模型篇](https://t.zsxq.com/YmHO4)
- [💯 BERT 变体篇](https://t.zsxq.com/YmHO4)
- [💯 BERT 实战篇](https://t.zsxq.com/YmHO4)
- 六、深度学习面
导读:智能问答是人工智能领域中一个比较受关注的方向,目前广泛应用于各种垂直或综合的搜索引擎、智能客服、智能助手以及智能手机、车载音箱等。本次分享的主题是QQ浏览器搜索中的智能问答技术,主要分为以下几个部分:
1.背景介绍
- 智能问答在搜索中的应用
- 搜索中的Top1问答
2.关键技术
- 搜索问答的技术框架
- KBQA:基于知识图谱的问答
- DeepQA:基于搜索+机器阅读理解的问答
3.前沿研究
- 端到端问答
- 知识指导的问答
- 多模态问答
01 背景介绍
1. 问答在搜索中的应用
问答的核心是通过理解语言和运用知识来进行提问和回答。从应用角度看,由于人类有获取信息的需求和旺盛的好奇心,问答的场景无处不在;从研究角度看,问答是认知智能的前沿之一。
问答在搜索场景的应用可以分为两类。一类是满足用户的直接搜索需求,即在搜索结果页给用户提供精准的答案,例如Top1问答卡片。另一类是通过问答的方式与用户交互,来帮助用户澄清、细化和延伸需求,例如推荐和对话形式的问答。
2. 搜索中的Top1问答
下图展示了QQ浏览器搜索中Top1问答的一些产品形态,包括短答案、长答案、列表答案、视频答案、集合和图片答案。
02 关键技术
1. 搜索问答技术与系统
搜索中问答的明确需求占比接近1/4。这些问题不限领域,不限类型,一般可分成事实类和非事实类。搜索中问答的数据源是多种多样的。从资源类型上看,包括网页、UGC(用户生产内容,如社区问答)和PGC(专业生产内容,例如自媒体号)。从文本的组织形态上来讲,数据可以分成结构化、半结构化和无结构化三种。结构化的数据具有一定约束,以知识图谱为代表;半结构化数据的典型代表是开放生态构建或者从社区问答抽取的具有一定格式的问答对数据;无结构化数据广泛存在,例如普通的网页文本。
搜索中的问答技术主要分为KBQA和DeepQA。
KBQA指基于知识图谱的问答,面向的是结构化数据,底层是离线构建的知识图谱,在线通过问题解析、图谱查询和推理得到答案,主要适用于事实类问题。
DeepQA是一系列基于搜索和机器阅读理解(MRC)的问答技术,可以处理更广泛的非结构化数据,基于离线问答内容构建和理解,在线通过搜索获得候选文档、使用机器阅读理解技术来抽取答案,能解决更多问题需求类型。在实际应用中,针对不同类型的数据,我们构建了三套DeepQA系统,分别是优质问答数据源上的独立检索系统、全网搜索结合在线MRC的通用问答系统、以及端到端问答系统。
下图右侧展示的是搜索问答系统的整体架构。离线部分是问答内容的构建和理解,比如对专业生产内容做质量和权威性分析、从全网数据中进行问答对的挖掘和选取等;数据源包括网页库、优质问答库和知识图谱;在线部分包括搜索问答结果的召回和排序、段落匹配和答案抽取、知识图谱检索和推理计算等,以及问答融合决策从多源结果中决定最终展现给用户的答案。
2. KBQA:基于知识图谱的问答系统
图谱问答系统的数据依据不同实体更新的要求分为三路,数据通过直接的三元组索引查询或者图数据库存储检索系统应用。
在线图谱问答的流水线之一是语义解析的方法,系统先对查询进行领域分类以装配不同类型的处理流程(例如汉语诗词类、单实体类、多实体关系类),然后对查询进行语法树分析和形式逻辑规约,在三元组中递归查询和拼装得到最终答案。该方法的优点是支持一些复杂的查询推理,且在规则适用的范畴内准确率较高。另一种流水线是基于深度学习的方法,系统首先识别出具有问答意图的查询,然后通过深度模型识别查询问题中的实体,对实体属性和查询表达进行深度语义匹配映射,计算出候选结果并进行清洗和排序得到答案。该方法的优点是对查询语义理解较好,泛化性强,召回率较高。
3. DeepQA:基于搜索+机器阅读理解的问答系统
下面主要围绕DeepQA相关工作展开介绍。
早期的DeepQA系统具有非常复杂的流水线,例如IBM的Waston,以及2017年第一版“立知“问答。系统包括多个数据挖掘和机器学习模块,在问题分析、答案候选的特征抽取、评分排序等诸多环节都可能有错误的传播和积累,可扩展性不强。2017年以后,斯坦福的陈丹琦等人提出了一个面向规模文档集的开放域问答系统——DrQA,系统定义了一种新的开放域问答实现方式,即通过检索和深度机器阅读理解(MRC)产生答案。在SQuAD等公开数据集和评测的推动下,深度机器阅读理解发展迅速,在查询和文档语义建模、上下文信息交互建模、答案抽取和预测方式建模上都不断涌现新的方法,2019年机器阅读理解系统甚至在事实类问答上超过了人类水平。
然而在真实的搜索场景中,DeepQA仍然面临着很多挑战。首先是用户的需求纷繁复杂,表达方式也千差万别,而互联网数据规模巨大,需求检索匹配的难度很大。其次是网页数据多种多样,页面类型和格式繁多、质量参差、答案的形式不一,机器阅读理解面临较大的挑战。
下面介绍一些应对搜索场景的问题我们所做的工作。
(1)短答案MRC
短答案MRC任务的定义是从搜索结果的多个文档中抽取唯一的答案片段,并提供支持答案的文本来源。这个任务会面临以下一些挑战:
①搜索结果噪声过多
噪声包括不相关结果、不一致答案等。短答案抽取模型是一个多文档段落抽取的模型,我们将搜索排名topN(常用N=10)的文档段落输入到BERT中进行表示建模,然后预测段落中答案的起始位置。为了解决输入文档不相关的问题,我们将“答案存在性判别”和“答案起止位置预测”两个目标进行联合训练;为了应对各文档的答案不一致问题,我们加入了多文档交互,将多个文档中包含答案概率最大的片段拼接起来进行建模,信息融合之后再预测文档包含答案的概率。
②答案出现常识性错误
常识性错误即模型输出无意义答案,例如边界错误、答案类型错误。我们的做法是引入一些外部知识,例如百科、知识图谱等,给候选文档中符合答案类型的实体打上特殊的标记,在建模过程中加强对它们的关注。
③鲁棒性问题
这里鲁棒性问题指的是由于过拟合导致模型输出不稳定。Dropout是一种有效的减少过拟合的方式,但它的缺点是不能保持输出的一致性。我们应用了R-Drop,通过将Dropout作用于输出层,降低了训练和测试的不一致性,同时引入对称KL散度作为正则项,增强了输出的稳定性。在实验过程中,我们发现对输出层使用两次dropout效果较好。此外我们还对训练数据进行了同语义问题的数据增强,加入相同语义query下的段落输出部分的KL-Loss,增强了模型的稳定性。
④答案归一化和多span问题
在抽取式阅读理解中,由于多文档表述的不一致,往往会遇到答案归一化的问题,比如“安全带使用期限是几年”的问题答案可能有“3到5年”、“3年至5年等”;而且还有答案并不是连续判断,比如“沉鱼落雁指的是谁”这个问题中,答案可能对应文档中两个片段(span)。为了解决上述问题,我们尝试用生成式阅读理解方法,以Fusion-in-Decoder(FiD)为例,将检索得到的多文档分别进行编码表示,拼接起来输入到decoder生成统一的答案。
实践中利用大规模点击日志文档生成查询进行预训练,利用短答案日志构建大量弱监督数据进行自训练,有效提升了生成式阅读理解的效果。由于生成模型输出的答案得分其实是语言模型的困惑度,不能很好地刻画答案本身的置信度,我们训练了一个生成答案的置信度预测模型,对答案输出进行决策。
(2)长答案MRC
相比短答案,长答案MRC受到的研究关注相对较少,一方面因为问题更加复杂,数据集稀缺,另一方面因为长答案在内容和表达方式上有不确定性,评价起来也相对较难。
搜索场景中长答案和短答案主要有以下几个方面的差异:
①长答案MRC-组合式问答
针对长答案包含信息量大、不连续的特点,我们提出了一种“组合式问答”的任务形式:从搜索结果的单个文档中抽取出一组片段来合成精选摘要答案。任务输入为给定问题和文档的完整片段组合,输出为答案片段组合。评价方式为片段预测的F1和人工评价相结合。
组合式问答模型的整体框架基于BERT,输入是问题和进行了启发式分句的文档句子序列,输出是每个句子是否是答案的概率。我们引入了两个非常有用的设计。
第一个是引入页面的结构信息。由于网页的HTML能够一定程度上反映页面结构、文本关联以及展示内容的重要度等特征,我们选择了部分网页标签作为符号输入到模型中。
第二个是引入针对性的预训练任务。—般预训练都是建模句子级别的关系,没有有效挖掘文档结构的信息;我们引入了两类相关的预训练任务,一类是问题选择(QS),即随机替换一个问题并预测;另一类是节点选择(NS),可以对句子和符号进行随机替换或打乱顺序。这样的预训练任务可以让模型更深刻地理解问题和长文本的内容。
由于文档具有层级结构,一个自然的想法是利用图网络来建模。我们尝试在模型输出侧增加图网络,将句子中词的连接、句子之间的连接以及问题和句子的连接用图结构表示并通过Attention Mask实现,实验表明加入层次结构信息的效果提升明显。
长答案阅读理解中同样可以采用短答案阅读理解类似的思路:(1)同时预测文档可答概率和答案句子概率;(2)引入门机制学习文档和句子的关系;(3)使用R-drop提升鲁棒性。
我们发现模型对问题的理解仍然不够充分。举一个极端的例子:当不输入问题,直接针对文档预测长答案,模型仍然能够达到一定的抽取效果。说明阅读理解模型输出的答案受到文档本身的影响较大,而对问题的关注不够。为了解决这个问题,我们做了一些数据样本增强和对抗的工作。一方面通过主动学习不断优化训练数据,让模型学习到更多不会的能力,另一方面通过点击日志挖掘同一个文档下语义相同或不同的query。由于同一个文档中的不同部分可以回答不同的问题,这样可以让模型更关注问题相关的信息,而不是文档本身。
(3)长答案MRC-判断类观点问答
对于判断类观点问答任务,考虑到用户不会仅仅满足于论断,而会更关心论据,我们设计了一个模型,首先抽取能够回答问题的长答案,即论据,然后根据该论据做论断的分类,产生一个短答案。
模型的整体结构是基于长答案模型结构的改进,在抽取长答案的同时,将query、title和长答案抽取过程中最高概率答案句拼接起来输入判断模块。通过论据抽取和论点分类两个目标的联合学习,模型可以解决短答案抽取无法解决的问题。比如在下图的例子中,对于“把兔子关在笼子里好吗”这个问题,短答案抽取并不能直接抽取出“好”或者“不好”的答案片段,而通过分类可以知道它是一个否定的回答。
(4)问答式搜索
DeepQA的一个重要部分是从大规模数据检索出相关候选文档,才能通过阅读理解模型抽取答案。传统搜索更关注相关性,即文档和问题相关,而问答更关注检索结果是否能回答问题,这是问答式搜索和传统搜索的不同。
问答式搜索系统需要一种更细粒度、更精准的语义检索匹配方式。稠密段落检索,即通过深度语义表示学习,从大规模文本中检索出和查询相关的段落,包括自然段、任意句子、词片段。稠密段落检索是稠密向量检索的一种。传统基于关键字词构建的倒排检索(稀疏检索),虽能精确地召回结果,但是会面临比较严重的语义鸿沟问题;而稠密向量检索是解决查询和文档之间语义鸿沟的有效手段,但是从符号到向量的表示过程损失了一定的语义。所以需要对稠密向量表示进行优化,并设计合适的向量检索和语义匹配方法。
问答式搜索也是一个从大规模数据到少量能抽取答案的文档的金字塔式筛选过程。为了提高在线服务效率,在面向海量数据的召回和初排阶段一般使用非交互式匹配模型,待检索到一定规模的相关候选后再采用更精细化也更加耗时的交互式匹配模型。交互式和非交互式匹配模型各有其优缺点,如图所示。
- 稠密段落检索模型
我们选用非交互式异形双塔模型进行稠密段落检索的Query-Passage语义表示学习。通过网页搜索日志和问答对数据可以获取大量的正负样本,从而进行大规模对比学习。
这里介绍一种向量表示的优化方法——Barlow-Twins。通过在训练目标里加上一个相关性去除目标,降低向量表示的冗余性,使得训练出来的向量在空间的分布非常均匀。
负采样方法是对比学习中非常重要的一环,对稠密向量表示效果有很大影响,我们对负采样进行了两个方面的优化:
一个是很多相关工作都会采用的Cross-batch负采样,在多 GPU 并行训练时,将其它 GPU 批次内的全部段落作为当前问题的负样本,极大地增加了负样本数,也使得训练效率得到很大提升。Cross-batch负采样还能缓解训练和推理时负样本分布的不一致性,因为在问答式搜索中,模型需要从大规模数据集中找到相关答案候选,但训练过程见到的查询段落样本通常远小于预测时的候选数据规模,这会导致模型在训练时表现良好而在应用中不够好。
另一个是提升负样本的质量。一方面需要让负样本对模型来说更难,这样能学习到更多的知识。另一方面要尽可能少地引入False Negative样本。我们提出了混合降噪负采样策略:先通过非降噪负采样,例如已有的召回模型(BM25、初始训练的召回模型等)进行Top-K采样,这样得到的样本相对较难,当然也会引入一些False Negative;然后进行降噪负采样,通过训练一个Re-ranker对样本进行筛选,去除实际可能是正例的噪声;两者结合训练,实验证明效果提升非常明显。
- Query-Passage交互匹配模型
召回阶段的核心任务是区分答案相关和不相关的候选,召回之后就需要通过匹配更进一步排序这些候选文档。这里简要介绍一下我们的Query-Passage交互匹配模型。
模型训练主要分三个阶段,首先利用大规模网页数据,包括百科、微信、知乎以及问答点击页面等多样的数据进行预训练;接下来是对比式弱监督训练,通过点击和曝光未点击数据、问答对结合负采样构造正负样本;最后在人工标注的问答匹配数据上进行训练。人工标注的样本有四类标签,分别是完全不相关、相关、能部分回答问题、能完整地很好回答问题。为了进一步提升模型效果,我们还使用了自训练技术,利用人工标注数据训练模型之后,通过该模型进行大量的自动化标注并从中筛选一些高质量标注数据,继续训练原始模型。多次迭代之后,模型的泛化性能会有较大的提升。
03 前沿研究
下面介绍开放域智能问答的一些相关前沿研究和进展。
1. 端到端问答
近年来关于开放域端到端问答的研究如火如荼,下图摘自ACL 2020 Tutorial: Open domain question and answering,对端到端问答系统发展的总结。
第一代端到端问答模型采取两阶段的方式,通过检索器和阅读器串联来进行答案提取,例如DrQA;前面我们所讲的DeepQA系统也是遵循这种范式的设计;第二代的模型为阅读器和检索器联合优化的模型,如R3、DenSPI;第三代的模型不需要检索器,直接通过模型生成答案,如T5、GPT3。
检索器和阅读器的联合优化是一个难点。一种方法是将检索的文档看做隐变量,依靠EM优化语义表示模型和生成模型,即通过阅读器的输出概率作为检索器优化的目标,反过来再基于检索器的输出优化阅读器的输出概率。这样交替进行同时提升阅读器和检索器的效果。我们尝试了一种Hard-EM的方法,直接把预测答案是否包含于检索文档作为硬匹配信号来优化文档检索的过程。如下图所示,通过答案硬匹配文档获得训练三元组<q, d, a>,然后训练FiD答案抽取模型,再利用新的答案抽取模型预测出来的更优质的答案,继续硬匹配和过滤候选文档输入。几轮循环之后答案抽取的EM和F1指标均得到提升。
2. 知识指导的问答
如何在深度模型中引入知识也是问答研究的热点。真实场景中有很多问题需要知识推理,比如“小汽车科目二多少分及格”这个问题,示例的法规文本里没有明确的描述,但是可以根据推理得到答案;“葡萄籽油的食用方法”这个问题,不同答案中包含的“知识点”相互存在冲突和分歧,需要进行知识验证。
知识指导的问答相关工作,有一种是把特定的知识输入到答案抽取模型一起学习,比如K-BERT,把原输入中实体所涉及到的三元组通过软位置编码的方式融合到输入中,从而引入了实体相关的知识。另一类方法是通过知识增强的预训练模型提升下游任务的效果。
QQ浏览器搜索内容技术团队还提出了一种知识增强预训练的方法,该模型引入了三类知识性任务,包括远程关系监督分类、三元组文本mask预测、以及同类实体替换预测,训练过程中将这三类任务和语言模型任务结合在一起训练。为了保证原始模型的参数在训练过程中不会有灾难性遗忘,设计了一个新的知识记忆结构,将原有模型的所有参数固定住,只用这个新的知识记忆矩阵承载上面多任务引入的知识。实验证明知识增强的预训练在很多下游任务上都能够获得一定的提升,尤其是在上下文不充分的短文本任务上。
3. 多模态问答
当前越来越多的优质内容以视频形式存在,从文本答案到视频答案也是一个大的趋势。基于视频载体的问答需要对视频内容进行感知分析+语义分析,进而通过显示/隐式的语义表示和计算(检索、匹配、阅读、生成)得到视频化的答案。
我们现在做的一个比较初步的工作是利用视频的语音和字幕进行视频文本化,然后通过阅读理解结合文本生成的技术进行视频答案摘要,通过文本生成和字幕时间匹配,还能得到视频分段以及关键帧标签。右图是我们在视频问答做出来的短答案摘要的效果,相对于文本答案可以给用户提供更多便捷性的帮助。未来还有更多基于多模态内容的问答研究值得探索。
04 Q&A
Q1:针对用户的query,KBQA和DeepQA的执行顺序是什么?
A1:两者是同步进行的,最后根据答案产生的情况做决策。DeepQA这边还会有一个问题分类的模块,判断问题的答案是短答案还是长答案。所以底层是多个系统的并行,包括KBQA系统、短答案系统和长答案系统。
Q2:自己尝试后发现DeepQA的响应非常慢,工业应用中通过什么方式来提高问答响应的速度?
A2:响应的速度分为两个方面,检索模块和阅读理解模块的响应。需要看这两部分分别耗时,也需要分别优化。检索模块往往会通过分层筛选的方式来限制输入文本的数量。计算越复杂的模块,输入文本数量越少。召回阶段我们采用非交互式模型快速获得相关文本,排序阶段再使用更复杂的交互式模型进行少量精细化计算。最后阅读理解模块的文本输入相对更少了,目前只针对Top10结果去做计算。以上是系统层面的优化。
具体到模型优化的话,可能就会需要具体看输入的文本长度、模型复杂度,模型所使用的推理系统,推理器和硬件的匹配情况等。最主要的是需要去分析响应时间慢的瓶颈的问题,然后再针对性解决。
Q3:针对用户的query也会有拼写纠错的处理,什么时候会触发这个处理?怎么处理?
A3:纠错不是问答独有的问题,是整个搜索系统面临的问题。在搜索的最开始也就是查询分析的模块,不仅有纠错,还有查询的分词,查询重要度的分析,查询词之间的关系分析等。纠错往往是搜索前置的模块,纠错之后的处理也会有不同,比如对置信度非常高的纠错,可以直接修改查询。系统更保险的做法是触发二次查询,也就是将原词的搜索结果和纠错后的搜索结果同时拿到,然后再根据结果的反馈综合决策。
今天的分享就到这里,谢谢大家。
分享嘉宾:姚婷 腾讯 专家研究员
本文配套PPT:https://pan.baidu.com/s/1PZjA7m
大模型(LLMs)高频面题全面整理(🌟2025 Offer 必备🌟)
全面总结了【大模型面试】的高频面题和答案解析,答案尽量保证通俗易懂且有一定深度。
适合大模型初学者和正在准备面试的小伙伴。
希望也能帮助你快速完成面试准备,先人一步顺利拿到高薪 Offer 🎉🎉🎉
一、大模型进阶面
💯 DeepSeek篇
【大模型进阶面 之 DeepSeek篇】 你必须要会的高频面题 查看答案
- 一、概念篇
- 二、模型结构篇
- 三、预训练篇
- **四、有监督微调篇
- 五、强化学习篇
💯 大模型编辑篇
【大模型进阶面 之 模型魔改篇】 你必须要会的高频面题 查看答案
- 模型编辑(Model Editing)核心目标是什么?
- 对比重新预训练和微调,模型编辑的优势和适用场景是什么?
- 如何用模型编辑修正大语言模型中的知识错误?
- 如何量化评估模型编辑的五大性质?
- 模型编辑局部性如何避免“牵一发而动全身”的问题?
- 知识缓存法(如SERAC)的工作原理是什么?
- 附加参数法(如T-Patcher)如何在不改变原始模型架构的情况下实现编辑?
- 知识缓存法和附加参数法的优缺点有何优缺点?
- ROME方法如何通过因果跟踪实验定位知识存储位置?
- 元学习法(如MEND)如何实现“学习如何编辑”?
- 元学习法的双层优化框架如何设计?
- More …
💯 大模型压缩篇
【大模型进阶面 之 模型压缩篇】 你必须要会的高频面题 查看答案
- 💯 为什么需要对大模型进行压缩和加速?
- 💯 什么是低秩分解?
- 💯 什么是奇异值分解(SVD)?
- 💯 权值共享为什么有效?
- 💯 什么是模型量化?
- 💯 什么是混合精度分解?
- 💯 什么是基于反馈的知识蒸馏?
- 💯 什么是基于特征的知识蒸馏?
- 💯 模型蒸馏的损失函数是什么?
- 💯 描述一下剪枝的基本步骤?
- More …
💯 分布式训练篇
【大模型进阶面 之 分布式训练篇】 你必须要会的高频面题 查看答案
- PS架构和Ring-AllReduce架构有何不同?
- 什么是张量并行,如何使用集群计算超大矩阵?
- 讲一讲谷歌的GPipe算法?
- 讲一讲微软的PipeDream算法?
- ZeRO1、ZeRO2、ZeRO3分别做了哪些优化?
- 用DeepSpeed进行训练时主要配置哪些参数?
- More …
二、大模型微调面
💯 有监督微调(SFT)篇
【大模型微调面 之 SFT篇】 你必须要会的高频面题 查看答案
- 💯 从零训练一个大模型有哪几个核心步骤?
- 💯 为什么要对LLM做有监督微调(SFT)?
- 💯 如何将一个基础模型训练成一个行业模型?
- 💯 如何准备SFT阶段的训练数据?
- 💯 如何自动生成指令构建SFT的训练数据?
- 💯 LM做有监督微调(SFT)变傻了怎么办?
- 💯 有监督微调(SFT)和人工偏好对齐(RLHF)有何区别?
- More …
💯 高效微调篇
【大模型微调面 之 PEFT篇】 你必须要会的高频面题 查看答案
- 💯 全量微调与参数高效微调的区别是什么?
- 💯 什么是轻度微调?轻度微调有哪些常用方法?
- 💯 什么是BitFit微调?
- 💯 分层微调如何设置学习率?
- 💯 什么是适配器微调?适配器微调有哪些优势?
- 💯 讲一讲IA3微调?
- 💯 提示学习(Prompting) 代表方法有哪些?
- 💯 指令微调(Instruct-tuning) 和 提示学习(Prompting)的区别是什么?
- 💯 详细说明LoRA的工作原理及其优势?
- 💯 LoRA存在低秩瓶颈问题,ReLoRA和AdaLoRA分别通过哪些方法改进?
- 💯 动态秩分配(如AdaLoRA)如何根据层的重要性调整秩?
- More …
💯 提示学习篇
【大模型微调面 之 提示学习篇】 你必须要会的高频面题 查看答案
- 💯 提示学习(Prompting) 代表方法有哪些?
- 💯 前缀微调(Prefix-tining)的核心思想?
- 💯 提示微调(Prompt-tuning)的核心思想?
- 💯 P-tuning 的动机是什么?
- 💯 P-tuning v2 进行了哪些改进?
- 💯 提示微调(Prompt-tuning)与 Prefix-tuning 区别是什么?
- 💯 提示微调(Prompt-tuning)与 fine-tuning 区别是什么?
- More …
💯 人类对齐训练(RLHF)篇
【大模型微调面 之 RLHF篇】 你必须要会的高频面题 查看答案
- 💯 RLHF有哪几个核心流程?
- 💯 RLHF与SFT的本质区别是什么?为什么不能只用SFT?
- 💯 什么是人类偏好对齐中的"对齐税"(Alignment Tax)?如何缓解?
- 💯 在强化学习中,基于值函数的和基于策略的的优化方法有何区别?
- 💯 什么是近端策略优化(PPO)?
- 💯 RLHF中的PPO主要分哪些步骤?
- 💯 PPO中的重要性采样(Importance Sampling)如何修正策略差异?
- 💯 DPO如何通过隐式奖励建模规避强化学习阶段?
- 💯 DPO vs PPO:训练效率与性能上限的对比分析?
- 💯 RLHF训练数据的格式是什么样的?
- 💯 如何选择人类偏好对齐训练算法?
- More …
💯 Prompt 工程篇
【大模型微调面 之 提示工程篇】 你必须要会的高频面题 查看答案
- 💯 Prompt工程与传统微调的区别是什么?
- 💯 如何规范编写Prompt?
- 💯 上下文学习三种形式(零样本、单样本、少样本)的区别?
- 💯 如何通过预训练数据分布和模型规模优化上下文学习效果?
- 💯 思维链(CoT)的核心思想是什么?
- 💯 按部就班(如 Zero-Shot CoT、Auto-CoT)、三思后行(如 ToT、GoT)、集思广益(如 Self-Consistency)三种 CoT 模式有何异同?
- More …
三、大模型(LLMs)基础面
💯 大模型(LLMs)架构篇
【大模型基础面 之 LLM架构篇】 你必须要会的高频面题 查看答案
- 💯 LLM架构对Transformer都有哪些优化?
- 💯 什么是正弦(Sinusoidal)位置编码?
- 💯 什么是旋转位置编码(RoPE)?
- 💯 RoPE相对正弦位置编码有哪些优势?
- 💯 RoPE如何进行外推?
- 💯 如何进行位置线性内插(Position Interpolation)?
- 💯 NTK-Aware Scaled RoPE 和位置线性内插的区别是什么?
- 💯 PreNorm和PostNorm有何不同?
- 💯 为什么PreNorm通常能提升训练稳定性?
- 💯 为何使用 RMSNorm 代替 LayerNorm?
- 💯 LLM使用SwiGLU相对于ReLU有什么好处?
- 💯 SwiGLU的参数量是否会显著增加?如何优化?
- More …
💯 注意力机制(Attention)篇
【大模型基础面 之 注意力机制篇】 你必须要会的高频面题 查看答案
- 💯 为什么要引入 Attention 机制?
- 💯 Soft Attention 是什么?
- 💯 Hard Attention 是什么?
- 💯 Self-Attention 是什么?
- 💯 多查询注意力(Multi-Query Attention)是什么?
- 💯 分组查询注意力(Grouped Query Attention)是什么?
- 💯 分页注意力(Paged Attention)是什么?
- 💯 闪存注意力(Flash Attention)是什么?
- More …
💯 Transformer 理论篇
【大模型基础面 之 提示工程Transformer篇】 你必须要会的高频面题 查看答案
- 💯 Transformer 整体结构是怎么样的?
- 💯 Transformer的输入中为什么要添加位置编码?
- 💯 Transformer的位置编码是如何计算的?
- 💯 Position encoding为什么选择相加而不是拼接呢?
- 💯 多头注意力相对于单头注意力有什么优势?
- 💯 Transformer中自注意力模块的计算过程?
- 💯 什么是缩放点积注意力,为什么要除以根号d_k?
- 💯 批归一化和层归一化的区别?
- 💯 Layer Normalization 有哪几个可训练参数?
- 💯 Transformer 中有几种 Mask?
- More …
四、NLP 任务实战面
💯 文本分类篇
【NLP 任务实战面 之 文本分类篇】 你必须要会的高频面题 查看答案
- 如何用检索的方式做文本分类?
- 如何用Prompt的方式做文本分类?
- 使用LLM做文本分类任务为何需要做标签词映射(Verbalizer)?
- 文本分类任务中有哪些难点?
- 如何解决样本不均衡的问题?
- 如果类别会变化如何设计文本分类架构?
- More …
💯 命名实体识别(NER)篇
【NLP 任务实战面 之 实体识别篇】 你必须要会的高频面题 查看答案
- 实体识别中有哪些难点?
- CRF为什么比Softmax更适合NER?
- 如何使用指针标注方式做NER任务?
- 如何使用多头标注方式做NER任务?
- 如何使用片段排列方式做NER任务?
- 实体识别有哪些常用的解码方式?
- 如何解决实体嵌套问题?
- 实体识别的数据是如何进行标注的?
- 如何解决超长实体识别问题?
- More …
💯 关系抽取篇
【NLP 任务实战面 之 关系抽取篇】 你必须要会的高频面题 查看答案
- 常见关系抽取流程的步骤是怎样的?
- 如何抽取重叠关系和复杂关系?
- 介绍下基于共享参数的联合抽取方法?
- 介绍下基于联合解码的联合抽取方法?
- 关系抽取的端到端方法和流水线方法各有什么优缺点?
- 在进行跨句子甚至跨段落的关系抽取时,会遇到哪些特有的挑战?
💯 检索增强生成(RAG)篇
【NLP 任务实战面 之 RAG篇】 你必须要会的高频面题 查看答案
- 用户问题总是召回不准确,在用户理解阶段可以做哪些优化?
- 文档问答中,如何构建索引,提升对用户问题的泛化能力?
- 如何合并多路检索的结果,对它们做排序?
- BM25检索器总是召回无关的知识,最可能的原因是什么?
- 如何构建重排序模型的微调数据?
- More …
五、NLP 基础面
💯 分词(Tokenizer)篇
【NLP 基础面 之 分词篇】 你必须要会的高频面题 查看答案
💯 词嵌入(Word2Vec)篇
【NLP 基础面 之 词嵌入篇】 你必须要会的高频面题 查看答案
- 基于计数的表示方法存在哪些问题?
- CBOW 和 Skip-gram 哪个模型的词嵌入更好?
- Word2Vec的词向量存在哪些问题?
- 为什么说Word2vec的词向量是静态的?
- Word2Vec如何优化从中间层到输出层的计算?
- 负采样方法的关键思想的关键思想是什么?
- More …
💯 卷积神经网络(CNN)篇
【NLP 基础面 之 CNN篇】 你必须要会的高频面题 查看答案
💯 循环神经网络(RNN)篇
【NLP 基础面 之 RNN篇】 你必须要会的高频面题 查看答案
💯 长短期记忆网络(LSTM)篇
【NLP 基础面 之 LSTM篇】 你必须要会的高频面题 查看答案
- LSTM 如何缓解 RNN 梯度消失的问题?
- LSTM中记忆单元的作用是什么?
- LSTM有几个门,分别起什么作用?
- LSTM的前向计算如何进行加速?
- LSTM中的tanh和sigmoid分别用在什么地方?为什么?
- More …
💯 BERT 模型篇
【NLP 基础面 之 BERT模型篇】 你必须要会的高频面题 查看答案
- 为什么说BERT是双向的编码语言模型?
- BERT 是如何区分一词多义的?
- BERT的输入包含哪几种嵌入?
- BERT的三个Embedding直接相加会对语义有影响吗?
- BERT模型输入长度超过512如何解决?
- 什么是 80-10-10 规则,它解决了什么问题?
- BERT 嵌入与 Word2Vec 嵌入有何不同?
- More …
💯 BERT 变体篇
【NLP 基础面 之 BERT变体篇】 你必须要会的高频面题 查看答案
- ALBERT 使用的参数缩减技术是什么?
- RoBERTa 与 BERT 有什么不同?
- 在 ELECTRA 中,什么是替换标记检测任务?
- 如何在 SpanBERT 中掩盖标记?
- Transformer-XL 是怎么实现对长文本建模的?
- More …
💯 BERT 实战篇
【NLP 基础面 之 BERT实战篇】 你必须要会的高频面题 查看答案
- BERT为什么不适用于自然语言生成任务(NLG)?
- 在问答任务中,如何计算答案的起始索引和结束索引?
- 如何将 BERT 应用于命名实体识别任务?
- 如何进行继续预训练?
- Bert 未登录词如何处理?
- BERT在输入层如何引入额外特征?
- More …
六、深度学习面
💯 激活函数篇
【深度学习面 之 激活函数篇】 你必须要会的高频面题 查看答案
- 💯 为什么激活函数需要非线性函数?
- 💯 sigmoid 函数有什么缺点?
- 💯 tanh 函数作为激活函数有什么缺点?
- 💯 为什么选 relu 函数作为激活函数?
- 💯 为什么tanh收敛速度比sigmoid快?
- 💯 LLM使用SwiGLU相对于ReLU有什么好处?
- 💯 SwiGLU的参数量是否会显著增加?如何优化?
- More …
💯 优化器篇
【深度学习面 之 优化器篇】 你必须要会的高频面题 查看答案
- 💯 SGD是如何实现的?
- 💯 Momentum 是什么?
- 💯 Adagrad 是什么?
- 💯 RMSProp是什么?
- 💯 Adam 是什么?
- 💯 批量梯度下降(BGD)、随机梯度下降(SGD)与小批量随机梯度下降(Mini-Batch GD)的区别?
- More …
💯 正则化篇
【深度学习面 之 正则化篇】 你必须要会的高频面题 查看答案
- 💯 权重衰减的目的?
- 💯 L1 与 L2 的异同?
- 💯 为什么 L1 正则化 可以产生稀疏值,而 L2 不会?
- 💯 为什么Dropout可以解决过拟合问题?
- 💯 Dropout 在训练和测试阶段的区别是什么?
- 💯 如何选择合适的 Dropout 率?
- 💯 Dropout 和其他正则化方法(如 L1、L2 正则化)有何不同?
- More …
💯 归一化篇
【深度学习面 之 归一化篇】 你必须要会的高频面题 查看答案
- 💯 为什么归一化能提高求最优解速度?
- 💯 Batch Normalization 是什么?
- 💯 Layer Normalization 是什么?
- 💯 批归一化和组归一化的比较?
- 💯 批归一化和权重归一化的比较?
- 💯 批归一化和层归一化的比较?
- More …
💯 参数初始化篇
【深度学习面 之 参数初始化篇】 你必须要会的高频面题 查看答案
💯 过拟合篇
【深度学习面 之 过拟合篇】 你必须要会的高频面题 查看答案
💯 集成学习篇
【深度学习面 之 集成学习篇】 你必须要会的高频面题 查看答案
- 集成学习与传统单一模型相比有哪些本质区别?
- GBDT与 XGBoost 的核心差异是什么?
- 为什么XGBoost要引入二阶泰勒展开?对模型性能有何影响?
- Bagging的并行训练机制如何提升模型稳定性?
- 对比Bagging与Dropout在神经网络中的异同?
- Stacking中为什么要用K折预测生成元特征?
- 如何避免Stacking中信息泄露问题?
- 对比Boosting/Bagging/Stacking三大范式的核心差异(目标、训练方式、基学习器关系)?
- More …
💯 模型评估篇
【深度学习面 之 模型评估篇】 你必须要会的高频面题 查看答案
- 💯 混淆矩阵有何作用?
- 💯 什么是 F1-Score?
- 💯 什么是 Macro F1?
- 💯 什么是 Micro F1?
- 💯 什么是 Weight F1?
- 💯 Macro 和 Micro 有什么区别?
- 💯 ROC 曲线主要有什么作用?
- 💯 P-R 曲线有何作用?
- More …