02 4.30
多跳检索里的链式 embedding 检索器,训练时看到的检索历史全是正确段落,上线后看到的却是它自己找回来、常常带错的段落。它每一步把问题和已找到的段落拼在一起再找下一段,早先找错一段,后面每一步都带着这个错。在四跳的 MuSiQue 问题上,到第三步时已有 70% 的检索状态混进了错段。作者的办法是每轮训练都让当前模型自己跑一遍,把它真实走到的状态,包括走错的,拿来训练,目标设为还没找到的最早那段正确段落。同样的模型和训练配方下,前五段里把证据找全的问题比例从 44.6% 提到 50.5%。检索器也有训练和推理时历史不一致的问题,用它自己犯过的错来训练就能补上一部分。
03 4.30
多跳问题要靠中间实体一环扣一环地找证据,可问题本身从不提这些中间实体。图检索类 RAG 从问题点到的实体出发,大多只走到第一环,三跳问题里能把整条证据链找全的不到一成。迭代式方法能一步步找,但 LLM 要同时规划、排先后、改写、记账,每件事都会出错。DeFT-RAG 让 LLM 每次只写一个把实体名写全的子问题。答出的子问题连同答案按规则写进问答表,不靠 LLM 记;某段是否相关、已有答案够不够用这类是非判断,交给微调过的小模型。在 1,000 道 MuSiQue 题共享缓存时,23.1% 的子问题直接从缓存作答,LLM 调用少了 12.9%,准确率不降。
04 4.30
长答案 RAG 需要的是一组互相补充的文档,而按相关度逐篇打分挑出来的十篇,常常反复讲同一个方面,别的方面没有覆盖。作者先让 LLM 把问题拆成几个子问题,再用一个 cross-encoder 预测每篇文档能回答哪些子问题,然后每次挑一篇能补上最多新子问题的文档。在 TREC RAG 2024 上,α-nDCG 从 0.625 提到 0.702,已接近用人工标注的答案要点来挑时的上限。更有意思的是,用人工标注挑出的文档覆盖得更全,写进答案的要点却并不比它多。答案完不完整,不只取决于找到了什么,还取决于生成模型有没有用上。
05 4.30
一篇没有标注的网页里,哪几段在讲相关的事,本身就能拿来训练检索模型。xPRT 的做法是:先挑出向量最接近全文平均向量的段落,作为这篇文档的代表段;再按向量相似度和词面重合,找出文档里和它最相关的四段;然后把这几段的大部分词遮住,只给一个单层的小解码器加上代表段的向量,让它把被遮的词补回来,逼着这个向量装下相关段的内容。作者在已做过大规模对比预训练的 E5 上继续预训练,语料和训练流程固定、只换目标:五种已有方法在 MTEB 上最多涨 0.4 分,多数还跌到起点以下,xPRT 稳定涨 1.8 到 1.9 分。把挑出的相关段换成同一文档里随机的一段,收益就没了,因为网页里混着导航和链接列表。
06 4.30
RAG 系统通常要同时部署一个 reranker 和一个生成模型,候选段落被两个模型各读一遍。Glance 的思路是:生成模型反正要读这些段落,不如让它自己来排序。它把所有候选段落一次 prefill 进 KV cache,再从这份共享缓存上给每段接一小段打分提示,由一组 LoRA 参数和一个打分头给出相关度,然后同一个模型接着生成答案,每多一种判断能力只多占约 0.1 GiB 显存。在 MS MARCO 上短暂微调后,它在 SciFact 上的 nDCG@10 是 0.741,专用 reranker bge-reranker-v2-m3 是 0.721。评测只覆盖两个检索集和一个模型家族,但少部署一个常驻模型,对服务成本的影响很直接。
07 3.95
用户向深度研究 agent 提问时,常常没说清时间范围、用错专业术语,或者没提自己的偏好。作者把完整问题里的这类信息逐项删掉或说得含糊,在三个深度研究 agent 上对比答案。少了范围或术语时,答案对用户真实需求的覆盖明显下降,但引用依旧准确,并没有更多幻觉。搜索过程给出了原因:问题一含糊,agent 搜得更广,搜索词里来自用户原话的部分变少,更多来自模型训练时学到的东西。专门为深度研究训练、完整问题上得分更高的 agent,掉得反而更多。深度研究 agent 需要学会在问题不清楚时先问一句,而不是自己猜。
08 3.95
把检索 embedding 投影到少数几个主方向上,是压缩存储和打分开销的常用办法,但每个方向保留多大权重,只看语料统计出的整体趋势,不看它对区分相关和不相关文档有多大用。RRC 用相关性标注重新估计每个方向的权重:某个方向对相关和不相关文档的得分差贡献平均越大、波动越小,权重就越高。它再用一条幂律曲线拟合这些权重的整体走势,只把每个方向偏离曲线的那部分加到原有权重上,原来大方向权重高、小方向权重低的走势不变。它只改 query 和文档共用的那个线性变换,不用训练模型,也不加推理步骤。在推理密集的 BRIGHT 基准的五个数据集上,压到 768 维时,nDCG@10 比原来的压缩方法 SpecTemp 平均高 2.34 个点,再做量化收益依旧在。
09 3.95
融合多路检索结果时,RRF 这类无监督方法便宜但不会学习,用 LLM 做列表式重排效果好,每个 query 却要调用上百次。LLM-IRA 走中间路线:只挑几路检索器意见分歧最大的文档对,让 LLM 判断哪篇更相关,用这些判断去学各路检索器的融合权重,最后的排序仍是简单的线性加权打分。作者用一个 8B 开源指令模型当裁判,在多数基准上持平或超过最好的静态融合方法;在两届 TREC DL 上,每个 query 只要约 5 次 LLM 调用就已超过最好的无监督融合。它不需要训练数据,也不用微调模型,适合只想在融合层花少量 LLM 预算的场景。
10 3.70
RAG 的语料里常混着过期、互相矛盾或不可靠的文档,人工标注哪篇可信又很贵,只能覆盖一小部分。这篇的办法是把每篇文档当作图上的一个点:两篇来自同一来源、互相支持或互相矛盾,就连一条边,这些关系可以用 NLI 模型判断。人工只给少数单篇文档标出可不可信。它再求解一个优化问题,一部分要求各篇的可信度分和边上的关系对得上,一部分要求贴合人工反馈,这样可信度就从少数标过的文档传到全库。检索和生成答案时都参考这个分数。作者报告检索质量和 EM 都优于基线,反馈稀少或带噪时依旧稳定。