当前位置: 首页 > 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…...

mac:彻底解决-安装应用后提示:无法打开“XXX”,因为无法验证开发者的问题;无法验证此App不包含恶意软件

mac从浏览器或其他电脑接收了应用&#xff0c;但是打开报错 目录报错解决办法一次性方法永久解决方法验证恢复应用验证报错 截图如下&#xff1a; 错误信息 无法打开“XXX”&#xff0c;因为无法验证开发者的问题&#xff1b;无法验证此App不包含恶意软件 解决办法 一次性方…...

CPU 指标 user/idle/system 说明

从图中看出&#xff0c;一共有五个关于CPU的指标。分别如下&#xff1a; User User表示&#xff1a;CPU一共花了多少比例的时间运行在用户态空间或者说是用户进程(running user space processes)。典型的用户态空间程序有&#xff1a;Shells、数据库、web服务器…… Nice N…...

Thinkphp大型进销存ERP源码/ 进销存APP源码/小程序ERP系统/含VUE源码支持二次开发

框架&#xff1a;ThinkPHP5.0.24 uniapp 包含:服务端php全套开源源码&#xff0c;uniapp前端全套开源源码&#xff08;可发布H5/android/iod/微信小程序/抖音小程序/支付宝/百度小程序&#xff09; 注&#xff1a;这个是全开源&#xff0c;随便你怎么开&#xff0c;怎么来&a…...

hgame2023 WebMisc

文章目录Webweek1Classic Childhood GameBecome A MemberGuess Who I AmShow Me Your BeautyWeek2Git Leakagev2boardSearch CommodityDesignerweek3Login To Get My GiftPing To The HostGopher Shopweek4Shared DiaryTell MeMiscweek1Where am I神秘的海报week2Tetris Master…...

67. Python的绝对路径

67. Python的绝对路径 文章目录67. Python的绝对路径1. 准备工作2. 路径3. 绝对路径3.1 概念3.2 查看绝对路径的方法4. 课堂练习5. 用绝对路径读取txt文件6. 加\改写绝对路径6.1 转义字符知识回顾6.2 转义字符改写7. 总结1. 准备工作 对照下图&#xff0c;新建文件夹和txt文件…...

VHDL语言基础-组合逻辑电路-加法器

目录 加法器的设计&#xff1a; 半加器&#xff1a; 全加器&#xff1a; 加法器的模块化&#xff1a; 四位串行进位全加器的设计&#xff1a; 四位并行进位全加器&#xff1a; 串行进位与并行进位加法器性能比较&#xff1a; 8位加法器的实现&#xff1a; 加法器的设计&…...

内存检测工具Dr.Memory在Windows上的使用

之前在https://blog.csdn.net/fengbingchun/article/details/51626705 中介绍过Dr.Memory&#xff0c;那时在Windows上还不支持x64&#xff0c;最新的版本对x64已有了支持&#xff0c;这里再总结下。 Dr.Memory源码地址https://github.com/DynamoRIO/drmemory&#xff0c;最新发…...

J6412四网口迷你主机折腾虚拟机教程

今天给大家做一个四网口迷你主机折腾虚拟机的安装教程&#xff0c;主机采用的是maxtang大唐NUC J6412 intel i226V四网口的迷你主机&#xff0c;这款主机它是不能直接装上NAS的&#xff0c;必须使用虚拟机系统&#xff0c;近期研究了下然后做了一个教程分享给大家。 首先需要做…...

电子招标采购系统—企业战略布局下的采购寻源

​ 智慧寻源 多策略、多场景寻源&#xff0c;多种看板让寻源过程全程可监控&#xff0c;根据不同采购场景&#xff0c;采取不同寻源策略&#xff0c; 实现采购寻源线上化管控&#xff1b;同时支持公域和私域寻源。 询价比价 全程线上询比价&#xff0c;信息公开透明&#xff…...

elasticsearch 之 mapping 映射

当我们往 es 中插入数据时&#xff0c;若索引不存在则会自动创建&#xff0c;mapping 使用默认的&#xff1b;但是有时默认的映射关系不能满足我们的要求&#xff0c;我们可以自定义 mapping 映射关系。 mapping 即索引结构&#xff0c;可以看做是数据库中的表结构&#xff0c…...

wordpress使用百度云存储/网站关键词

我想要做的是通过ajax和php调用一些数据库数据.但是ajax调用不起作用,我无法在网上找到解决方案.所以这是我的代码&#xff1a;test.php的include_once db_class.php;$cat $_GET[cat];$dbconn new dbconn(localhost, root, somepsw, blog);$dbconn->set_query("selec…...

百度搜索不到自己的网站/微信上如何投放广告

Cookie 1.什么是Cookie 一小段文本,明文的数据,关于网站相关的文本字符串数据.一个客户端状态保持机制~ 存储在客户端的浏览器内存里面或者磁盘(如果不指定过期时间,那么存储在客户端浏览器内存中,如果指定了过期时间,那么存储在客户端的磁盘上.) cookie跟网站有关的,各个网站只…...

b2c模式网站购物的流程/产品推广渠道有哪些

Lifecycle 三种属性&#xff1a; Session、Invocation、Server 这三种属性都用在什么情况&#xff0c;有什么要注意的事项&#xff0c;Delphi2010中罕有说明。 如果乱用这三种属性&#xff0c;你的服务程序有可能崩溃&#xff0c;数据混乱&#xff0c;内存占用大&#xff0c;效…...

扫码进入网站如何做/广西seo公司

Libvirt-Manager这是一个简单的 Libvirt 虚拟机管理器&#xff0c;使用 PHP 开发。它可以启动、关闭、强制结束或读取虚拟机信息&#xff0c;列出虚拟机列表等。这个项目是为了让开发者管理虚拟机更简单&#xff0c;更轻松。你需要安装 PHP_SSH2 模块来使用此管理器。唔...第一…...

建设网站企业邮箱/网站seo外包公司有哪些

本博文记录阅读《C Primer》过程中遇到的未理解知识点&#xff0c;便于日后回头有针对性的攻克。 教材&#xff1a;《C Primer中文第四版&#xff08;非扫描&#xff09;》 1.第369页有这么一句“。 正如前面第 7.8 节所提到的&#xff0c;当形参以副本传递时&#xff0c;不能基…...

网站建设初衷/淘宝店铺运营推广

解决步骤&#xff1a;1、top命令查看CPU占用情况可以看到11042进程占用了非常多的CPU资源2、查看F5并发曲线&#xff1a;为什么应用耗费了这么多的线程&#xff0c;难道是用户量突然上来了&#xff0c;调取了F5的访问曲线图&#xff0c;可以看到在15:57左右并发量突然猛涨&…...