大模型提示学习样本量有玄机,自适应调节方法好

news2024/11/13 9:37:50

引言:探索文本分类中的个性化示例数量

在自然语言处理(NLP)领域,预测模型已经从零开始训练演变为使用标记数据对预训练模型进行微调。这种微调的极端形式涉及到上下文学习(In-Context Learning, ICL),其中预训练生成模型的输出(冻结的解码器参数)仅通过输入字符串(称为指令或提示)的变化来控制。ICL的一个重要组成部分是在提示中使用少量标记数据实例作为示例。尽管现有工作在推理过程中对每个数据实例使用固定数量的示例,但本研究提出了一种根据数据动态调整示例数量的新方法。这类似于在k-最近邻(k-NN)分类器中使用可变大小的邻域。 该研究提出的自适应ICL(Adaptive ICL, AICL)工作流程中,在特定数据实例上的推理过程中,通过分类器的Softmax后验概率来预测使用多少示例。这个分类器的参数是基于ICL中正确推断每个实例标签所需的最佳示例数量来拟合的,假设与训练实例相似的测试实例应该使用相同(或接近匹配)的少量示例数量。实验表明,AICL方法在多个标准数据集上的文本分类任务中取得了改进。

论文标题
‘One size doesn’t fit all’: Learning how many Examples to use for In-Context Learning for Improved Text Classification

论文链接:
https://arxiv.org/pdf/2403.06402.pdf

GPT-3.5研究测试:

https://hujiaoai.cn

GPT-4研究测试:

https://higpt4.cn

理解在上下文学习中使用示例的动机

上下文学习(In-Context Learning, ICL),通过改变输入字符串(称为指令或提示)来控制预训练生成模型(冻结的解码器参数)的输出。ICL的一个重要组成部分是在提示中使用少量标记数据实例作为示例。

动机来源于信息检索(IR),不同的查询由于信息需求的固有特性或查询的制定质量,表现出不同的检索性能。将IR中的查询类比为ICL中的测试实例,以及将本地化示例视为潜在相关文档,假设某些测试实例与训练示例的关联更好(即包含它们作为提示的一部分可以导致正确预测),因此包含少量示例就足够了。另一方面,某些测试实例作为查询的检索质量不佳,因此需要进一步查看排名列表以收集有用的示例。这意味着需要替换查询与文档相关性的概念,以及测试实例对示例的下游有用性。

选择可变数量的本地化示例的想法也类似于为k-NN分类选择可变大小的邻域,关键是同质邻域可能只需要相对较小的邻域就能做出正确预测,而非同质邻域可能需要更大的邻域。这个想法可以应用于ICL,其中一个测试实例如果与多个具有冲突标签的训练实例相似,可能需要更多的示例。

上下文学习(ICL)方法介绍

1. ICL的定义和工作原理

上下文学习(ICL)与监督学习不同,不涉及在标记示例上训练一组参数θ。相反,后验概率是以下因素的函数:a) 输入测试实例的文本,b) 预训练LLM的解码器参数,c) 提示指令,d) 可选的一组k个输入示例(通常称为k-shot学习)。在这里,与监督设置不同,函数f没有参数化表示,可以使用带有梯度下降的训练集进行学习。函数本身依赖于预训练的LLM参数,当前输入的标签预测,以及由Nk(x)表示的k个文本单元组成的提示。

由于LLM的解码器生成一系列单词w1, ..., wl(l是序列的最大长度),类别后验概率通过将p个可能的类别映射到p组不同的等效单词集V(y)来计算,其中y ∈ Zp,这些集合通常称为verbalisers。

2. ICL中的示例选择和其重要性

ICL的一个最重要的组成部分是搜索组件,它输出训练集中与当前实例相似的top-k候选集。虽然原则上可以在提示中包含来自训练集的随机示例,但已经证明本地化示例(即与当前实例主题相似的示例)可以提供更好的性能。

上下文学习中的自适应(AICL)

1. AICL的动机和理论基础

