论文日常阅读笔记——Fine-Tuning LLaMA for Multi-Stage Text Retrieval(SIGIR 2024)

Fine-Tuning LLaMA for Multi-Stage Text Retrieval (SIGIR 2024)

论文链接:https://dl.acm.org/doi/abs/10.1145/3626772.3657951 引用数 538

研究方向:

  • 信息检索(Information Retrieval, IR)
  • 大语言模型(Large Language Models, LLM)
  • RAG 检索增强生成(Retrieval-Augmented Generation)

核心模型:

  • RepLLaMA:把 LLaMA 微调成检索模型(Retriever)
  • RankLLaMA:把 LLaMA 微调成排序模型(Reranker)

论文目标:

探索“大语言模型是否可以替代传统的小型检索模型,成为现代搜索/RAG系统的核心组件”。

相关概念

Multi-stage Retrieval(多阶段检索)

现代搜索系统通常不是一步完成。

典型流程:

用户Query

   ↓

第一阶段 Retriever
(快速找候选)

   ↓

1000篇候选文档

   ↓

第二阶段 Reranker
(精细排序)

   ↓

Top 10结果

论文研究的是整个流程。

论文指出:

传统系统包括:

  1. retriever:快速生成 top-k 候选;
  2. reranker:进一步排序提高质量。

Retriever(召回模型)

作用:

从海量数据库中快速找到可能相关内容。

例如:

100亿网页:

↓

找到1000篇。

常见方法:

Sparse Retrieval

例如:

  • BM25

依赖:

关键词匹配。


Dense Retrieval(稠密检索)

核心:

把文本转换成向量:

Query

↓

[0.21,0.56,...]

Document

↓

[0.19,0.52,...]

计算:

两个向量距离

越近越相关。

代表:

  • DPR
  • ANCE
  • Contriever

Pointwise Reranker

排序模型的一种。

输入:

Query + Document

输出:

相关性分数

例如:

问题:
什么是BERT?

文本:
BERT是一种语言模型

score=0.95

动机

论文核心问题:

大语言模型时代,LLM 是否能够替代传统的小型预训练模型,成为搜索系统中的 Retriever 和 Reranker?

过去:

搜索系统:

BM25
 ↓
BERT reranker

或者:

DPR
 ↓
BERT/T5 reranker

但是这些模型通常:

  • 参数小;
  • 上下文长度有限;
  • 不是最新 LLM。

与此同时:

GPT、LLaMA 等大模型出现。

问题:

大模型是否真的适合检索任务?

同时

Retrieval 是很多系统基础:

例如:

搜索引擎

Google/Bing:

Query
 ↓
检索网页
 ↓
排序

RAG

现在大模型回答问题:

用户问题

↓

Retriever找到知识

↓

LLM生成答案

如果检索不好:

LLM 会:

  • 幻觉;
  • 使用错误知识。

论文指出:

Retrieval 对:

  • web search
  • open-domain QA
  • fact verification

非常重要,同时也是 RAG 的关键组件。

核心贡献

这篇论文证明:经过监督微调后的大语言模型 LLaMA 不仅可以生成文本,还可以作为高质量的信息检索器和排序器,在多阶段检索系统中超过传统小模型,并且能够利用长上下文能力直接处理完整文档。

更简单:

以前搜索系统用 BERT、小模型负责“找”和“排”;这篇论文证明 70亿参数级 LLaMA 微调后,可以同时完成这两个任务,并成为新的检索基础模型。

论文摘要明确提出:

作者分别将 LLaMA 微调成:

  • dense retriever(RepLLaMA)
  • pointwise reranker(RankLLaMA)

并在 MS MARCO 上进行验证。

实验设置

整体:

                 LLaMA-2

                    |
        -------------------------
        |                       |
        ↓                       ↓

  RepLLaMA                RankLLaMA

 Retriever              Reranker

快速召回               精细排序

方法1:RepLLaMA(检索模型)

目标:

让 LLaMA 学会:

Query → vector

Document → vector

然后计算:

Query vector · Document vector

如何改造 LLaMA?

LLaMA 是 decoder-only 模型。

不像 BERT:

有 CLS token。

所以作者使用:

输入:

text </s>

取最后一个 token:

</s> hidden state

作为文本向量。

论文描述:

使用 LLaMA 最后一个 token 的表示作为 query/document embedding。


