Google DeepMind: Many-Shot vs. Few-Shot

本文介绍了如何通过增大上下文窗口,利用大型语言模型(LLMs)进行多实例上下文学习(Many-Shot In-Context Learning,ICL)的方法。主要描述了现有的几实例上下文学习方法虽然在推理时能够通过少量例子学习,但当例子数量增多时,其性能并没有得到明显提升。此外,文章还解释了现有工作由于依赖人工生成的例子数量有限,无法充分利用多实例上下文学习的潜力。

核心挑战

1️⃣ 挑战1:如何在没有人工例子的情况下进行有效的多实例学习

多实例ICL在例子数量增加时表现出显著的性能提升,但受限于可用的人工生成例子数量。文章通过引入强化上下文学习(Reinforced ICL)使用模型生成的思考过程作为替代,有效解决了这一挑战。

2️⃣ 挑战2:如何克服预训练偏差,提升模型在复杂推理任务上的表现

文章通过实施无监督ICL,完全去除提示中的推理过程,只用特定领域的问题来提示模型。这种方法特别适用于复杂的推理任务,并能有效地克服预训练中的偏见。

Figure 1: 展示了在多种任务上进行多实例和几实例上下文学习(ICL)的性能比较。图中显示,随着实例(shots)数量的增加,从几实例到多实例学习,性能有显著的提升,尤其是在一些非自然语言任务(如序列奇偶性预测和线性分类)上表现更为突出。图表还标出了在多实例学习中表现最佳的实例数量。

Figure 2: 描述了在多种任务上,最佳性能的实例数量与最大测试实例数量之间的关系,并展示了这些数量与上下文长度的关系。图中的水平虚线表示GPT-3的典型上下文长度(2048个令牌),这是LLM文献中测试的典型几实例提示的代表。对于多个任务,最佳性能的实例数量通常对应于测试的最大实例数量,尽管在某些任务(如代码验证器、规划)上,实例数量超过一定数目后,性能有所下降。

1️⃣ 挑战1:在没有人工例子的情况下进行有效的多实例学习

想象一下你正在尝试学习做饭,但没有食谱,只能依靠看别人做来学习。在多实例上下文学习中,我们面临的挑战类似于需要在没有详细食谱(人工例子)的情况下,通过观察许多不同的烹饪示例来学习如何烹饪。

为了解决这个问题,文章提出了“强化上下文学习”(Reinforced ICL)。这类似于你在观察了几次烹饪后,尝试自己做菜,然后根据结果(好吃或不好吃)来调整你的烹饪方法。在这种方法中,模型不再依赖人工编写的解释,而是生成自己的思考过程来学习。这就好比你通过实践和自我反思来掌握烹饪技巧,而不是仅仅模仿别人的做法。

2️⃣ 挑战2:克服预训练偏差,提升模型在复杂推理任务上的表现

设想你习惯于在城市环境中驾驶,突然有一天你需要在崎岖的山路上开车。你的驾驶习惯和技巧可能需要调整以适应这种新环境。

在文章中,挑战2类似于模型需要适应新的、可能与其训练数据不一致的任务或领域。这里引入的“无监督上下文学习”(Unsupervised ICL)策略相当于模型不再依赖于问题-解决方案对进行学习,而是直接面对问题。这就像你在没有导航的情况下探索山路,必须依赖自己对驾驶的基本理解和即时的判断来应对不同的驾驶情况。

通过这种方式,模型通过直接面对挑战,不依赖既定的解决方案模式,而是学习如何自行构建解决策略,从而有效地克服了预训练中的偏见,并增强了在新领域的适应性和解决问题的能力。这种策略特别适合复杂的推理任务,可以让模型在面对未知和复杂问题时表现更佳。

另外本文中有几个有趣的发现和观点:

1️⃣ 多实例学习的效果超过了预期:文章发现,与几实例学习相比,多实例学习在各种任务上都表现出显著的性能提升,特别是在复杂的非自然语言任务中,如序列奇偶性预测和线性分类。

2️⃣ 模型生成的解释可能优于人工编写的解释:在某些任务中,即使在实例数量相同的情况下,使用模型生成的思考过程(Reinforced ICL)的性能有时甚至能超过使用人工编写的解释。这表明在某些情况下,模型自身生成的内容能更有效地促进学习。