自适应在上下文学习(Adaptive In-Context Learning,简称AICL)的动机源自信息检索(IR)领域的实践,其中不同的查询由于信息需求的固有特性或查询的构造方式而表现出不同的检索性能。类似地,在自然语言处理(NLP)中,特定的测试实例在使用上下文学习(In-Context Learning,简称ICL)时,可能会因为训练示例的选择而影响预测结果。AICL的理论基础与k-最近邻(k-NN)分类器中使用可变大小邻域的概念相似,即对于同质的邻域,可能只需要较小的邻域就能做出正确的预测,而对于非同质的邻域,则可能需要更大的邻域。AICL的目标是动态地适应每个数据实例所需的示例数量,以提高文本分类任务的性能。

2. AICL工作流程

ICL的工作流程包括两个主要阶段:训练和推理。在训练阶段,首先对训练集中的每个实例执行k-shot推理,逐步增加k的值,然后基于一些标准(例如最少示例数量导致正确预测)来确定最佳的示例数量。这个最佳示例数量随后用于训练一个分类器,该分类器能够根据训练数据中的相似实例预测测试实例所需的示例数量。在推理阶段,给定一个测试实例,首先使用训练好的分类器预测所需的示例数量,然后将这些示例作为额外上下文输入到预训练的语言模型(LLM)中,以进行下游任务的预测。

3. 选择示例数量的方法

选择示例数量的方法是通过监督学习来解决的。对于训练集中的每个实例,首先使用逐渐增加的示例数量进行k-shot推理,然后根据一些启发式标准(例如最小示例数量或分类置信度)来确定理想的示例数量。这些理想的示例数量随后用于训练一个分类器,该分类器能够泛化到未见过的数据上,预测测试实例所需的示例数量。

实验设计与数据集

1. 使用的数据集和任务说明

实验使用了三个文本分类数据集:AGNews、Jigsaw Toxic Comment和SST2。AGNews是一个主题分类数据集,包含来自网络的新闻文章,分为世界、体育、商业和科技四个类别。Jigsaw Toxic Comment数据集包含从维基百科的讨论页中提取的评论,这些评论被人类评估者按照六个代表有害行为的类别进行了注释。SST2是一个情感分析数据集,包含从电影评论中提取的句子,用于二元分类任务。

2. AICL的不同变体和比较方法

AICL的变体包括AICL-L和AICL-U,分别应用最小示例数量和基于置信度的启发式来训练预测示例数量的分类器。此外,还比较了0-shot、静态ICL(SICL)和随机ICL(RICL)方法。SICL使用固定数量的示例作为输入,而RICL使用从训练集中随机采样的固定数量的示例。这些方法的性能通过精确度、召回率和F分数等指标进行评估,并考虑了平均输入大小(AIS)和相对运行时间(RRT)作为效率指标。

实验分析

1. AICL与其他基线方法比较

实验结果表明,自适应上下文学习(AICL)方法在文本分类任务上优于静态ICL(SICL)和随机ICL(RICL)等基线方法。AICL通过动态调整用于推断的示例数量,避免了非相关(无用)示例的负面影响。AICL学习了主题内容与所需上下文量之间的潜在关系,有效地指导了解码器输出的正确方向。

2. AICL在不同数据集上的表现

在AGNews、Toxicity和SST2等标准数据集上的实验显示,AICL在不同的文本分类任务中均表现出色。例如,在AGNews数据集上,AICL的平均精度、召回率和F分数均超过了SICL和RICL。这表明AICL能够自动适应特定领域,而无需进行领域特定的调整。

3. AICL的效率和准确性分析

AICL不仅在准确性上表现出色,而且在效率上也有所提升。AICL能够使用更少的输入大小(平均k值和AIS值),这意味着在与SICL相匹配的示例数量下,AICL的计算速度更快。此外,AICL与测试集标签访问的oracle方法相比,仅在有效性和效率上略有落后,尤其是在主题分类和电影评论检测任务(AGNews和SST2)上。

AICL的实际应用

1. 训练κ分类器的实际性

训练κ分类器以预测测试实例的理想示例数量可能在大型训练数据集上不切实际。然而,实验表明,使用训练数据的80%就足以超过SICL的性能,这表明κ分类器可以在较小的数据集上有效地训练。

2. AICL在不同训练数据规模下的表现

