当前位置: 首页 > news >正文

In Context Learning 相关分享

个人知乎详见
https://zhuanlan.zhihu.com/p/603650082/edit

1. 前言

随着大模型(GPT3,Instruction GPT,ChatGPT)的横空出世,如何更高效地提示大模型也成了学术界与工业界的关注,因此In-context learning的方法在NLP领域十分火热。
从时间线上看,它的演变历程大约是从Prompt learning(2021年初) 到 Demonstration learning (2021年底) 再到 In-cotnext learning(2022年初),但从方法原理上,他们却有很多相似之处。
本文对一篇有代表性的in-context learning论文:Rethinking the Role of Demonstrations: What Makes In-Context Learning Work? 进行阅读,之后我也会做其他ICL论文的阅读笔记。

2. 什么是In-Context Learning:

在这篇综述论文https://arxiv.org/pdf/2301.00234.pdf 给出了详细的定义:
请添加图片描述
In Context Learning(ICL)的关键思想是从类比中学习。上图给出了一个描述语言模型如何使用ICL进行决策的例子。首先,ICL需要一些示例来形成一个演示上下文。这些示例通常是用自然语言模板编写的。然后ICL将查询的问题(即你需要预测标签的input)和一个上下文演示(一些相关的cases)连接在一起,形成带有提示的输入,并将其输入到语言模型中进行预测。

值得注意的是,与需要使用反向梯度更新模型参数的训练阶段的监督学习不同,ICL不需要参数更新,并直接对预先训练好的语言模型进行预测(这是与prompt,传统demonstration learning不同的地方,ICL不需要在下游P-tuning或Fine-tuning)。我们希望该模型学习隐藏在演示中的模式,并据此做出正确的预测。
详细介绍见论文

3. 论文分析:

Rethinking the Role of Demonstrations: What Makes In-Context Learning Work? 中我们已经发现Demonstration,ICL与大规模语言模型结合(LMs)在零样本条件下的许多任务上取得了很好的效果,但人们对它如何工作以及演示的哪些方面有助于最终任务的执行知之甚少。本文主要以实验为主,探究以上影响ICL的因素。

实验设置:
作者采用12个模型进行了实验。我们包括6种语言模型(表1),所有这些模型都是仅限解码器的dense LM。LMs的大小从774M到175B不等。
请添加图片描述
对于每个模型,作者采用了两种应用方式,即direct和channel:
请添加图片描述
**Direct:**直接计算给定input x条件下,label y的概率P(y|x)。

**Channel:**与上面恰好相反,给定y的条件下计算x的概率P(x,y)∝P(x|y)。

作者在如下数据集上进行实验,包括情感分析,段落检测,自然语言推理,仇恨言语检测,问答,句子补全等任务。
请添加图片描述

结论1:ICL中 Ground Truth 信息无关紧要

No Demos:LMs直接进行零样本预测,无提示

Demos w gold:依赖于K个标注的examples进行提示,进行预测

Demos w random labels:抽样K个examples提示,但样本labels在标签集中随机采样,而非groundtruth。
请添加图片描述
我们发现,用随机标签替换黄金标签只会轻微影响性能。这一趋势在几乎所有的模型上都是一致的:模型看到的性能下降在0-5%的绝对范围内。在多选择任务中(平均1.7%)替换标签的影响小于在分类任务中(2.6%的绝对标签)。

这一结果表明,地面真实值输入标签对并不是实现性能提高的必要条件。这是违反直觉的,因为正确的配对训练数据在典型的监督训练中是至关重要的——它通知模型执行下游任务所需的期望输入-标签对应。尽管如此,这些模型在下游任务上确实取得了非常重要的性能。
作者在以下3个维度上进一步做了消融实验:正确演示占总的百分比(下图1)与演示样本数量K(下图2),演示的模板样式(下图3)

请添加图片描述
请添加图片描述
请添加图片描述

可以得到相似的结论,在演示正确与否影响并不大。

结论2:ICL的性能收益主要来自独立规范的 输入空间 和 标签空间 ,以及正确一致的演示格式

作者分别从以下四个维度探究In-Context Learning效果增益的影响

  1. The input-label mapping:即每个输入xi是否与正确的标签yi配对
  2. The distribution of the input text:即x1…xk的分布是否一致
  3. The label space:y1…yk所覆盖的标签空间
  4. The format:使用输入标签配对作为格式。

