USP技术提升大语言模型的零样本学习能力

news2024/11/17 12:23:29

大语言模型(LLMs)在零样本和少样本学习能力上取得了显著进展,这通常通过上下文学习(in-context learning, ICL)和提示(prompting)来实现。然而,零样本性能通常较弱,因为缺乏指导和难以应用现有的自动提示设计方法。论文提出了一种名为Universal Self-Adaptive Prompting(USP)的自动提示设计方法,旨在提升大语言模型(LLMs)在零样本学习(zero-shot learning)任务中的表现。USP通过使用少量未标记数据和仅推理的LLM生成伪示例(pseudo-demonstrations),从而在零样本设置中实现强大的性能提升。

自动提示设计方法是一种用于提高大语言模型(LLMs)在特定任务上性能的技术。这种方法特别适用于零样本(zero-shot)和少样本(few-shot)学习场景,其中模型需要在没有或只有很少的标注数据的情况下学习执行任务。自动提示设计通过生成或选择有效的提示(prompts),帮助模型更好地理解任务并生成适当的输出。

下面是USP方法的关键特点和步骤:

  1. 任务类型分类:USP首先将可能的自然语言处理(NLP)任务归类为三种类型之一:分类(CLS)、短文生成(SFG)和长文生成(LFG)。

  •  CLS (Classification):分类任务,涉及从有限的选项中选择正确答案。
  • SFG (Short-form Generation):短文生成任务,通常涉及问答或补全任务,其中正确答案可能有多个。
  • LFG (Long-form Generation):长文生成任务,如摘要生成,涉及生成较长的文本。
  1. 伪示例生成:在零样本设置中,USP使用未标记数据和推理-only的LLM生成伪示例。这些伪示例是从模型的输出中选择的,旨在模拟真实示例,帮助模型更好地学习任务。

  2. 自适应选择器:USP根据不同的任务类型使用相应的选择器来挑选最合适的查询和模型生成的响应作为伪示例。选择器通过评分函数来量化模型对每个候选伪示例的置信度。

  3. 两阶段过程

    • 第一阶段:LLM在零样本方式下被提示生成一组候选响应。
    • 第二阶段:将选定的伪示例作为上下文信息,与测试查询拼接,然后再次提示LLM以获得最终预测。
  4. 评分函数设计:USP为每种任务类型设计了不同的评分函数,以选择高质量的伪示例。例如:

    • 分类任务:使用负熵作为评分函数,以量化模型对分类标签的置信度。
    • 短文生成任务:使用归一化熵和多样性指标来评估模型生成的响应的置信度。
    • 长文生成任务:使用响应之间的平均成对ROUGE分数来衡量置信度。
  5. 成本分析:USP在计算上是高效的,因为它只需要少量的额外LLM查询。

除了USP,还有其它一些自动提示设计方法,如AutoCoT和Z-ICL,它们也使用模型生成的输出作为伪示例,但在选择过程和适用性方面存在差异。这些方法通常需要更多的LLM查询,并且可能需要对特定任务类型进行特定的设计。

在论文中,作者们设计了一系列实验来验证Universal Self-Adaptive Prompting (USP) 方法的有效性。这些实验在以下模型上进行:

  • PaLM-540B:一个具有540亿参数的大型语言模型。
  • PaLM-62B:一个具有62亿参数的大型语言模型。
  • PaLM 2-M:PaLM 2模型的一个变种,该模型在多语言和推理任务上具有更强的能力。

实验涉及的任务类型包括:

  • CLS (Classification)、SFG (Short-form Generation)、LFG (Long-form Generation)

在这些任务上,USP与以下几种基线方法进行了比较:

  • 标准零样本提示:传统零样本学习方法,没有使用任何示例。
  • AutoCoT:一种自动化的提示设计方法,使用聚类来选择伪示例。
  • 随机示例:随机选择示例的方法,作为USP方法的一种简化版本进行比较。
  • 标准少样本提示:使用少量标注数据进行学习的少样本学习方法。

