LLMsort
做什么
检索通常两级:召回(如 BM25¹)再重排。BEIR² 提供跨域标准集合;NDCG@k³ 衡量排序与理想相关序的一致程度。后文分数据、训练、输出、成对合成全序、服务与评测。
LLMSort 做重排:Qwen3 3B 成对判别,再合成全序。训练:SFT⁴ 拟合教师;GRPO⁵ 收紧 JSON 与置信度。推理可合并 LoRA⁶、用 vLLM⁷ 起服务。
数据与训练管道
数据按域下载 BEIR 集合,用 BM25 在 top-k 上构造 pairwise;训练偏有正例的查询,测试候选更大。教师模型可补 winner、confidence、reason 等字段。
SFT 用 LoRA⁶ 与多卡 torchrun;RL 用 TRL 的 GRPO 与 accelerate。训毕将适配器 fold 回基座。
模型输出长什么样
模型输出为结构化 JSON:winner 表示两文档相对相关性判决,confidence 为置信度,reason 可选作可解释链。与 cross-encoder 典型的标量相关分不同,该设计显式暴露置信与理由,便于下游解析与误差分析;RL 阶段进一步收紧 token 级格式稳定性。代价是相较单次前向打分,pairwise 调用次数更多、延迟更高。
从成对比较到全序
排序层与后端解耦:模型只做 compare(a,b);PPBIS / PWABIS / PWLCS 等算法由 pairwise 图合成全序。无序对缓存、异步并发、可选双向验证。最终映射为文档分以算 NDCG。
推理服务与训练工程
本地用 vLLM⁷ 起 OpenAI 兼容端点,可多实例做消融。训练曾在 4×A100;torchrun / accelerate 分工。调用经薄封装,换端点改配置即可。
评估与对比基线
评测用多组 BEIR 子集与 cmedqav2;基线含商业 API、向量 rerank、本地栈,共用 NDCG 管线。
方法上在解决什么问题
动机:大模型重排贵,小模型需 SFT⁴+RL 稳格式;pairwise 比单分更贴判别式 rerank;结构化输出便于分析。
术语与注释
- BM25:经典稀疏检索打分,基于词频与逆文档频率,常用于第一级召回。
- BEIR:公开检索评测基准集合,跨多个领域,便于横向对比模型。
- NDCG@k:归一化折损累积增益,越靠前命中的相关文档权重越高,用于衡量排序质量。
- SFT(监督微调):在有标注数据上微调预训练模型以拟合教师或人工标签。
- GRPO:一组相对策略优化类算法(见 Hugging Face TRL),用于在 SFT 之后进一步用强化学习约束输出。
- LoRA:低秩适配,仅在部分层旁路训练小矩阵,减少显存与可训参数量。
- vLLM:高吞吐 LLM 推理服务框架,支持 OpenAI 兼容 API 与连续批处理。