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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法刷题训练营day23

代码随想录算法刷题训练营day23:LeetCode(669)修剪二叉搜索树、LeetCode(108)将有序数组转换为二叉搜索树、LeetCode(538)把二叉树转化为累加树 LeetCode(669)修剪二叉搜索树 题目 代码 /*** Definition for a binary tree node.* public class TreeNode {* …

【Vue】Vue双向绑定原理

【Vue】Vue双向绑定原理 定义:数据变化视图会自动更新,视图变化数据也会更新原理:通过数据劫持和发布订阅模式实现的实现 定义:数据变化视图会自动更新,视图变化数据也会更新 比如说,当在输入框输入文字时…

SocketWeb实现小小聊天室

SocketWeb实现小小聊天室 消息推送的常见方式轮询长轮询SSE(server-sent event):服务器发送事件WebSocketWebSocket简介WebSocket API 实现小小聊天室实现流程消息格式客户端-->服务端服务端-->客户端 消息推送的常见方式 轮询 浏览器…

图书推荐|Windows Server 2022 Active Directory配置实战

十几年磨一剑,畅销书第10次升级 本书简介 《Windows Server 2022 Active Directory配置实战》是微软技术专家最新推出的Windows Server 2022两卷力作中的Active Directory配置实战篇。 《Windows Server 2022 Active Directory配置实战》延续了作者一贯的写作风格…

MATLAB环境下基于洗牌复杂演化的图像分割算法

智能优化算法因其较强的搜索解能力而得到了大量的应用,在这些计算智能算法中,群体智能优化算法因其高效性、有效性以及健壮性等优点而得到了科研人员的青睐。这类算法借鉴生物群体的合作特性,主要解决大规模复杂的分布式问题,研究…

第7.1章:StarRocks性能调优——查询分析

目录 一、查看查询计划 1.1 概述 1.2 查询计划树 1.3 查看查询计划的命令 1.3 查看查询计划 二、查看查询Profile 2.1 启用 Query Profile 2.2 获取 Query Profile 2.3 Query Profile结构与详细指标 2.3.1 Query Profile的结构 2.3.2 Query Profile的合并策略 2.…

WPF Style样式设置

1.本window设置样式 <Window x:Class"WPF_Study.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expressi…

CentOS删除除了最近5个JAR程序外的所有指定Java程序

帮我写一个shell脚本,ps -eo pid,lstart,cmd --sort=-start_time | grep "pgz-admin"查到的结果,返回的所有进程PID,第六个之上的,全部kill 当然,你可以创建一个简单的Shell脚本来完成这个任务。以下是一个例子: #!/bin/bash# 获取包含 "pgz-admin"…

JSONVUE

1.JSON学习 1.概念: JSON是把JS对象变成字符串. 2.作用: 多用于网络中数据传输. JavaScript对象 let person{name:"张三",age:18}//将JS对象转换为 JSON数据let person2JSON{"name":"张三","age":18}; 3.JS对象与JSON字符串转换…

Python爬虫-付费代理推荐和使用

付费代理的使用 相对免费代理来说&#xff0c;付费代理的稳定性更高。本节将介绍爬虫付费代理的相关使用过程。 1. 付费代理分类 付费代理分为两类&#xff1a; 一类提供接口获取海量代理&#xff0c;按天或者按量收费&#xff0c;如讯代理。 一类搭建了代理隧道&#xff0…

AR应用的开发流程

增强现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;是一种技术&#xff0c;它将虚拟信息叠加在真实世界中&#xff0c;通过计算机生成的视觉、听觉、触觉等感官反馈&#xff0c;将虚拟元素与现实世界进行交互。这种技术使得用户可以与现实世界中的虚拟对象进行互…

Windows系统搭建Elasticsearch引擎结合内网穿透实现远程连接查询数据

文章目录 系统环境1. Windows 安装Elasticsearch2. 本地访问Elasticsearch3. Windows 安装 Cpolar4. 创建Elasticsearch公网访问地址5. 远程访问Elasticsearch6. 设置固定二级子域名 Elasticsearch是一个基于Lucene库的分布式搜索和分析引擎&#xff0c;它提供了一个分布式、多…

社交媒体变革者:剖析Facebook对在线互动的贡献

随着数字化时代的蓬勃发展&#xff0c;社交媒体已经成为人们日常生活中不可或缺的一部分。在这个领域的发展中&#xff0c;Facebook作为先行者和领导者&#xff0c;对在线互动的演变和发展产生了深远的影响。本文将深入剖析Facebook在社交媒体领域的贡献&#xff0c;以及它对在…

Python爬虫-爬取B站番剧封面

本文是本人最近学习Python爬虫所做的小练习。如有侵权&#xff0c;请联系删除。 页面获取url 代码 import requests import os import re# 创建文件夹 path os.getcwd() /images if not os.path.exists(path):os.mkdir(path)# 当前页数 page 1 # 总页数 total_page 2# 自动…

项目打包提示一堆 ts 类型错误问题解决

问题 vue3 ts 项目在打包的过程中报了一大堆 ts 类型错误提示&#xff0c;如下图所示&#xff1a; 报错&#xff1a;Could not find a declaration file for module … implicitly has an ‘any’ type. 解决方法 查看 package.json 文件&#xff0c;可以看到&#xff0c;默…

Python Pandas将 DataFrame 转换为列表

更多Python学习内容&#xff1a;ipengtao.com 在数据分析和处理过程中&#xff0c;经常会使用到 Pandas 库来处理和操作数据。Pandas 提供了灵活强大的数据结构 DataFrame&#xff0c;它可以存储和处理各种类型的数据&#xff0c;并提供了丰富的方法和函数来进行数据操作。有时…

AtCoder ABC342 A-D题解

华为出的比赛&#xff1f; 好像是全站首个题解哎&#xff01; 比赛链接:ABC342 Problem A: 稍微有点含金量的签到题。 #include <bits/stdc.h> using namespace std; int main(){string S;cin>>S;for(int i0;i<s.size();i){if(count(S.begin(),S.end(),S[i…

随机分布模型

目录 前言 一、离散型随机变量 1.1 0-1分布 1.2 二项分布 1.3 帕斯卡分布 1.4 几何分布 1.5 超几何分布 1.6 泊松分布 二、连续型随机变量 2.1 均匀分布 2.2 指数分布 2.3 高斯分布/正态分布 2.4 分布&#xff08;抽样分布&#xff09; 2.5 t分布&#xff08;抽样…

matlab经验模式分解的R波检测算法

1、内容简介 略 56-可以交流、咨询、答疑 2、内容说明 略 心血管疾病是威胁人类生命的主要疾病之一&#xff0c;而心电信号&#xff08;electrocardiogram, ECG&#xff09; 则是评价心脏功能的主要依据&#xff0c;因此&#xff0c;关于心电信号检测处理的研究一直为各方所…

react中修改state中的值无效?

// 初始化state state {personArr:[{name:张三,id:1},{name:李四,id:2},{name:王五,id:3}] }componentDidMount(){const newName 赵六const indexUpdate 1const newArr this.state.personArr.map((item,index)>{if(indexUpdate index){return {...item,name:newName}}e…