文档渲成图做重排,少 16–35% token 均分 55.96

RenderRank: Learning to Rerank Text with Compressed Visual Tokens

Seongtae Hong, Youngjoon Jang, Jungseob Lee, Hyeonseok Moon, Heuiseok Lim

cs.IR

2026-09-28

把文档渲成图重排,BEIR 均分 55.96、少 16–35% token,长文 88.27 分、吞吐 1.70 倍。

这篇在解决什么

重排器要对检索回来的每个候选各打一次分,query 和文档拼在一起过模型。文档一长,单次前向就贵;候选一多,费用按份数叠。截断能省算力,也可能把判断相关性真正需要的证据切掉。

把文字渲成图,交给视觉语言模型的编码器压成更短的 visual token,图像切成 patch 后送给语言骨干的短序列。这条路在问答和摘要里已经能用更短输入读文档。高丽大学的 RenderRank 把它接到重排上:文档走图,query 仍走字,用压缩后的视觉表示打相关性分数。每评一个候选都能少喂一段输入,省下的长度会乘上候选数。

方法

骨干从 Qwen3-VL-Reranker-2B 初始化,总参 2.1B。视觉编码器和 feature merger 冻住,只对语言 decoder 打 LoRA,rank 64、alpha 128。文档图可以离线编好,推理时 decoder 只吃 query 文本加缓存的 visual token。可以把它想成把整页字拍成缩略图,再拿缩略图和问题对分,原文不必逐 token 进语言模型。

渲染默认 Roboto Regular 12pt、行距 1.0、96 DPI、宽 896 像素,高度按内容对齐到 32 像素倍数,对齐 Qwen3-VL 的 patch 合并。选 12pt 是因为在 QASPER 和 GovReport 上试过:10pt 更省 token,但 Qwen3.6 的 QASPER F1 从 48.72 掉到 41.32;12pt 再拉大行距只增加 visual token,分数没有稳定变好。黑字白底、零边距。渲染前空白和换行会被压成单空格,段落结构没了。超出一页接到下一张图,多图按顺序当成同一个候选。

训练分两段。

结果

BEIR 是一批异构检索评测集。这里用其中 11 个,对 BM25 找回的 top-100 重排,指标是 NDCG@10,看前 10 条里相关文档排得有多靠前。吞吐在单张 NVIDIA A6000 上测,只计 GPU 前向,单位 PPS 是每秒处理的 query–文档对数。

方法参数量NDCG@10输入 tokenPPS
RenderRank2.1B55.9629076.83
Qwen3-Reranker-4B4B57.9943922.41
bge-reranker-v2-gemma2.5B55.8239935.51
LAMAR-600m600M55.1940967.55
zerank-2-reranker4B51.9838127.61

相对评过的文本重排器,输入少 16.5–35.5%。与 2.5B 的 bge-reranker-v2-gemma 只差 0.14,其余 4B 以下文本基线都更低;4B 的 zerank-2 是 51.98,4.5B 的 LightOn-rerank-PW-4B 是 52.17,4B 教师 57.99 仍更高。估计算力 0.63 TFLOPs/pair,不含离线视觉编码;bge-v2-gemma 是 1.10。76.83 PPS 大约是 bge-v2-gemma 的两倍,也超过更小的 LAMAR-600m。视觉编码算进前向的话,PPS 掉到 37.31。

长文档四集(MLDR 英文子集,加上 LongEmbed 的 2WikiMQA、QMSum、SummScreenFD)平均 NDCG@10 为 88.27,token 大约是文本基线的一半。平均吞吐 4.51 PPS,相对最快基线 2.66 是 1.70 倍。MLDR 上把长度上限设成 2K 时拿到 97.9,高于 gte-reranker-modernbert 在 4K 的 95.8,也高于 LightOn-PW-4B 在 4K 的 97.3;上限 4K 时 99.5,接近文本模型开到 8K 的分数。

两阶段都有用。未做这两段训练的图像输入均分 50.20,Stage 1 之后 54.86,Stage 2 之后 55.96。同一套 Stage 2 权重改回文本输入,均分是 57.21,视觉通路仍落后 1.25 NDCG。字号从 10pt 调到 14pt,分数从 55.04 升到 56.43,token 从约 236 升到 371,PPS 从约 94 降到 63。默认 12pt 相对 14pt 低约 0.83%,token 和吞吐更划算。

为什么重要

适合语料基本不动、长文档多、每个 query 要给一堆候选打分的 RAG 管道:图预计算一次,decoder 序列更短,同样长度上限能看见更多原文。这是效率向的渐进改进,重排质量没有新高。只追 NDCG,用 Qwen3-Reranker-4B 更省事。文档频繁改写时,视觉编码回到关键路径,吞吐优势会掉一半。

局限与存疑

正文没有独立的局限节。

训练和评测有重叠。Stage 1 含 FiQA、HotpotQA、FEVER,Stage 2 再加 ArguAna 和 SciDocsRR,BEIR 11 集里占了 5 集。ArguAna 在 Stage 2 之后从 60.56 跳到 69.11,掺训痕迹清楚。Touche-2020 只有 34.27,低于 BM25 的 44.22,也低于 mxbai-rerank-large-v2 的 46.94。

吞吐和 TFLOPs 都把视觉编码算成离线成本,缓存 visual embedding 要占多少存储没有报。渲染毁掉段落和换行,字号行距按生成任务选,不一定对重排最优。结果来自单次英文训练;视觉编码器冻住,压缩比只能靠改字号调。

术语

原文与代码

社区讨论

相关论文

全部论文解读