训练:

使用:

Contrastive Learning(对比学习)

简单理解:

告诉模型:

正确答案:

Query
+
相关Document

距离拉近

错误Document:

距离拉远

方法2:RankLLaMA(排序模型)

输入:

query:
xxx

document:
yyy

一起输入 LLaMA。

输出:

一个分数:

0.92

代表相关。

论文采用:

pointwise reranking:

直接预测 query-document 相关性。


数据集

MS MARCO

微软搜索数据集:

包含:

  • 真实用户问题;
  • 相关文本。

BEIR

跨领域检索 benchmark。

包含:

  • 新闻;
  • 医疗;
  • 科学;
  • 问答。

用于测试:

zero-shot 泛化能力。

​


比较对象

包括:

Retriever:

  • BM25
  • ANCE
  • CoCondenser
  • GTR
  • Ada2

Reranker:

  • monoBERT
  • RankT5
  • RankGPT
  • RankVicuna

实验结果

image-20261014215203580

结果1:RepLLaMA 超越传统 Retriever

MS MARCO passage retrieval:

结果:

方法 MRR@10
BM25 18.4
ANCE 33.0
CoCondenser 38.2
GTR-XXL 38.8
RepLLaMA 7B 41.2

说明:

大语言模型作为检索器,可以超过传统百亿以下模型。


结果2:RankLLaMA 达到更强排序效果

MS MARCO:

方法 MRR@10
monoBERT 37.2
RankT5 43.4
RankLLaMA 7B 44.9
RankLLaMA 13B 45.2

说明:

LLaMA 不仅能召回,也能做高质量 reranking。


结果3:长上下文能力减少传统文档切分需求

传统 reranker:

因为 BERT 输入长度有限:

长文档

↓

切成多个片段

↓

分别评分

↓

pooling

称为:

MaxP strategy。

但是 LLaMA:

支持更长输入。

作者发现:

RankLLaMA 可以直接处理完整文档。

论文指出:

传统方法需要 segmentation,而 LLaMA 长上下文能力可以减少这种需求。


结果4:Zero-shot 泛化能力强

image-20261014215306040

BEIR:

RepLLaMA 和 RankLLaMA 在多个领域表现优秀。

例如:

平均:

RepLLaMA:

55.1

RankLLaMA:

56.5

超过很多已有模型。

相关意义

学术意义

作者认为:

LLM 不应该只被看作生成模型,也可以成为检索模型。

过去:

Encoder模型
负责理解文本

Decoder模型
负责生成文本

这篇论文说明:

Decoder-only LLM:

例如:

LLaMA

也可以:

  • 表示文本;
  • 学习语义匹配;
  • 完成排序。

对 RAG 的意义

这是非常重要的一点。

RAG:

问题

↓

Retriever

↓

知识

↓

LLM回答

以前:

Retriever:

BERT/DPR

Generator:

GPT/LLaMA

未来:

可能:

LLaMA

↓

Retriever

↓

LLaMA

↓

Generator

统一模型体系。


工业意义

论文提供:

RepLLaMA / RankLLaMA checkpoint。

可以直接用于:

  • 搜索;
  • 企业知识库;
  • RAG。

局限性

局限1:计算成本非常高

7B/13B 模型:

训练:

需要:

16 × 32G V100 GPU。

​ 2310.08319v1

相比:

BERT:

百万级参数。

部署成本明显更高。


局限2:检索速度问题

Retriever:

需要:

大量文档编码。

例如:

整个数据库:

100亿文档

↓

每个4096维向量

存储巨大。

论文中:

MS MARCO passage index:

135G。

​ 2310.08319v1


局限3:没有解决所有检索问题

例如:

专业领域:

  • 医学;
  • 法律;
  • 金融;

需要更多领域训练。


局限4:模型规模提升有限

13B RankLLaMA:

相比7B:

提升很小。

论文发现:

13B MRR@10 只提升约0.3。 2310.08319v1

说明:

简单扩大模型并不一定持续提升。

总结

《Fine-Tuning LLaMA for Multi-Stage Text Retrieval》证明了大语言模型不仅可以生成答案,也可以成为搜索系统的大脑:通过微调 LLaMA 得到 RepLLaMA 和 RankLLaMA,可以同时提升召回和排序效果,并利用长上下文能力减少传统检索系统对文本切片的依赖。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