3️⃣ 多实例ICL能够克服预训练偏见:与几实例ICL相比,多实例ICL在处理倾向性标签(如情感分析中的标签替换)时表现出更好的适应性和准确性,显示出随着训练实例的增加,模型能够有效地克服其预训练中的偏见。

4️⃣ 下一个令牌预测损失可能不是下游性能的可靠指标:研究还揭示了,在使用与测试集分布不一致的提示时,负对数似然(NLL)可能无法预测下游ICL性能。这表明评估模型性能时需要考虑更多的指标,而不仅仅是传统的损失函数。

总结

本文通过实验和新方法展示了大型语言模型在多实例上下文学习中的潜力,特别是在克服预训练偏见和处理复杂任务方面的能力。这些发现为未来利用语言模型进行更高效学习提供了有价值的见解和方法论。

今日 git 更新了多篇 arvix 上最新发表的论文,更详细的总结和更多的论文,

请移步 🔗github 搜索 llm-paper-daily 每日更新论文,觉得有帮助的,帮帮点个 🌟 哈。

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

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

相关文章

详解混合精度训练(Mixed Precision Training)

介绍 混合精度训练(Mixed Precision Training)是一种在深度学习中提高训练速度和减少内存占用的技术。在PyTorch中,通过使用半精度浮点数(16位浮点数,FP16)和单精度浮点数(32位浮点数&#xff…

“全网最全”LLM推理框架集结营 | 看似微不足道,却决定着AIGC项目的成本、效率与性能!

00-前序 随着ChatGPT、GPT-4等大语言模型的出现,彻底点燃了国内外的学者们与企业家们研发LLM的热情。国内外的大语言模型如雨后春笋一般的出现,这些大语言模型有一部分是开源的,有一部分是闭源的。 伴随着大语言模型的出现,国内外…

树莓派驱动RGB灯-rpi-ws281x库安装

1 树莓派的操作系统安装 1.1 操作系统选择 这个选择64位的操作的系统来驱动,一定不要选择32位的操作系统。笔者在这个地方浪费不少时间,具体原因不是很清楚。如果32位的操作系统,后面在rpi-ws281x的库时候会有报错。 1.2 操作系统链接如下…

JavaEE初阶Day 11:多线程(9)

目录 Day 11&#xff1a;多线程&#xff08;9&#xff09;生产者消费者模型1. 阻塞队列实现 线程池1. 标准库线程池&#xff08;ThreadPoolExecutor&#xff09;1.1 corePoolSize & maximumPoolSize1.2 keepAliveTime & unit1.3 BlockingQueue<Runnable> workQue…

windows docker desktop==spark环境搭建

编写文件docker-compose.yml version: 3services:spark-master:image: bde2020/spark-master:3.1.1-hadoop3.2container_name: spark-masterports:- "8080:8080"- "7077:7077"- "2220:22"volumes:- F:\spark-data\m1:/dataenvironment:- INIT_D…

Java框架 --- MyBatisPlus

一&#xff1a; MyBatisPlus 官方文档 MyBatis-Plus 二&#xff1a;

代码随想录算法训练营第四十四天| 完全背包,518. 零钱兑换 II ,377. 组合总和 Ⅳ

题目与题解 完全背包 题目链接&#xff1a;完全背包 代码随想录题解&#xff1a;​​​​​​​完全背包 视频讲解&#xff1a;带你学透完全背包问题&#xff01; 和 01背包有什么差别&#xff1f;遍历顺序上有什么讲究&#xff1f;_哔哩哔哩_bilibili 解题思路&#xff1a; 看…

云轴科技ZStack助力上银基金余额宝TA系统快速上线

上银基金管理有限公司&#xff08;上银基金&#xff09;通过ZStack Cloud云平台ZStack分布式存储融合架构构建关键余额宝TA系统&#xff08;开放式基金登记过户系统 &#xff09;实现业务快速如期上线。上银基金不仅可以借助ZStack云平台实现VMware纳管迁移&#xff0c;支持双机…

[C++11] 基础类型扩展解读(long long、char16_t char32_t)

说明&#xff1a; long long是一种基本数据类型&#xff0c;它通常是一种至少64位的有符号整数类型。在C中&#xff0c;long long类型能够存储的数值范围远远超过int或long类型&#xff0c;这使得它非常适合存储非常大的整数。 char16_t和char32_t是C11标准引入的两种新的数据…

【华为OD机试】高效货运【C卷|200分】

【华为OD机试】-真题 !!点这里&#xff01;&#xff01; 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 老李是货运公司承运人&#xff0c;老李的货车额定载货重量为 wt。 现有两种货物&#xff1a; 货物 A 单件重量为 wa&#xff0c;单件运费利润为 pa 货物 B 单件重量为…

Spring学习(三)——AOP

AOP是在不改原有代码的前提下对其进行增强 AOP(Aspect Oriented Programming)面向切面编程&#xff0c;在不惊动原始设计的基础上为其进行功能增强&#xff0c;前面咱们有技术就可以实现这样的功能即代理模式。Java设计模式——代理模式-CSDN博客 基础概念 连接点&#xff08…

2024经常用且免费的10个网盘对比,看看哪个比较好用!

网盘在我们的工作和学习中经常会用到&#xff0c;也是存储资料的必备工具&#xff0c;有了它&#xff0c;我们就不用走到哪都带着移动硬盘了&#xff0c;而目前市场上的主流网盘还有数十款&#xff0c;其中有免费的也有付费的&#xff0c;各家不一&#xff0c;今天小编就来为您…

Linux 安装 GHCup,GHC, cabal 以及通过 cabal 安装 pandoc

文章目录 安装 GHCUP1. 指定国内镜像2. 执行安装3. 安装检查 安装 pandoc1. 初始化包列表2. 安装命令3. Trouble ShootingFailure to build cryptonMemory Exhausted 内存不足 安装 GHCUP 1. 指定国内镜像 在 GHCup 官方网站 上面提供了安装方式&#xff1a; curl --proto h…

[Android]模拟器登录Google Play失败

问题&#xff1a; 模拟器登录Google Play失败&#xff0c;提示couldnt sign in there was a problem communicating with google servers. try again later. 原因&#xff1a; 原因是模拟器没有连接到互联网&#xff0c;打开模拟器中Google浏览器进行搜索一样不行。 解决&am…

移动硬盘(PSSD)中文件占用空间远大于文件大小

定义 文件的大小&#xff1a;文件内容实际具有的字节数&#xff0c;它以Byte为衡量单位&#xff0c;只要文件内容和格式不发生变化&#xff0c;文件大小就不会发生变化。 文件占用空间&#xff1a;文件在磁盘上的所占空间&#xff0c;它最小的计量单位是“簇(Cluster)”。 为…

C语言基础--数组和指针

数组和指针 数组与指针的关系与运用 在C语言中&#xff0c;数组和指针是两个重要的概念&#xff0c;它们之间有着密切的联系。本文将介绍如何通过指针操作数组元素&#xff0c;探讨指针数组的概念以及如何将数组名作为函数参数&#xff0c;帮助读者更好地理解和运用数组与指针…

MySQL高负载排查方法最佳实践(15/16)

高负载排查方法 CPU占用率过高问题排查 使用mpstat查看cpu使用情况。 # mpstat 是一款 CPU 性能指标实时展示工具 # 能展示每个 CPU 核的资源视情况&#xff0c;同时还能将资源使用情况进行汇总展示 # 如果CPU0 的 %idle 已经为 0 &#xff0c;说明此核已经非常繁忙# 打印所…

Istio介绍

1.什么是Istio Istio是一个开源的服务网格&#xff08;Service Mesh&#xff09;框架&#xff0c;它提供了一种简单的方式来为部署在Kubernetes等容器编排平台上的微服务应用添加网络功能。Istio的核心功能包括&#xff1a; 服务治理&#xff1a;Istio能够帮助管理服务之间的…

微服务之CircuitBreaker断路器

一、概述 1.1背景 在一个分布式系统中&#xff0c;每个服务都可能会调用其它的服务器&#xff0c;服务之间是相互调用相互依赖。假如微服务A调用微服务B和微服务C&#xff0c;微服务B和微服务C又调用其他的微服务。这就是构成所谓“扇出”。 如果扇出的链路上某个微服务的调…

状态压缩DP题单

P1433 吃奶酪&#xff08;最短路&#xff09; dp(i, s) 表示从 i 出发经过的点的记录为 s 的路线距离最小值 #include<bits/stdc.h> #define int long long using namespace std; const int N 20; signed main() { int n; cin >> n;vector<double>x(n 1),…