文献阅读:Large Language Models are Null-Shot Learners

本文探讨了一种名为∅ShotPrompt的技术,利用大型语言模型自身存在的幻觉进行生成,虽然有趣但可能在未来效果受限。文章通过实验展示了这种方法在不同模型和数据集上的效果,以及其与现有策略的兼容性和局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 文章简介

这篇文章是立命馆大学在今年1月发表的一篇工作,依然是一个prompt tuning的一个工作,不过蛮有意思的。

这篇文章提出的一个核心方法叫做 ∅ \varnothing shot prompt,简单来说就是假装告诉模型给了一些example,然后实际不给,然后让模型进行生成,在这种情况下,发现模型获得了较之普通情况下更好的效果表达,也是挺神奇的。

本质上来说,这篇文章就是注意到了当前LLM无法绕开的幻觉问题,然后反其道而用之,利用模型自身的“幻觉”来辅助生成,获得更好的生成效果。

在这里插入图片描述

下面,我们来具体对文章内容进行一下展开。

2. 方法介绍

首先,我们来看一下 ∅ \varnothing shot prompt的具体方法实现。

这部分其实真的很签单,前面说的基本就是全部了,即提示模型prompt中包含一些实际并不存在的example,然后让模型根据这些不存在的example来生成对应的结果。

文中给出了一个具体的实现的示例如下:

在这里插入图片描述

3. 实验考察 & 结论

然后,我们来看一下文中给出的一些关于 ∅ \varnothing shot prompt的具体实验。

1. 基础实验

首先,我们来看一下文中关于 ∅ \varnothing shot prompt的一些基础实验。

其实主要也就是在不同的模型上使用 ∅ \varnothing shot prompt在不同的数据集下进行一下考察。

因此,我们先看一下文中使用了哪些模型以及数据集,然后看一下得到的实验结果以及对应可以得到的结论。

1. 实验设计

我们首先来看一下文献中使用的任务,对应的数据集以及使用的模型:

  1. Arithmetic Reasoning
    • AQuA-RAT
    • GSM8K
  2. Commonsense Reasoning
    • StrategyQA
    • WinoGrande
  3. Reading Comprehension
    • RACE
  4. Natural Language Inference and Closed-Book Question Answering
    • ANLI
    • TriviaQA

而模型方面,则是主要使用以下几个模型:

  1. PaLM 2
  2. PaLM 2 for Chat
  3. GPT-3.5 Turbo
  4. GPT-4 Turbo
2. 实验结果

文中得到的实验结果如下:

在这里插入图片描述

可以看到:

  • ∅ \varnothing shot prompt在PaLM2的两个模型上可以普遍地提升模型效果,几乎在所有任务上均有提升效果;
  • ∅ \varnothing shot prompt在PaLM2模型上的效果是明显优于Chat模型的,原因可能由于Chat模型在SFT当中进行了对齐,消除了更多的幻觉;
  • 而在GPT3.5 Turbo模型当中, ∅ \varnothing shot prompt带来了最大的效果提升;
  • 在GPT4 Turbo模型当中, ∅ \varnothing shot prompt基本没有效果。

对于上述现象,文中给出的一个基础解释就是:

  • ∅ \varnothing shot prompt本质上是利用的模型自身的幻觉来进行辅助生成,因此,模型训练的越好,幻觉越弱, ∅ \varnothing shot prompt能够带来的效果增益就越弱,反之,模型越容易生成幻觉, ∅ \varnothing shot prompt能够带来的效果增益就越大。

基于此,文中甚至提出可以使用这个现象来通过 ∅ \varnothing shot prompt对模型本身的幻觉程度进行一个评估。

2. 消融实验

除了上述基础实验当中的实验效果之外,文中还给出了一些消融实验来对 ∅ \varnothing shot prompt进行更细节的考察,具体来说,包括:

  1. 小模型上 ∅ \varnothing shot prompt的有效性
  2. 是否与其他prompt tuning策略兼容
  3. ∅ \varnothing shot prompt的位置是否对效果有影响
  4. ∅ \varnothing shot prompt的组成本身对效果的影响

