Ranking Methods
- Pointwise
- Listwise
- Pairwise
- Setwise
Pointwise
- 最常见的automatic metric
- LLM-as-a-Judge: 输入单个文本,输出评分
- Relevance generation
- Query generation
Pros: Token effiecient and scalable
Cons: struggle to capture comparative information across candidates
Listwise
一次将多个candidates输入prompt中,让LLM对它们进行排序。
Pros:
- 完美适配目前LLM context windows size增大的趋势
- self-attention机制可以更为有效捕捉candidates之间的关系
Cons:
- Token-consuming (especially for long document/text tasks)
- Positional bias!! (如果做这个课题,必须要解决和讨论到这个)
Related Work
- RankGPT
- LRL
- TourRank
- ListT5
Pairwise
感觉有时候定义有点vague,explicit pairwise应该指的是输入就是(Candidate A, Candidate B),然后输出应该是两者比较的一个得分。但是有的时候,我们也可以用例如RankNet这样的方法,变相用pairwise的方法来训练模型,输入输出看起来还是pointwise的。
但是对于LLM-as-a-Judge来说,pairwise应该指的就是前者。在One inferecne的prompt中注入两个candidates,然后LLM来判断。
目前来看,这是个很不错的方法,有很多的研究集中在怎么把pairwise results 转换成listwise,相关工作有PRP-Graph (2024), REALM (2025) 这种。当然有很直接的multi-round bubble sort.
Setwise
另一种很有意思的方法,首先对candidate list进行分割,然后对于每个集合选取最好的top-k,然后合并起来再筛选top-k。 有效缓解了listwise长序列的问题,并且比pairwise看起来更高效。
目前看到一个很不错的方法 (Pivot-based),选择某个pivot放在每一个set里,然后淘汰比pivot差的,选择比pivot好的再进一步aggregate和filtering。
但是这种更加适用于拥有大量candidates的场景,比如RAG的这种大数据量ranking任务。
LLM Uncertainty
LLM的uncertainty分为两种:
- Aleatoric:来自于noisy data,由于数据的噪音,因此LLM学不到清晰的信号。 -> irreducible
- Epistemic:来自于limited data coverage,主要是因为训练集的覆盖面太小,或者质量不够高导致的,总体而言就是训练数据的质量不够高。-> mitigated (增加训练量?RAG?)