EMNLP 2023 | DeepMind提出大模型In-Context Learning的可解释理论框架

3855e5ebba92484d949afcfd8e810f71.png

论文题目:In-Context Learning Creates Task Vectors

论文链接:https://arxiv.org/abs/2310.15916

01. 引言

938688b4f9e744c59e743f126fd79f4a.png

此外,作者也提到本文的方法与软提示(soft-prompt)[1]方法类似,soft-prompt也是通过调整大模型内部transformer的激活值来实现特定的新任务,但是本文的方法仅在ICL的前向传播过程中进行调整,而不是微调整个模型来实现

02. 解释ICL的理论框架

2.1 理论框架

2.2 ICL的假设空间

4346f82b5d0e4f798f1df131f8eaf408.png

03. 实验验证

为了验证本文的理论框架,作者设计了4个类别中(包含算法、翻译、语言和事实知识方面)的18项不同任务来进行实验验证,下表中展示了不同任务的任务描述和具体示例。对于测试时使用的LLMs,作者选择了多个开源LLMs,包含LLaMA 7B、13B和30B版本[2]、GPT-J 6B版本[3]以及Pythia 2.8B、6.9B和12B版本[4]。

df55408ac0544d3cb73f8805fee1e7bb.png

7f4f1069978b4971ad7d7bababb3bd29.png

从上图的结果可以看出, 的最优值几乎都在相似的中间层中出现,而与模型的参数规模和层数差异无关

3.2 ICL理论框架的性能对比

c9a78b3eacf34954928a5ea40fc45156.png

3.3 任务向量的鲁棒性

41a000c56f8f4bb1aa3c0a70fe98b7f9.png

上图展示了使用t-SNE算法对任务向量降维后的簇分布情况,每个簇都包含单个任务的任务向量,下图进一步显示了同一类别任务之间的接近程度,这表明任务向量在一定程度上可以掌握不同任务的语义

0b7f6f951e83497290e50f4a13bbb0a1.png

78d06bdf15384ae9b7922f5d1ccaa9ac.png

fdc7ea86eddf47b88d5182fe6db8dc0e.png

上表显示了LLaMA-13B模型在三个任务上的激活token,在多种情况下,可以直接观察到描述任务的token,需要注意的是,这些单词从未明确出现在上下文中。例如,在从法语翻译成英语的任务中,可以观察到诸如“English”和“translate”之类的token。这进一步支持了本文的观点,即 携带了有关任务的重要的语义信息。

04. 总结

本文提出了一种针对LLMs中In-Context Learning的理论探索框架,揭示了一种ICL学习机制的新视角。本文提出的框架具备了简单而优雅的特性,其假设ICL过程通过将输入的训练示例压缩为单个任务向量来发挥作用,并且引导Transformer层根据给定的查询生成目标输出。将原本LLMs复杂的前向传递过程分解为一种学习算法和规则机制的组合,并且通过了大量的实验支持了本文的观点。目前社区的研究方向主要集中在如何提高LLMs的推理性能,但更需要探索LLM内部机理的基础工作作为指导。

参考

[1] Brian Lester, Rami Al-Rfou, and Noah Constant. 2021. The power of scale for parameter-efficient prompt tuning. arXiv preprint arXiv:2104.08691.

[2] Hugo Touvron, Thibaut Lavril et al. 2023. Llama: Open and efficient foundation language models. arXiv preprint arXiv:2302.13971.

[3] Ben Wang and Aran Komatsuzaki. 2021. GPT-J-6B: A 6 Billion Parameter Autoregressive Language Model.

[4] Stella Biderman, Hailey Schoelkopf et al. 2023. Pythia: A suite for analyzing large language models across training and scaling. arXiv preprint arXiv:2304.01373.


  关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

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

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

相关文章

sqli-labs(Less-5) updatexml闯关

updatexml() - Xpath类型函数 1. 确定注入点闭合方式 确认为字符型注入 2. 爆出当前数据库的库名 http://127.0.0.1/sqlilabs/Less-5/?id1 and updatexml(~,concat(~,(select database())),~) --3. 爆出当前用户名 http://127.0.0.1/sqlilabs/Less-5/?id1 and updatexml…

