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

  • 文献阅读:Large Language Models are Null-Shot Learners
    • 1. 文章简介
    • 2. 方法介绍
    • 3. 实验考察 & 结论
      • 1. 基础实验
        • 1. 实验设计
        • 2. 实验结果
      • 2. 消融实验
        • 1. 小模型上的有效性
        • 2. ∅CoT Prompting
        • 3. 位置影响
        • 4. 组成内容
    • 4. 总结 & 思考
  • 文献链接:https://arxiv.org/abs/2401.08273

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上的效果事实上就已经证明了这个情况了,因此很难说这个工作实际在应用中是否真的能够有用。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/409213.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

双重检查锁定与延迟初始化

双重检验锁:多线程下的单例模式。 懒加载模式:延迟初始化。

域名系统与IP地址分配

域名 域名的概述 域名是一个逻辑的概念,它不反映主机的物理地点 域名结构 由于数字形式的IP地址难以记忆和理解,为此人们采用英文符号来表示IP地址,这就产生了域名,域名长度不超过255各字符,每一层域名长度不超过6…

利用psutil库检查脚本是否在运行

摘要 如果要判断某一脚本是否在运行,可以通过psutil库获取所有进程的cmdline,并判断指定的文件名是否在cmdline中。 目录 1.psutil库简介 2.检查代码及说明 2.1检查思路 2.2异常捕获 2.3执行方法 1.psutil库简介 psutil 是一个跨平台(…

算法沉淀——动态规划之简单多状态 dp 问题(上)(leetcode真题剖析)

算法沉淀——动态规划之简单多状态 dp 问题上 01.按摩师02.打家劫舍 II03.删除并获得点数04.粉刷房子 01.按摩师 题目链接:https://leetcode.cn/problems/the-masseuse-lcci/ 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在…

【Unity】提示No valid Unity Editor liscense found.Please active your liscense.

有两个软件,如果只有一个,点黑的不会有效果、、、、(楼主是这个原因,可以对号入座一下) 简而言之,就是去下载Unity Hub,再里面激活管理通行证 问题情境: 点击unity出现以下弹窗&a…

防御保护--入侵防御系统IPS

目录 DFI和DPI技术 --- 深度检测技术 入侵防御(IPS) 签名 入侵防御策略的配置 内容安全:攻击可能只是一个点,防御需要全方面进行 IAE引擎 DFI和DPI技术 --- 深度检测技术 DPI--深度包检测技术--主要针对完整的数据包&#xff0…

操作符详解3

✨✨ 欢迎大家来到莉莉的博文✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 前面我们已经讲过算术操作符、赋值操作符、逻辑操作符、条件操作符和部分的单目操作 符,今天继续介绍一部分。 目录 1.操作符的分类 2…

typescript 类型声明文件

typescript 类型声明文件概述 在今天几乎所有的JavaScript应用都会引入许多第三方库来完成任务需求。这些第三方库不管是否是用TS编写的,最终都要编译成JS代码,才能发布给开发者使用。6我们知道是TS提供了类型,才有了代码提示和类型保护等机…

K8S—集群调度

目录 前言 一 List-Watch 1.1 list-watch概述 1.2 list-watch工作机制 二 集群调度 2.1 调度过程 2.2 Predicate 和 Priorities 的常见算法和优先级选项 2.3 调度方式 三 亲和性 3.1 节点亲和性 3.2 Pod 亲和性 3.3 键值运算关系 3.4 Pod亲和性与反亲和性 3.5 示例…

《高质量的C/C++编程规范》学习

目录 一、编程规范基础知识 1、头文件 2、程序的板式风格 3、命名规则 二、表达式和基本语句 1、运算符的优先级 2、复合表达式 3、if语句 4、循环语句的效率 5、for循环语句 6、switch语句 三、常量 1、#define和const比较 2、常量定义规则 四、函数设计 1、参…

Python及Pycharm专业版下载安装教程(Python 3.11版)附JetBrains学生认证教程

目录 一、Python下载及安装1、Python下载2、Python安装3、验证是否安装成功 二、PyCharm下载及安装1、PyCharm下载2、PyCharm安装3、激活PyCharm 三、JetBrains学生认证 本篇主要介绍Python和PyCharm专业版的下载及安装方式,以及通过两种方式进行JetBrains学生认证。…

Meta AI | 指令回译:如何从大量无标签文档挖掘高质量大模型训练数据?

Meta AI | 指令回译:如何从大量无标签文档挖掘高质量大模型训练数据? 文章来自Meta AI,self-Alignment with Instruction Backtranslation[1]:通过指令反向翻译进行自对准。 一种从互联网大量无标签数据中挖掘高质量的指令遵循数据…

vscode 设置打开中断的默认工作目录/路径

vscode 设置打开终端的默认工作目录/路径** 文章目录 vscode 设置打开终端的默认工作目录/路径**打开vscode,打开设置UI 或是设置JSON文件,找到相关设置项方式1:通过打开settings.json的UI界面 设置:方式2:通过打开设置settings.j…

机器学习基础(六)TensorFlow与PyTorch

导语:上一节我们详细探索了监督与非监督学习的结合使用。,详情可见: 机器学习基础(五)监督与非监督学习的结合-CSDN博客文章浏览阅读4次。将监督学习和非监督学习结合起来,就像将两种不同的艺术形式融合&a…

[树形DP] 树的最大独立集

题目 这个挺简单的&#xff0c;注意状态转移时&#xff0c;如果选这个点&#xff0c;那么它的子结点状态应该为不选&#xff0c;如果这个点的状态是不选&#xff0c;那么可以在它的子结点里选择&#xff1a;选/不选两个状态&#xff0c;所以最后结果是max挑选。 #include<b…

python自动化管理和zabbix监控网络设备(有线网络配置部分)

目录 一、拓扑图 二、core-sw1 三、core-sw2 四、sum-sw1 五、sum-sw2 一、拓扑图 二、core-sw1 sys sysname core-sw1 vlan batch 10 20 30 40 50 60 100 vlan batch 200 210 220 230 240 250 stp region-configuration region-name huawei revision-level 1 instance…

vue2和vue3 setup beforecreate create生命周期时间比较

创建一个vue程序&#xff0c;vue3可以兼容Vue2的写法&#xff0c;很流畅完全没问题 写了一个vue3组件 <template><div></div> </template><script lang"ts"> import {onMounted} from vue export default{data(){return {}},beforeCr…

深入理解JS的执行上下文、词法作用域和闭包(中)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

现在学Oracle是49年入国军么?

今天周末&#xff0c;不聊技术&#xff0c;聊聊大家说的最多的一个话题 先说明一下&#xff0c;防止挨喷&#x1f606; 本人并不是职业dba&#xff0c;对数据库就是爱好&#xff0c;偶尔兼职&#xff0c;以下仅个人观点分析&#xff0c;如有不同观点请轻喷&#xff0c;哈哈&…

万字长文带你由浅入深夯实ARM汇编基础——汇编指令及寻址方式最全梳理(附示例)!

《嵌入式工程师自我修养/C语言》系列——由浅入深夯实ARM汇编基础&#xff0c;汇编指令及寻址方式梳理&#xff08;附示例&#xff09;&#xff01; 一、引言二、ARM汇编语言2.1 ARM汇编的特点2.2 ARM指令集格式标准2.2.1 机器指令格式2.2.2 汇编指令格式 三、ARM寻址方式3.1 立…