实验结果表明,USP在多个任务上都取得了显著的性能提升。具体来说:

  • USP在生成任务(SFG和LFG)上的性能提升尤为显著,这可能是因为生成任务通常具有更大的行动空间,因此更依赖于示例提供的指导。
  • 更大或更先进的模型(如PaLM 2-M)中,USP的性能提升也更为明显,这表明模型的规模和训练技术的进步使得它们能够更好地利用高质量的示例进行学习。

此外,作者们还测试了USP的少样本变体(USPfs),这是在只有少量标注数据可用的情况下使用USP的一个变种。在PaLM 2-M模型上,USPfs在BBH (BIG-bench Hard) 任务上也展现了良好的性能。BBH任务是一组设计来挑战模型推理和逻辑能力的复杂任务。USPfs通过生成额外的伪示例来增强标注数据,从而在这些任务上取得了性能提升。

这些实验结果证明了USP方法在零样本和少样本学习场景下的有效性,特别是在处理复杂的NLP任务时,USP能够显著提高模型的性能。

论文链接:http://arxiv.org/pdf/2305.14926

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

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

相关文章

c#Excel:2.写入Excel表 3.读取Excel表

--写入Excel表-- 该例首先从数据库aq中读取学生信息表staq(参考数据库章节),然后将学生信息表中的数据写入Excel表格中 (1)在OfficeOperator类库项目的ExcelOperator类中定义索引器,用于获取Excel表格中的单元格,代码…

QT:QT窗口(一)

文章目录 菜单栏创建菜单栏在菜单栏中添加菜单创建菜单项添加分割线 工具栏创建工具栏设置停靠位置创建工具栏的同时指定停靠位置使用QToolBar类提供的setAllowedAreas函数来设置停靠位置 设置浮动属性设置移动属性 状态栏状态栏的创建在状态栏中显示实时消息在状态栏中显示永久…

Meta Llama 3 使用 Hugging Face 和 PyTorch 优化 CPU 推理

原文地址:meta-llama-3-optimized-cpu-inference-with-hugging-face-and-pytorch 了解在 CPU 上部署 Meta* Llama 3 时如何减少模型延迟 2024 年 4 月 19 日 万众期待的 Meta 第三代 Llama 发布了,我想确保你知道如何以最佳方式部署这个最先进的&…

深入学习Redis(1):Redis内存模型

Redis的五个对象类型 字符串,哈希,列表,集合,有序集合 本节有关redis的内存模型 1.估算redis的内存使用情况 目前内存的价格比较的高,如果对于redis的内存使用情况能够进行计算,就可以选用合适的设备进…

Docker高频使用命令

一、Docker常用命令总结 1.镜像命令管理 指令描述ls列出镜像build构建镜像来自Dockerfilehoistory查看历史镜像inspect显示一个或多个镜像的详细信息pull从镜像仓库拉取镜像push推送一个镜像仓库rm移除一个或多个镜像prune一处未使用的镜像,没有被标记或被任何容器…

上位机图像处理和嵌入式模块部署(树莓派4b和qt应用全屏占有)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 我们都知道,嵌入式应用一般都是为了某一个特定应用而存在的。也就是说,和pc不同,这个嵌入式板子一般都是为了解…

Java之LinkedHashMap

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。…

【数学建模】矩阵微分方程

一、说明 我相信你们中的许多人都熟悉微分方程,或者至少知道它们。微分方程是数学中最重要的概念之一,也许最著名的微分方程是布莱克-斯科尔斯方程,它控制着任何股票价格。 ​​ 股票价格的布莱克-斯科尔斯模型 微分方程可以由数学中的许多…

正在载入qrc文件 指定的qrc文件无法找到。您想更新这个文件的位置么?

打开Qt的ui文件&#xff0c;弹出提示框 如果需要用到qrc文件&#xff0c;选择Yes&#xff0c;再选择qrc文件所在的位置&#xff1b;如果不需要qrc文件&#xff0c;可以选择No&#xff0c;然后用普通文本编辑器打开&#xff0c;将“ <resources> <include location&q…

去哪儿网机票服务请求体bella值逆向

