Google DeepMind: Many-Shot vs. Few-Shot

news2024/11/26 8:23:48

本文介绍了如何通过增大上下文窗口,利用大型语言模型(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.coloradmin.cn/o/1606943.html

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

相关文章

MicroSIP电话呼叫软件使用及配置方法

MicroSIP是一款开源的SIP协议电话软件,它可以帮助你在计算机上进行语音和视频通话。下面是关于如何使用和配置MicroSIP的一些基本步骤: 安装MicroSIP 从MicroSIP官方网站下载适合你操作系统的安装包23。 解压下载的文件,并运行安装程序。 …

可以与 FastAPI 不分伯仲的 Python 著名的 Web 框架

正如你所理解的,任何领域都不可能停止进步,不断使用相同的工具意味着不思进取。这一点在信息技术领域,尤其是网络开发行业非常明显。 关于网络框架,不论是 Django 和 Flask 等传统框架还是 Python 的新型高级框架,一直…

算法课程笔记——常用库函数

memset初始化 设置成0是可以每个设置为0 而1时会特别大 -1的补码是11111111 要先排序 unique得到的是地址 地址减去得到下标 结果会放到后面 如果这样非相邻 会出错 要先用sort排序 O(n)被O(nlogn)覆盖

【智能算法】饥饿游戏搜索算法(HGS)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2021年,Yang等人受到自然界饥饿驱动的活动和动物的行为选择启发,提出了饥饿游戏搜索算法(Hunger Games Search, HGS)。 2.算法原理 2.1算法思想 HGS…

【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)

目录 1、网络编程 1.1、概述 1.1、网络编程三要素 2、UDP通信 2.1、DatagramPacket 与 DatagramSocket 2.1、 UDP发收数据示例 1、网络编程 1.1、概述 在网络通信协议下,不同计算机上运行的程序,进行的数据传输应用场景:即时通信、网游…

韩顺平Java | C27 正则表达式

入门介绍 需求:提取文本中某类字符 传统方法:遍历每个字符,判断其是否在ASCII码中某种类型得编码范围内,代码量大,效率不高 正则表达式(RegExp, regular expression):处理文本的利器,是对字符…

网络编程套接字(三)之TCP服务器简单实现

目录 一、服务端TcpServer 1、tcp_server.hpp 2、tcp_server.cc 二、客户端TcpClient tcp_client.cc 三、服务器和客户端进行通信 四、完整代码 一、服务端TcpServer 首先我们需要对服务端进行封装。我们需要的成员变量有IP地址,端口号port,以及监…

49.基于SpringBoot + Vue实现的前后端分离-爱心公益网站系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统,采用SpringBoot Vue框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SpringBoot Vue技术的爱心公益网站系统设计与实现管理工作…

Gartner发布信任、风险和安全管理领域的生成式人工智能创新指南:生成式AI整个生命周期运行中的攻击面

生成式人工智能带来了三类新风险:内容异常、数据保护和人工智能应用安全。使用或构建 GenAI 应用的 IT 领导者可以利用这项研究来了解市场动态并评估新兴的 GenAI TRiSM 技术和解决新风险的提供商。 主要发现 在企业应用中集成大语言模型(LLM &#xff0…

《QT实用小工具·三十》基于QT开发的访客管理平台demo

1、概述 源码放在文章末尾 该项目为访客管理平台demo,包含主界面、系统设置、警情查询、调试帮助、用户退出功能。 项目部分代码如下: #ifndef QTHELPER_H #define QTHELPER_H#include "head.h"class QtHelper { public://获取所有屏幕区域…

Vue 3 项目构建与效率提升:vite-plugin-vue-setup-extend 插件应用指南

一、Vue3项目创建 前提是已安装Node.js(点击跳转Node官网) npm create vuelatest这一指令将会安装并执行 create-vue,它是 Vue 官方的项目脚手架工具。你将会看到一些诸如 TypeScript 和测试支持之类的可选功能提示: ✔ Projec…

InstantMesh:利用稀疏视图大规模重建模型从单张图像高效生成3D网格

作者:Jiale Xu,Weihao Cheng,Yiming Gao等 编译:东岸因为一点人工一点智能 InstantMesh:利用稀疏视图大规模重建模型从单张图像高效生成3D网格在这项工作中,我们提出了InstantMesh,一个开源的…

5.MMD ray渲染天空盒的导入和参数介绍

现在已经有了一个TDAMiku的模型 1. Sky with box 导入Sky with box.pmx 天空盒 再把ray.x和ray_controler.pmx放进去 调节背景模型绘制顺序 天空盒在最上面 上材质 给miku上main.fx材质 在自发光一栏给天空盒添加对应的材质 Sky with lighting.fx 调节参数 按TAB…

python中的守护进程、僵尸进程、孤儿进程

继续上一篇文章的探讨:https://blog.csdn.net/weixin_39743356/article/details/137885419 守护进程 守护进程(Daemon Process)是一种在后台运行的特殊类型的进程,它独立于控制终端,并且周期性地执行某种任务或等待处…

性能分析与调优

性能分析方法 自底向上:通过监控硬件及操作系统性能指标(cpu、内存、磁盘、网络等硬件资源的性能指标)来分析性能问题(配置、程序问题) 先检查,再下药 自顶向下:通过生成负载来观察被测试的系…

解锁外贸财务系统宝藏:多语言多货币平台推荐汇总

本文将为您推荐几款主流的多语言多货币外贸财务系统有:Zoho Books 、SAP、Oracle、QuickBooks、Xero、TradeGecko,并分析了每款产品的主要特点,希望能帮助到你! 一、Zoho Books Zoho Books是一款支持180种货币、17种语言的外贸…

视频技术笔记-色差分量

色差分量接口采用YPbPr和YCbCr两种标识。 YPbPr:表示逐行扫描色差输出。 YCbCr:后者表示隔行扫描色差输出。 色差分量接口一般利用3根信号线分别传送亮色和两路色差信号。 色差分量接口是色差接口使用不是很普遍,主要的原因是一些CRT电视机…

CSS 格式化上下文 + CSS兼容处理

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 ✍CSS 格式化上下文🔥1 格式化上下文🌷1.1 块级格式化…

BIM数据管理快速指南

在我的日常工作中,作为数字协作协调员,我花费大量时间收集、检查和管理各种 BIM 数据。 很多次收到一组数据后我就无奈地举手——质量远远达不到我可以使用的程度。 然后我会开始一个普通的数据清理过程。 我无数次咒骂过这种情况——大多数建设项目的人…

vue动态添加style的样式

vue在动态添加style样式的时候,有以下注意点 1.凡是有-的style属性名都要变成驼峰式,比如font-weight,需要写成fontWeight 2.除了绑定值,其他属性名的值要用引号括起来,比如width:‘75px’,不要忘记引号 3.动态绑定时&…