在不同比例的训练数据上进行的实验表明,即使在训练数据较少的情况下,AICL也能够保持良好的性能。这为在资源受限的环境中部署AICL提供了可能性,同时也表明AICL对训练数据的规模不太敏感。

结论与未来展望

1. AICL方法总结

本研究提出了一种新颖的自适应上下文学习(Adaptive In-Context Learning, AICL)方法,旨在改进文本分类任务的性能。AICL方法的核心思想是动态调整用于推理的示例数量,而不是在所有测试实例中使用固定数量的示例。这种方法类似于k-最近邻(k-NN)分类器中使用可变大小的邻域。通过预测每个测试实例所需的示例数量,AICL能够根据数据本身的特性来调整示例的数量,从而提高预测的准确性和运行时效率。

实验结果表明,AICL在多个标准数据集上的文本分类任务中,相比静态上下文学习(Static ICL, SICL)方法,能够取得更好的效果。AICL通过学习训练集中每个实例所需的最佳示例数量,并将这一信息泛化到未见过的数据上,从而实现了对测试实例的有效推理。此外,AICL在计算效率上也表现出色,因为使用较少的示例可以减少输入字符串的长度,从而缩短解码时间。

2. 未来展望

未来的研究将探索自适应上下文学习(AICL)方法的其他潜在改进方向,例如调整语言模型的提示模板和口令(verbaliser)。此外,研究将考虑如何在不同的任务和数据集上进一步优化AICL方法,以及如何将AICL与其他类型的学习策略(例如主动学习或元学习)结合起来,以提高模型的泛化能力和适应性。

考虑到在大型训练数据集上进行语言模型推理可能在实践中不太可行,未来的工作还将探讨如何在较小的数据集上有效地训练κ分类器。初步的实验结果表明,使用训练数据的80%就足以超过静态上下文学习(SICL)的性能,这为在资源受限的情况下训练κ分类器提供了可能性。

总之,AICL方法为自然语言处理中的上下文学习提供了一种有效的改进策略,未来的研究将继续在这一方向上深入探索,以实现更加智能和高效的文本处理能力。

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

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

相关文章

由浅到深认识Java语言(1):前提概要

该文章Github地址:https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…

外贸网站常用的wordpress模板

零件配件WordPress外贸建站模板 汽车行业零配件WordPress外贸建站模板,卖配件、零件的外贸公司可以使用的WordPress主题。 https://www.jianzhanpress.com/?p4912 WordPress外贸独立站主题 简洁实用的WordPress外贸独立站主题,适合时尚服装行业搭建w…

哈尔滨华时信息公司的校企合作怎么样

在当今竞争激烈的就业市场中,大学生的技能培养对于他们的未来职业发展至关重要。哈尔滨华时信息技术有限公司与黑龙江农业工程职业学院信息工程院的合作,无疑是一次具有深远意义的举措。这样的校企合作模式不仅符合国家政策导向,更带来了多方…

第四百零九回

文章目录 1. 概念介绍2. 方法与细节2.1 获取方法2.2 使用细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取当前系统语言"相关的内容,本章回中将介绍如何获取时间戳.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章…

java新手练习-类的继承调用(接口,抽象类,构造函数)和枚举定义方法

1.继承 父类可以调用子类实例对象,(对于调用抽象类必须使用继承) 模版 //抽象定义一个父类抽象类 abstract class FatherAbstract{void showFatherAbstract(String color, String name, int age, double serail_abstract){System.out.println("color " color &…

鸿蒙App开发学习 - TypeScript编程语言全面开发教程(上)

背景 根据鸿蒙官方的说明: ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前&#…

我的尝试:Codigger + Vim

若您愿意耐心投入,学习 Vim 的过程其实远比想象中轻松。我对 Vim 产生兴趣,主要是源于它对提升生产力的巨大潜力。我尝试了 Neovim、NvChad 以及 Codigger Vim 插件,如今我的工作效率已远超从前。 那么,Vim 究竟是什么呢&#xff…

交叉注意力融合时空特征的TCN-Transformer并行预测模型