下面,我们来对这些内容逐一进行一下整理。

1. 小模型上的有效性

首先,关于 ∅ \varnothing shot prompt在小模型上的有效性,文中在LLama 2 7B模型上进行了一下考察,得到结果如下:

在这里插入图片描述

可以看到:

  • ∅ \varnothing shot prompt在LLama 2 7B上有较好的效果表达,但是在LLama 2 7B Chat上面的效果并不好,这不仅证明了 ∅ \varnothing shot prompt在小模型上的有效性,且同样复现了前述 ∅ \varnothing shot prompt在Chat模型上效果更差的现象,说明对齐消除幻觉确实会减弱 ∅ \varnothing shot prompt的效果。
2. ∅CoT Prompting

然后,文中还考察了一下 ∅ \varnothing shot prompt能否与其他的prompt tuning策略兼容,具体来说,文中主要考查了一下 ∅ \varnothing shot prompt与CoT的联合使用效果,即文中提到的 ∅ \varnothing CoT prompt。

给出文中的一个 ∅ \varnothing CoT prompt的具体示例如下:

在这里插入图片描述

对应文中得到的实验结果如下:

在这里插入图片描述

可以看到:

  • ∅ \varnothing CoT prompt的效果并不如CoT本身。

这个其实也好理解,因为本质上 ∅ \varnothing shot prompt利用的就是模型本身的幻觉来进行的生成优化,而CoT策略则本身就是为了减少模型的幻觉,因此两者在实现机理上本就是相悖的,因此 ∅ \varnothing CoT prompt效果变差反而验证了文中的结论。

3. 位置影响

除此之外,文中还考察了一下 ∅ \varnothing shot prompt的位置对于结果的影响,具体就是这个虚拟的example应该出现在头部还是在prompt的尾部。

文中得到的实验结果如下:

在这里插入图片描述

可以看到:

  • ∅ \varnothing shot出现在prompt的头部能够带来更好的效果。

这个现象和其它的文章中的结论也是一致的,即prompt头部的内容会较之其他部分更加重要一些。

4. 组成内容

最后,文中还考察了一下不同写法的 ∅ \varnothing shot prompt的效果。

文中给出了4种不同的 ∅ \varnothing shot prompt的实现如下:

在这里插入图片描述

对比上述4中prompt,文中得到实验结果如下:

在这里插入图片描述

可以看到:

  • 文中的最终版本的 ∅ \varnothing shot prompt有着最好的整体效果。

不过这部分的实验有点偏弱了,或许再魔改魔改prompt能够获得更好的prompt也说不好。

4. 总结 & 思考

综上,这篇文章感觉还是非常非常有意思的,因为它和其他的文章思路上是截然不同的。

众所周知,LLM的一大问题就是生成的幻觉问题,或者说事实性错误问题。而往往大家的思路都是考虑怎么去优化这个问题,有从模型角度的RLHF和SFT,也有从prompt工程角度的CoT,few shot learning或者Take a Step Back等等等等。

而这篇文章完全是另辟蹊径,选择的路线是打不过就加入,既然无法绕开幻觉,那就利用模型本身的幻觉现象来增强模型的生成质量。

但是这种另辟蹊径同时也就令这篇工作多少有些鸡肋了,因为本质上来说他并没有去解决模型本身的幻觉问题,反而会放大模型的幻觉,因此输出结果可能也会更不可控。

另一方面,模型发展的整体大方向一定还是要去消除模型固有的幻觉的,因此这种强依赖于模型本身幻觉的方法在未来的有效性一定也是越来越差的,文中在GPT4上的效果事实上就已经证明了这个情况了,因此很难说这个工作实际在应用中是否真的能够有用。

因此,结论而言,这个工作有趣是真的有趣的,但是无用也是真的无用,至少我是看不出这个工作有什么真正被利用起来的可能了……

当然,纯粹一家之言,大家看看就行了,莫当真,莫当真。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值