请添加图片描述
输入文本分布实验:
下图中,青绿色的柱子为用(从外部语料中)随机采样的句子替换输入句子的设置。可以看到,模型表现明显下降。因此,in-context learning中,演示中的分布内输入极大地有助于提高性能。这可能是因为已IND(in-distribution)文本的条件使任务更接近于语言建模,因为LM在此期间总是以IND文本为条件进行推理标签。

请添加图片描述
标签空间实验:
下图中,青绿色的柱子为用随机英语词汇替代展示样本中的标签。可以看到,模型表现明显下降。因此,in-context learning中,标签空间的一致性显著有助于提高性能。
请添加图片描述
演示格式实验:
下图中,分别用labels only(深紫)和no labels(深绿)来探索演示模式的差异对模型表现的影响。可以看到,模型相对于上面两图的OOD setting而言,都有了进一步的下降。这可以表明ICL中保持输入-标签对的格式是关键的。
请添加图片描述

有意思的讨论:

作者还进行了个有意思的讨论,即模型是否在Test阶段学习到了知识?
作者认为如果我们对学习进行严格的定义,即学习在训练数据中给出的输入标签对,那么lm在测试时不学习新的任务。然而,学习一项新任务可以更广泛地解释:它可能包括适应特定的输入和标签分布以及演示的格式,并最终更准确地做出预测。有了这个学习的定义,该模型确实可以从演示中学习任务。我们的实验表明,该模型确实利用了演示的各个方面,并实现了性能的提高。

4. 总结:

本文从多个角度探究了演示是如何让In-context learning在不同的任务中产生性能增益的,而且随着fine-tune阶段的黑盒化,很多文章也提出fine-tune阶段可能让模型丧失了泛化性,那么ICL这种不fine tune的方法既节省时间与资源开销,且能提升效果,应该会在大模型林立的时代被人关注,并迅速火起来。

相关文章:

In Context Learning 相关分享

个人知乎详见 https://zhuanlan.zhihu.com/p/603650082/edit 1. 前言 随着大模型(GPT3,Instruction GPT,ChatGPT)的横空出世,如何更高效地提示大模型也成了学术界与工业界的关注,因此In-context learning…...

【前端笔试题一】:解析url路径中的query参数

前言 本文记录下在笔试过程中的前端笔试编程题目,会持续更新 1. 题目: 解析 url 路径中的 query 参数,比如:‘http://building/#/skeleton?serialNumber2023020818332821073&jobNo210347&target%7B%22a%22%3A%22b%22%2C…...

K_A12_001 基于STM32等单片机采集火光火焰传感参数串口与OLED0.96双显示

K_A12_001 基于STM32等单片机采集火光火焰传感参数串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明IIC地址/采集通道选择/时序对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RC火光火焰模块1.2、STM32F103C8T6火光火焰模块五、基础知识学习与相…...

Java基础42 枚举与注解

枚举与注解一、枚举(enumeration)1.1 自定义类实现枚举1.2 enum关键字实现枚举1.2.1 enum的注意事项1.2.2 enum的使用练习1.2.3 enum的常用方法1.2.4 enum的使用细节及注意事项1.2.5 enum练习二、注解(Annotation)2.1 Override&am…...

shell的变量和引用

文章目录二、变量和引用2.1 什么是变量2.2变量的命名2.3 变量的类型2.3.1 根据数据类型分类2.3.2 根据作用域分类2.4 变量的定义2.5 shell中的引用2.6 变量的运算练习:二、变量和引用 在程序设计语言中,变量是一个非常重要的概念。也是初学者在进行Shel…...

基于PHP的招聘网站

摘要在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括在线招聘的网络应用,在外国在线招聘已经是很普遍的方式,不过国内的在线招聘可能还处于起步阶段。招聘网站具有招聘信息功能的双向选择,…...

轻松使用 Python 检测和识别车牌(附代码)

车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计算机视觉和人工智能。 本文将使用Python创建一个车牌检测和识别程序。该程序对输入图像进行处理,检测和识别车牌,最后显示车牌字符,作为…...

DVWA—CSRF-Medium跨站请求伪造中级

注意: 1、这里对XSS(Stored)关卡不熟悉的可以从这里去看http://t.csdn.cn/ggQDK 2、把难度设置成 Medium 一、这一关同样我们需要埋下伏笔,诱使用户点击来提交,首先从XSS(Stored)入手。 注意:在前面介绍…...

【电商】后台订单生成