独家 | 高创新预测模型 往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测(一)数据集介绍和预处理-CSDN博客 风速预测(二)基于Pytorch的EMD-LSTM模型-CSDN博…

OSPF虚链路vlink

OSPF虚链路——vlink(使得其他区域和骨干区域相连) 虚链路:一定是跨越非骨干区域连接的 1、虚链路属于区域0的逻辑链路 2、虚链路只能穿越1个非骨干区域 3、虚链路不能穿越特殊区域; vlink在配置的时候,需要指对方…

helm部署hadoop

(作者:陈玓玏) 参考helm仓库的文档:https://artifacthub.io/packages/helm/apache-hadoop-helm/hadoop helm helm repo add pfisterer-hadoop https://pfisterer.github.io/apache-hadoop-helm/ helm install hadoop pfistere…

IDEA中的Project工程、Module模块的概念及创建导入

1、IDEA中的层级关系: project(工程) - module(模块) - package(包) - class(类)/接口具体的: 一个project中可以创建多个module一个module中可以创建多个package一个package中可以创建多个class/接口2、Project和Module的概念: 在 IntelliJ …

基于Spring Boot的宿舍管理系统

摘 要 随着信息时代的来临,过去的传统管理方式缺点逐渐暴露,对过去的传统管理方式的缺点进行分析,采取计算机方式构建宿舍管理系统。本文通过课题背景、课题目的及意义相关技术,提出了一种楼宇信息、宿舍信息、宿舍安排、缺勤信息…

Android视角看鸿蒙第六课(module.json5中的各字段含义之pages)designWidth的用法

Android视角看鸿蒙第六课(module.json5中的各字段含义之pages) 导读 前面几篇文章,我们陆续分析了entry->src->main下的module.json5中的各个字段的含义及作用。目前剩余pages和abilities两个字段,本篇文章一起来了解pages。 过程有错…

如何查看MySQL数据库的连接数

连接数是指用户已经创建多少个连接,也就是MySQL中通过执行 SHOW PROCESSLIST命令输出数据库中运行着的线程个数的详情,如图6-1-1所示。 SHOW PROCESSLIST默认情况下只显示前100条记录的详情,如果需要显示超过100条的所有记录,可以…

login登录界面

展示情况 代码&#xff1a; <template><div class"wrapper"><div style"margin: 200px auto; background-color: #fff; width: 350px; height: 300px; padding: 20px; border-radius: 10px"> <div style"margin: 20px 0; text…

VMware学习安装(虚拟化软件)

一、上官网下载安装包&#xff0c;双击打开&#xff08;稍微等待解压过程&#xff09;出现以下界面。 二、点击下一步出现以下界面&#xff0c;进行许可协议的勾选并进行下一步。 三、建议不要安装在C盘&#xff0c;选择一个较大的空间&#xff0c;以下两个选项都勾选上&#…

C语言自定义库

编写 xx.c 和xx.h文件\将源代码编译为目标文件 gcc -c add.c sub.c 执行完毕后会生产add.o和sub.o文件静态库创建使用ar命令&#xff1b; ar -r libmymath.a add.o sub.o将库和main.c文件一起编译 gcc -o main main.c -lmymath -L./ 注意 上述书写格式不要错乱 -L 是指定文件路…

CentOS7使用Docker部署.net Webapi

1 准备WebApi项目 对于已存在的WebApi项目&#xff0c;需要添加Docker支持&#xff1b; 编码时&#xff0c;先设置好项目需要的端口号&#xff1a;program.cs中&#xff0c;app.Run("http://*:8000");设置端口为&#xff1a;8000在VS中&#xff0c;选中项目&#xf…

[精选]通义灵码做活动,送挺多礼品,快来薅羊毛!!!

你的编辑器装上智能ai编辑了吗&#xff0c;的确挺好用的。 最近阿里云AI编码搞活动&#xff0c;可以免费体验并且还可以抽盲盒。有日历、马克杯、代金券、等等其他数码产品。 大多数都是日历。 点击链接参与「通义灵码 体验 AI 编码&#xff0c;开 AI 盲盒」 https://develope…

基于Django兴趣趣班预约管理系统

技术&#xff1a;pythonmysqlvue 一、系统背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。这样的大…