文献阅读:Is ChatGPT Good at Search? Investigating Large Language Models as Re-Ranking Agent

1. 文章摘要

这篇文章的核心工作主要是考察了一下GPT模型在排序任务当中的效果,发现通过合适的方法(文中给出的滑动窗口 + 排序),可以使得GPT模型在文本排序上的效果超过现在的有监督模型的SOTA结果。

更甚者,使用GPT模型的标注结果进行模型蒸馏,获得的蒸馏模型的效果在某些任务当中依然可以超过当前的SOTA结果。

文中给出了整体的实验结果图如下:
在这里插入图片描述

由此,文章展示了GPT模型在语义理解上的强大能力以及另一种可行的应用途径。

下面,我们来具体看一下这篇文章的具体内容。

2. 方法介绍

这篇文章的方法的核心其实就是如何将GPT模型的结果适配到排序任务当中,或者更一般地说,如何将LLM模型应用在排序任务当中。

文中给出了三种可行的方法,他们可以用下面三张图来分别展示:
在这里插入图片描述

其中,前两种方法是已有的方法,其思路其实还是比较常见的ranker的思路,就是对每一个文档给出一个score,然后通过这个score给所有的文档进行一下排序。

而第三种方法是文中提出一个方法,具体来说,不再借由一个外部的分数,而是直接让模型端到端的对文档进行排序。

下面,我们来具体来看一下这三个具体的方法:

1. Query Generation

首先,第一种常见的方法还是使用比较直接的思路,就是尝试计算出每一个回答的ppl值,然后使用这个ppl值作为文档的relevant score,从而对文档进行排序。

当然,这里一个显著的问题就是,ppl本质上还是描述的是文本的通顺度,而非是语义的契合度,虽然两者往往是非常契合的,但是并不等价,因此这种方式先天上存在一定的缺陷……

2. Relevance Generation

关于文中的第二种方法,如前所述,本质上依然还是用一个score来对每一个文档进行打分。

不过不同于第一种方法当中使用ppl,这里更偏近于朝向语义层面的理解,如上图b中所示,是给出passage与query之后,直接询问两者的相关性,然后通过回答当中yes与no的生成概率p的大小进行打分。

用文中的公式表达即为:

s i = { 1 + p ( y e s ) if output is yes 1 − p ( n o ) if output is no s_i = \left\{ \begin{aligned} 1 + p(yes) && \text{if output is yes} \\ 1 - p(no) && \text{if output is no} \end{aligned} \right. si={ 1+p(yes)1p(no)</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值