结合商品流转的电商系列介绍了一些了,商品已经采购入库、价格税率设置好了、活动及相关模板也已经准备完毕,下面就应该上架销售了,现在接着聊下订单的生成。 订单从产生到最终的关闭需要经历很多的环节,订单也是电商系统的核心数据…...

作为公司,这个5款在线软件工具赶紧安利起来!

2023年了 ,您的企业还没使用在线软件工具吗?自从用了在线工具之后,感觉打开了新办公世界的大门,效率蹭蹭蹭地往上涨啊。对于喜欢追求效率和便捷的我来说,在线实在是太棒了!今天安利几个非常不错的在线软件工…...

面试(七)为什么一般希望将析构函数定义为虚函数

class B { public:~B() // 基类析构函数不为虚函数{cout << "B::~B()" << endl;} };class D : public B { public:~D(){cout << "D::~D()" << endl;} };void Test(B* t) {delete t;t nullptr; }int main() {B *pb new B;Test…...

MySQL必会四大函数-时间函数

一、时间日期获取函数 获取当前日期&#xff08;date&#xff09;函数&#xff1a;curdate() mysql> select curdate(); 2023-02-09 获取当前时间&#xff08;time&#xff09;函数&#xff1a;curtime() select curtime(); 08:49:27 获取当前时间戳&#xff08;date &…...

震惊!邻桌的程序猿做可视化报告竟然比我还快,带着好奇心我打开了他的电脑,发现惊天秘密,原因竟是...

其实&#xff0c;本文就是想分享一个做可视化的捷径&#xff01; 制作可视化的方式有千千万。 Excel 控若能轻车熟路驾驭 VBA&#xff0c;能玩出各种花来&#xff0c;再不济借助图表插件外援也能秒杀一众小白选 手。 会编程的&#xff0c;Echarts 几十行代码&#xff0c;分分…...

mathtype7与word冲突,无法安装,不显示工具栏的问题解决

首先无法安装&#xff0c;或安装出错时&#xff0c;要清理注册表防止以后再次出现该问题&#xff0c;以此记录留作备份。打开注册表的方法是键盘winr键同时按&#xff08;win就是Alt旁边像窗户图标的键&#xff09;&#xff0c;正常的话会跳出一个叫“运行”的家伙&#xff0c;…...

IBM AIX 升级Openssh 实现篇(编译安装)

升级成功佐证 !!!本文所有内容仅作参考,请在测试环境中具体测试完毕后才能应用于生产环境!!! [1]备份和恢复方案 开启telnet 服务,防止ssh 掉线后无法重连维护。在修复漏洞后关闭telnet。 备份该服务相关的所有文件,以便恢复。 root@TEST:/etc# vi inetd.conf #ftp…...

linux的睡眠框架及实现

睡眠 4 种模式&#xff1a;S2I (Suspend-to-Idle)&#xff1a; 挂起系统&#xff0c;IO进入低功耗模式。需配置CONFIG_SUSPEND。Standby&#xff1a;执行S2I后&#xff0c;把AP (nonboot CPU) 离线。除了CONFIG_SUSPEND的支持外&#xff0c;还需要向suspend子系统注册&#xff…...

Java面试知识点

工作也有好些年了&#xff0c;从刚毕业到前几年看过无数的面试题&#xff0c;总想着自己写一个面试总结&#xff0c;随着自我认识的变化&#xff0c;一些知识点的理解也越来越不一样了。写下来温故而知新。很多问题可能别人也总结过&#xff0c;但是答案不尽相同&#xff0c;如…...

PTA Advanced 1159 Structure of a Binary Tree C++

目录 题目 Input Specification: Output Specification: Sample Input: Sample Output: 思路 代码 题目 Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, a binary tree can be un…...

CDN绕过技术总汇

注 本文首发于合天网安实验室 首发链接&#xff1a;https://mp.weixin.qq.com/s/9oeUpFUZ_0FUu6YAhQGuAg 近日HVV培训以及面试&#xff0c;有人问了CDN该如何绕过找到目标真实IP&#xff0c;这向来是个老生常谈的问题&#xff0c;而且网上大多都有&#xff0c;但是有些不够全面…...

算法训练营DAY51|300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

本期是求子序列的新的一期&#xff0c;题目前两道有一些相似之处&#xff0c;思路差不多&#xff0c;第三道有一点难度&#xff0c;但并不意味着第一道没有难度&#xff0c;没有做过该类型题的选手&#xff0c;并不容易解出题解。 300. 最长递增子序列 - 力扣&#xff08;Leet…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...