【RAG 论文】引入 query rewriter 来做查询重写实现对 RAG 的改进

论文:Query Rewriting in Retrieval-Augmented Large Language Models
⭐⭐⭐⭐
EMNLP 2023
Code: github.com/xbmxb/RAG-query-rewriting

一、论文速读

如下是一个常见的 RAG pipeline:

RAG pipeline

但这存在一个缺点:input text 和需要 query 的 knowledge 之间不可避免地会存在一个 gap

本文提出:在将 query 输入给 retriever 之前,增加一个 query rewrite 步骤来弥补这个 gap

增加 query rewrite

这样,就把之前 RAG 的 retrieve-then-read 改为了 Rewrite-Retrieve-Read 的框架。

同时,根据 rewriter 的技术选型,这里又分成了两种:

  • 将 LLM 作为 query rewriter:由于 LLM 往往是不可训练的(比如 ChatGPT),所以 LLM 可以视作一个 black-box,由它来执行 query rewrite
  • 可训练的 rewrite-retrieve-read:将一个小的 LM 作为 query rewriter,同时根据 reader 的 output 是否 correct 或者 hit 来作为对 rewriter 的反馈,进而对 query rewriter 做强化学习来训练 rewriter

如下图所示:

三种pipeline

二、实验结果

实验结果

可以看到,无论将 frozen LLM 还是 trainable LM 作为 rewriter,都可以改进 RAG 的效果。

论文也给出了使用不同方法时的 prompt:

prompt

三、总结与分析

本文提出了使用 query rewrite 来改进 RAG 的 pipeline 来提高表现,同时给出了一个可训练的 rewriter 的训练思路。

同时,本文的研究还存在以下限制:

  • 在下游任务上,仍然需要一个 generalization 和 specialization 的 trade-off。因为目前额外增加了一个训练过程,让该方法相比于 in-context learning 的 scalability 降低了。
  • 在知识密集型的场景下,使用 web search engine 可能不如经过过滤的 knowledge base 更加专业好用。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 15:44:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 15:44:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 15:44:01       82 阅读
  4. Python语言-面向对象

    2024-04-30 15:44:01       91 阅读

热门阅读

  1. go语言获取变量类型的4种方式

    2024-04-30 15:44:01       29 阅读
  2. 【工作实践-11】关于uniapp切换账号登录失败问题

    2024-04-30 15:44:01       31 阅读
  3. milvus indexnode启动源码分析

    2024-04-30 15:44:01       21 阅读
  4. android中给view添加遮罩层

    2024-04-30 15:44:01       33 阅读
  5. leetcode_40.组合总和 II

    2024-04-30 15:44:01       33 阅读
  6. 什么是AI推理

    2024-04-30 15:44:01       28 阅读
  7. conda修改当前环境中的python版本

    2024-04-30 15:44:01       35 阅读
  8. 响应式布局插件

    2024-04-30 15:44:01       34 阅读
  9. 行列式求解

    2024-04-30 15:44:01       32 阅读
  10. YOLOv8+bytetrack实现多目标追踪

    2024-04-30 15:44:01       39 阅读
  11. 生成能够精确匹配原字符串的正则表达式

    2024-04-30 15:44:01       38 阅读
  12. zynq基础知识学习(1)

    2024-04-30 15:44:01       30 阅读