嵌入式linux--sysfs文件系统以及操作GPIO

sysfs文件系统 在Linux系统中,/sys路径是一个特殊的虚拟文件系统(Virtual File System),用于提供对内核和设备的运行时信息的访问。它是sysfs文件系统的挂载点,提供了一种以文件和目录形式表示系统设备、总线、驱动程…

SpringBoot--中间件技术-4:整合Shiro,Shiro基于会话SessionManager实现分布式认证,附案例含源代码!

SpringBoot整合安全中间件Shiro 技术栈&#xff1a;SpringBootShiro 代码实现 pom文件加坐标 Springboot版本选择2.7.14 &#xff1b;java版本1.8 &#xff1b; shiro做了版本锁定 1.3.2 <properties><java.version>1.8</java.version><!--shiro版本锁定…

k8s资源管理操作——陈述式管理方式

目录 陈述式资源管理方式 1、常用的kubernetes管理命令 1&#xff09;查看版本信息 2&#xff09;查看资源对象简写 3&#xff09;查看集群信息 4&#xff09;配置kubectl自动补全 5&#xff09;node节点查看日志 2、资源管理命令 1&#xff09;创建资源 2&#xff0…

docker 部署日志平台出错汇总

第一次运行elasticsearch:8.11.1镜像&#xff0c;报错如下&#xff1a; [rootmaster ~]# docker run --name es03 --net elastic -p 9200:9200 -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.11.1 docker: Error response from daemon: driver failed programmi…

SystemVerilog学习 (5)——接口

一、概述 验证一个设计需要经过几个步骤&#xff1a; 生成输入激励捕获输出响应决定对错和衡量进度 但是&#xff0c;我们首先需要一个合适的测试平台&#xff0c;并将它连接到设计上。 测试平台包裹着设计,发送激励并且捕获设计的输出。测试平台组成了设计周围的“真实世界”,…

ExoPlayer架构详解与源码分析(8)——Loader

系列文章目录 ExoPlayer架构详解与源码分析&#xff08;1&#xff09;——前言 ExoPlayer架构详解与源码分析&#xff08;2&#xff09;——Player ExoPlayer架构详解与源码分析&#xff08;3&#xff09;——Timeline ExoPlayer架构详解与源码分析&#xff08;4&#xff09;—…

嵌入式养成计划-53----ARM--串口通信

一百三十四、串口通信 134.1 串口的概念 串口&#xff08;UART&#xff09;&#xff1a;Universal asynchronous receiver transmitter (USART/UART)&#xff0c;通用异步接收发送器通过串口可以实现两个不同机器之间的信息交互串口通信属于总线通信的一种 134.2 总线的概念…

服务名无效。 请键入 NET HELPMSG 2185以获得更多的帮助

遇到的问题是MySQL服务没有。 因为net start 服务名&#xff0c;启动的是win下注册的服务。此时&#xff0c;我系统中并没有注册mysql到服务中。即下面没有mysql服务。 mysqld --install net start mysql

OpenCV入门2——图像视频的加载与展示一些API

文章目录 题目OpenCV创建显示窗口OpenCV加载显示图片题目 OpenCV保存文件利用OpenCV从摄像头采集视频从多媒体文件中读取视频帧将视频数据录制成多媒体文件OpenCV控制鼠标关于[np.uint8](https://stackoverflow.com/questions/68387192/what-is-np-uint8) OpenCV中的TrackBar控…

Python---数据序列中的公共方法

公共方法就是 支持大部分 数据 序列。 常见公共方法---简单 运算符描述支持的容器类型合并字符串、列表、元组*复制字符串、列表、元组in元素是否存在字符串、列表、元组、字典not in元素是否不存在字符串、列表、元组、字典 案例&#xff1a; 合并 代码&#xff1a; # …

微机原理_9

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案。 1.当运算结果的最高位为1时&#xff0c;标志位(&#xff09; A. CF1 B. OF1 C. SF1 D. ZF1 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可…