作者声明&#xff1a;文章仅供学习交流与参考&#xff01;严禁用于任何商业与非法用途&#xff01;否则由此产生的一切后果均与作者无关&#xff01;如有侵权&#xff0c;请联系作者本人进行删除&#xff01; 一、加密定位 直接全局搜索bella&#xff0c;在可疑的地方下断&…

2024/5/5 英语每日一段

Meanwhile, in a twist, Tesla this month settled a high-profile case in Northern California that claimed Autopilot played a role in the fatal crash of an Apple engineer, Walter Huang. The company’s decision to settle with Huang’s family—along with a ruli…

数据结构学习/复习7--栈的实现/括号匹配/队列的实现/两个队列实现栈

一、栈 1.概念及性质 2.栈的实现(top0版) 注意事项&#xff1a;top也可初始为-1,代码需要调整 二、栈练习 1.括号匹配 三、队列 1.概念及性质 2.队列的实现 四、队列练习 1.两个队列实现栈

2024年 Java 面试八股文——SpringBoot篇

目录 1. 什么是 Spring Boot&#xff1f; 2. 为什么要用SpringBoot 3. SpringBoot与SpringCloud 区别 4. Spring Boot 有哪些优点&#xff1f; 5. Spring Boot 的核心注解是哪个&#xff1f;它主要由哪几个注解组成的&#xff1f; 6. Spring Boot 支持哪些日志框架&#…

10个使用NumPy就可以进行的图像处理步骤

图像处理是一种数学计算。数字图像由称为像素的彩色小点组成。每个像素由红、绿、蓝(RGB)三个独立的颜色组成。每个像素中的主色由每个RGB分量的数值决定。 本文将介绍10个使用使用NumPy就可以进行的图像处理步骤&#xff0c;虽然有更强大的图像处理库&#xff0c;但是这些简单…

数据结构-二叉树结尾+排序

一、二叉树结尾 1、如何判断一棵树是完全二叉树。 我们可以使用层序遍历的思路&#xff0c;利用一个队列&#xff0c;去完成层序遍历&#xff0c;但是这里会有些许的不同&#xff0c;我们需要让空也进队列。如果队列里到最后只剩下空那么这棵树就是完全二叉树。具体的实现如下…

【Flask 系统教程 2】路由的使用

Flask 是一个轻量级的 Python Web 框架&#xff0c;其简洁的设计使得构建 Web 应用变得轻而易举。其中&#xff0c;路由是 Flask 中至关重要的一部分&#xff0c;它定义了 URL 与视图函数之间的映射关系&#xff0c;决定了用户请求的处理方式。在本文中&#xff0c;我们将深入探…

关于安装Tensorflow的一些操作及问题解决

关于conda和tensorflow&#xff1a; 由于在安装tensorflow遇到各种问题&#xff0c;遇坑则进&#xff0c;耗费了很多时间。由此想整理一些关于安装tensorflow的操作和方法。欢迎各位补充和指正&#xff01; 1.conda: 1&#xff09;conda list 查看安装了哪些包。 2&#xff…

OpenCV人脸识别C++代码实现Demo

OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉库&#xff0c;它提供了很多函数&#xff0c;这些函数非常高效地实现了计算机视觉算法。 官网&#xff1a;https://opencv.org/ Github: https://github.com/opencv/opencv Gitcode…

如何打包Apk适配32和64位

一个表格了解lib下的文件夹 .so文件描述armeabi-v7a第七代及以上的ARM处理器&#xff0c;2011年以后生产的大部分Android设备都使用。arm64-v8a第8代、64位ARM处理器&#xff0c;很少设备&#xff0c;三星GalaxyS6是其中之一。armeabi第5代、第6代的ARM处理器&#xff0c;早期…

C语言数据结构之队列

目录 1.队列的概念及结构2.队列的实现逻辑3.队列的代码实现4.相关例题选择题 •͈ᴗ•͈ 个人主页&#xff1a;御翮 •͈ᴗ•͈ 个人专栏&#xff1a;C语言数据结构 •͈ᴗ•͈ 欢迎大家关注和订阅!!! 1.队列的概念及结构 队列&#xff1a;只允许在一端进行插入数据操作&#x…