AI 快速参考
正在寻找快速解答或 AI 相关主题的快速复习? AI 快速参考拥有您需要的一切——直截了当的解释、实用的解决方案以及对 LLM、向量数据库、RAG 等最新趋势的见解,以增强您的 AI 项目!
- 在 RAG 的上下文中,什么是多步骤检索(或多跳检索)?你能举一个需要这种方法的问题的例子吗?
- 如果知识来源是固定的(例如,维基百科),RAG 评估数据集中可能存在哪些偏差?我们如何在判断性能时考虑到这些偏差?
- 为什么 RAG 生成的答案在 BLEU/ROUGE 上与参考答案相比得分很高,但在实践中仍然被认为是较差的响应?
- 为什么在特定领域的 RAG 应用程序(例如,法律文件或医疗文本)中,在特定领域数据上微调的嵌入模型会优于通用嵌入模型?
- 什么是 RAG 上下文中的幻觉?它与答案中的简单错误或遗漏有何不同?
- 为什么高性能的检索器仍然会导致 LLM 产生幻觉答案?(考虑 LLM 的行为以及它忽略或误解上下文的可能性。)
- 你将如何比较使用较小但高度相关的私有知识库的系统与搜索整个网络等广泛语料库的系统?(考虑答案的准确性、可信度和响应时间。)
- 你将如何评估添加二级检索器(例如,首先使用广泛召回检索,然后使用精确的重新排序器)的好处,而不是仅使用具有调整参数的单级检索器?
- 将元数据过滤器添加到检索查询(例如,仅从某些文档类型或日期范围检索)如何影响向量存储的性能?如何评估这种开销?
- 如何使用 LLM 执行多步骤检索?(例如,LLM 使用初始查询来检索某些内容,然后根据找到的内容制定新的查询,等等。)
- LLM 生成答案,然后单独的验证步骤使用检索再次检查并可能更正它的架构的优缺点是什么?
- 近似最近邻设置(如搜索精度与速度配置)如何影响端到端 RAG 延迟,并可能影响答案质量?
- 什么是 BERTScore 或其他基于嵌入的指标?它们是否有助于评估生成的答案与参考答案或源文本之间的相似性?
- 批量处理或异步调用如何提高 RAG 系统的吞吐量?对单查询延迟有什么影响?
- 如何在 RAG 中使用缓存机制来减少延迟?我们可以缓存哪些类型的数据(嵌入、频繁查询的检索结果等)?
- 上下文精度和上下文召回等指标(例如某些 RAG 评估框架中的指标)如何工作?它们表明了系统的哪些性能?
- 交叉编码器重新排序器如何在检索中补充双编码器嵌入模型?这暗示了初始嵌入模型的哪些局限性?
- 人们可以使用哪些“基于自定义检索的指标”进行 RAG 评估? (考虑检查答案是否包含来自检索到的文本的信息,或者是否可以在源中找到所有答案句子的指标。)
- 你如何决定允许多少检索轮次(多步骤的深度),然后才仅仅用收集到的内容回答?什么是收益递减?如何衡量它?
- 不同的检索策略如何影响 RAG 系统答案的可解释性?(例如,带有引用来源的答案与来自不透明模型记忆的答案相比),以及你如何评估用户对每种方法的信任?
- 嵌入维度在平衡语义表达性和计算效率方面起什么作用?如何确定 RAG 系统的“正确”维度?
- 你将如何评估采用多步骤检索的 RAG 系统,与使用单步检索的系统有何不同? (考虑跟踪中间检索的准确性和最终答案的正确性。)
- 哪些类型的评估指标或标准可以捕捉多跳 QA 的成功(例如,答案是否正确地整合了来自两个独立文档的信息)?
- 如何在 RAG 提示中使用少量示例来演示模型应如何使用检索到的信息(例如,提供一个示例问题、上下文和答案作为指导)?
- 在检索到的数据上微调 LLM(例如,向其提供大量使用文档回答问题的示例)如何潜在地提高性能?你将如何验证这种改进?
- 在领域上微调模型(使其“知道”很多答案)与使用该领域的外部检索系统相比如何?哪种评估会突出显示这些差异(例如,评估微调知识范围之外的问题)?
- 在 RAG 评估集中包含各种问题类型(事实型、解释型、布尔型等)有何用处?每种问题类型如何以不同的方式强调系统?
- 在高维嵌入与低维嵌入之间,检索准确性和系统性能方面有哪些优缺点?
- 如果发现检索步骤很慢,你可以考虑哪些优化? (考虑索引技术更改、硬件加速或减小向量大小——如何根据测量结果决定尝试哪种。)
- 在 RAG 系统中,是否应在提示中重复或改写原始问题以及检索到的文本?这会对答案产生什么影响?
- 在 RAG 系统中,何时可以选择在将检索到的段落提供给 LLM 之前,使用高级重新排序模型?在延迟或复杂性方面,这种权衡是什么?
- 在交互式设置(例如,聊天机器人)中,RAG 系统的可接受延迟是多少?我们如何确保检索和生成阶段都满足此目标?
- 与独立的 LLM 答案生成相比,在 QA 系统中引入检索步骤如何影响端到端延迟?我们如何衡量这种影响?
- 在使用多步骤检索时,保持生成基础的挑战是什么?错误如何在多个步骤中累积?
- 如何使用 LLM 本身来改进检索——例如,通过生成更好的搜索查询或重新排序检索到的结果?你将如何衡量这些技术的影响?
- 在提示中列出多个检索到的文档(可能带有标题或来源)如何帮助或阻碍 LLM 生成答案?
- 多步骤检索如何影响延迟?系统如何决定改进的答案质量是否值得花费额外的时间进行多轮检索?
- 负面示例(问题与不相关文档配对)在评估 RAG 系统的稳健性方面起什么作用?
- 当向量存储或 LLM 是远程服务时(例如,调用云 API),网络延迟如何发挥作用?我们如何在评估或生产中缓解这种情况?
- 为什么为 RAG 准备专门的评估数据集很重要?此类数据集的关键组成部分应该是什么?
- 查询缓存或预取常见问题如何提高 RAG 系统中向量存储的表面效率?启用此类缓存时评估系统的优缺点是什么?
- 使用 ROUGE 或 METEOR 进行 RAG 评估有哪些局限性?特别是考虑到可能有多种正确的方法来使用检索到的信息回答问题?
- 在什么情况下,检索实际上可以节省获得答案的总体时间?(想想当替代方案是 LLM 思考它不知道的事实时,而不是快速查找它们)
- 检索增强生成如何帮助解决 LLM 的静态知识截止或内存限制的问题?
- 检索大量文档(例如前 10 个或前 20 个)与仅检索几个最相关的文档(前 3 个)作为 LLM 的上下文有哪些优缺点?
- 有哪些已知的指标或分数(例如来自 RAGAS 等工具的“忠实度”分数)旨在量化答案与提供的文档的匹配程度?
- 使用同一数据集将评估分为检索评估和生成评估组件有什么好处?(即,首先评估可以在文档中找到多少答案,然后评估模型使用它们的程度)
- 合成数据生成如何帮助构建 RAG 评估数据集?使用合成查询或文档有哪些风险?
- 有时讨论的 RAG 的指标“三合会”是什么?(例如,答案相关性、支持相关性和正确性),这些如何提供系统性能的全面图景?
- ReAct(推理 + 行动)框架与多步骤检索的关系是什么?你将如何确定类似代理的 RAG 系统是否正在执行正确的推理步骤?
- 使用的距离度量(余弦与 L2)如何与嵌入模型选择相互作用?不匹配会导致次优的检索结果吗?
- 嵌入模型选择如何影响向量数据库组件的大小和速度?这会为实时 RAG 系统带来哪些权衡?
- 嵌入模型(例如,SBERT 与 GPT-3 嵌入与自定义训练的模型)的选择如何影响 RAG 系统中检索的有效性?
- 向量存储的效率在 RAG 系统中为何如此重要?它如何影响整体用户体验(考虑延迟和吞吐量)?
- RAG 管道中延迟的各个组成部分是什么(例如,嵌入查询的时间、搜索向量存储的时间以及生成答案的时间)?如何优化每个部分?
- 输入到提示中的检索到的上下文的长度如何影响 LLM 的性能?以及它忽略上下文某些部分的风险?
- 嵌入维度和索引类型对向量存储的性能有什么影响?这会对需要快速检索的 RAG 系统的设计选择产生什么影响?
- 给 LLM 的提示或说明在确保答案格式良好且连贯方面起什么作用?你将如何评估答案质量的不同提示样式?
- 嵌入质量对下游生成有什么影响——例如,较差的嵌入错过了细微差别,会导致 LLM 产生幻觉或错误答案吗?
- 模型大小或类型(例如,GPT-3 与较小的开源模型)如何影响你设计 RAG 管道?哪些指标可以显示这些差异(例如,一个可能需要比另一个更多的上下文文档)?
- 提示的特异性(例如,“仅使用以下信息回答……”与一般说明)如何影响生成?我们如何衡量哪个提示产生更多基于事实的答案?
- 答案完整性与幻觉风险之间的权衡是什么?系统如何找到正确的平衡(例如,如果不确定,则在回答时更加保守)?
- 多步骤检索中复杂性和收益之间的权衡是什么?在什么情况下,更简单的一次性检索实际上可以表现得一样好?
- 在系统设计和评估方面,在每个查询(实时)上进行检索与预先计算可能的问答对或段落(离线)之间的权衡是什么?
- 底层 LLM 在幻觉倾向中起什么作用?以及如何评估相同检索数据上不同 LLM 的基础性能?
- 如果检索到的段落来自不同的来源或具有不同的写作风格(“弗兰肯斯坦”答案问题),哪些策略可以提高 RAG 答案的连贯性?
- 我们如何要求模型提供来源或引用其答案中使用的文档?评估此类引用的正确性有哪些挑战?
- 除了检查事实正确性之外,我们如何评估 RAG 系统生成的答案的连贯性和流畅性?
- 如何评估嵌入模型是否捕获了特定任务所需的细微差别(例如,它是否将问题及其正确答案聚类在向量空间中)?
- 如何构建 RAG 系统以处理高并发场景,而不会显着降低延迟(例如,扩展向量数据库,使用多个 LLM 实例)?
- 应该如何构建用于评估幻觉的数据集? (例如,包括知识库中没有答案的问题,以查看系统是否正确地弃权或表明不确定性。)
- 你将实施哪些监控来捕捉检索步骤或生成步骤在生产使用期间成为延迟瓶颈?
- 如何选择检索到的文档数量 (top-k) 以平衡向量存储负载和生成有效性?你将运行哪些实验来找到最佳点?
- 可以使用哪些自然语言生成指标(例如,BLEU、ROUGE、METEOR)来比较 RAG 系统的答案与参考答案?这些指标在此上下文中有什么局限性?
- 如何使用评估指标来比较可能具有不同优势的两个 RAG 系统(例如,一个检索得更好,但另一个具有更强的生成器)?你会进行哪些综合或多维评估?
- 你将如何着手创建 RAG 的测试集,其中包括问题、相关上下文文档和真实答案? (考虑使用现有的 QA 数据集并添加上下文引用。)
- 你如何设计一个指标来惩罚答案中没有根据的内容? (例如,类似精确度的指标,用于计算文档支持的答案内容的比例。)
- 可以使用哪些技术来检测 RAG 生成的答案中的幻觉?(例如,检查所有事实陈述是否在检索到的文本中得到支持。)
- 在评估设置中,人类评审员如何确定 RAG 系统的答案是产生幻觉还是有根据的?他们可能会使用什么标准?
- 我们如何确保 LLM 的答案在 RAG 设置中完全解决了用户的查询? (例如,如果提出了多个要点,答案是否涵盖了所有要点?)
- 我们如何确保测试数据集真正需要检索增强(即,模型尚未记住答案或在没有外部信息的情况下微不足道)?
- 你将跟踪哪些指标以确保向量存储在负载下运行良好(例如,它处理的 QPS、平均搜索时间、给定延迟下的召回率)?
- 我们如何确保检索的引入不会在 LLM 的响应中引入新的偏差或问题?评估能否揭示模型过度信任或错误使用检索到的信息的案例?
- 我们如何评估 RAG 系统在不存在标准数据集的领域(例如,公司的内部文档)的性能?在这种情况下,创建有意义的测试集需要哪些步骤?
- 你将如何评估 RAG 系统在一段时间内或更新后的性能? (考虑设置一个具有关键指标的持续评估管道,以捕捉检索或生成中的退化。)
- 我们如何评估不同的嵌入模型,以确定哪个模型为我们的特定 RAG 用例产生最佳的检索性能?
- 当有参考答案时,我们如何评估答案的事实正确性? (考虑精确匹配或在 SQuAD 等 QA 基准中使用的 F1。)
- 如果我们要评估多步骤检索,我们需要哪些特殊的数据集注意事项(可能需要将来自两个文档的信息连接起来的问题,并标记这些文档)?
- 我们如何评估 LLM 的答案是否完全由检索上下文支持? (考虑针对源进行答案验证或使用辅助模型交叉检查事实等方法。)
- 如何引导 LLM 在检索到的信息不足时提出后续问题? (从会话 RAG 或可以执行多次检索然后读取循环的代理的角度考虑。)
- 可能需要对提示或系统进行哪些修改来处理多步骤检索(例如,使模型能够输出后续问题)?以及如何评估这种新能力?
- 我们如何在 RAG 中结合多种模式(例如检索图像或表格)?并且仍然使用 LLM 进行生成?这带来了哪些额外的评估注意事项?
- 我们如何将用户反馈或真实用户查询纳入构建 RAG 评估的数据集中?使用真实查询有哪些挑战?
- 将检索集成到多轮对话中时,提示如何整合新上下文,同时以相关的方式维护对话历史记录?
- 如何利用现有的 QA 数据集(如 TriviaQA 或 Natural Questions)进行 RAG 评估?需要进行哪些修改才能使其适应检索设置?
- 我们如何明确衡量“支持证据覆盖率”,即答案的所有部分是否都可以追溯到某些检索到的文档?
- 如何衡量中间检索步骤的成功? (例如,如果第一次检索应该找到有助于第二次检索的线索,我们如何验证线索是否被找到?)
- 有哪些方法可以获得真实信息,以了解哪个文档或段落包含问题的答案(例如,使用注释数据集(如 SQuAD),这些数据集指向证据)?
- 可能需要对 LLM 的输入格式或架构进行哪些修改,才能最好地利用检索到的文档(例如,添加特殊标记或段来分隔上下文)?