目录
1 引言
2 基础知识
3 什么是任务指令?
4 如何为指令建模?
5 应用
首页 科技周边 人工智能 ChatGPT背后的指令学习是什么?PSU发布首篇「指令学习」全面综述

ChatGPT背后的指令学习是什么?PSU发布首篇「指令学习」全面综述

Apr 07, 2023 pm 07:51 PM
ai 自然语言

任务语义可以用一组输入到输出的例子或一条文本指令来表示。传统的自然语言处理(NLP)机器学习方法主要依赖于大规模特定任务样本集的可用性。

但这出现了两个问题:首先,收集特定于任务的标记示例,不适用于任务可能太复杂或太昂贵而无法注释,或系统需要立即处理新任务的场景;其次,这对用户来说并不友好,因为最终用户可能更愿意在使用系统之前提供任务描述,而不是一组示例。

因此,社区对NLP的一种新的监督寻求范式付出了越来越大的兴趣:从任务指令中学习。尽管取得了令人印象深刻的进展,但社区仍面临一些共同的问题。

本文试图从以下几个方面对当前的指令学习研究进行总结:

(1)什么是任务指令,存在哪些指令类型?

(2)如何为指令建模?

(3)哪些因素影响和解释指令的执行?

(4)指令中还存在哪些挑战?

据我们所知,这是第一次对文本指令的全面调查。

图片

论文地址:https://arxiv.org/pdf/2303.10475v2.pdf

1 引言

人工智能的一个目标是建立一个可以普遍理解和解决新任务的系统。标记示例作为主流任务表示,不太可能大量可用,甚至不存在。那么,是否有其他任务表示可以有助于任务理解?任务指令为表达任务语义提供了另一个监督维度,指令往往包含比单个标记示例更抽象和全面的目标任务知识。

指令学习是受典型的人类对新任务的学习启发,例如,小孩可以通过从指令和几个例子中学习来很好地解决一个新的数学任务。这种新的学习范式最近引起了机器学习和NLP社区的主要关注。

如图1所示,通过任务指令的可用性,可以快速构建系统来处理新任务,特别是在特定于任务的注释稀缺的情况下。

图片

当谈到任务指令时,我们大多数人首先会将这个概念与提示联系起来——使用一个简短的模板将新的输入重新格式化为语言建模问题,以便为启动PLM回复响应。尽管提示在文本分类、机器翻译等中普遍存在,但提示只是指令的一种特殊情况。本文对指令驱动的NLP研究进行了全面和更广泛的看法。具体来说,我们试图回答以下问题:

  • 什么是任务指令,存在哪些指令类型?
  • 给定任务指令,如何对其进行编码以帮助完成目标任务?
  • 哪些因素(如模型大小、任务数量)影响指令驱动系统的性能,以及如何设计更好的指令?
  • 指令学习能带来什么应用?
  • 指令学习中存在哪些挑战,未来的方向是什么?

图片

据我们所知,这是第一篇调研文本指令学习的论文。与一些现有的侧重于特定上下文指令的调研相比,例如提示、按输出输入的演示或推理,我们提供了一个更广泛的视角,以有组织的方式连接该领域的不同研究。希望本文能呈现一个更好的指令学习故事,吸引更多同行来研究这个具有挑战性的人工智能问题。我们还发布了本次调研的相应阅读清单。

2 基础知识

对于任务式学习,目标是通过遵循指令来驱动系统达到给定输入的输出。因此,一个数据集由三个元素组成:

Input (X):实例的输入;它可以是一段文本(如情感分类)或一组文本(如文本蕴涵、问题回答等)。

Output (Y):实例的输出;在分类问题中,它可以是一个或多个预定义标签;在文本生成任务中,它可以是任何开放形式的文本。

模板(T):一种文本模板,试图单独表达任务的含义,或者充当X和y之间的桥梁。T可能还不是一种组件结构。

3 什么是任务指令?

在之前的零样本和少样本NLP任务中已经使用了各种类型的文本指令,例如提示,Amazon Mechanical Turk 指令,辅以演示的指令和思维链解释。不同的指令最初是为不同的目标设计的(例如,Mturk指令最初是为人类标注者理解而创建的,提示是为了控制PLM)。在本节中,如图2所示,我们首先将这些指令总结为三个类别,它们执行T、X和ˆY的不同组合(面向蕴含、面向PLM和面向人),然后比较它们并提供指令的正式定义。

3.1 I=T^+Y:Entailment主导的指令

处理分类任务的一个传统方案是将目标标签转换为索引,并让模型决定输入属于哪个索引。这种范式侧重于对输入语义进行编码,同时丢失标签语义。为了让系统识别新标签而不依赖于大量标记的示例,Yin等人提出为每个标签建立一个假设——然后,推导标签的真值被转换为确定假设的真值。如表1所示,这种方法内置在指令I中,将模板T与标签Y相结合,以解释每个目标标签Y。由于这种范式自然地满足文本蕴含的格式(TE,其中任务输入和指令可以分别被视为前提和假设),这些类型的指令被称为「面向蕴含(Entailment)的指令」。

面向蕴含(entailment)的指令学习方法具有以下4个方面的优势:

(1)保持了标签语义,使得输入编码和输出编码在建模输入输出关系时得到同等的重视;

(2)形成了一个统一的推理过程——文本蕴含——来处理各种NLP问题;

(3)它创造了利用现有TE数据集的间接监督的机会,以便预训练TE模型有望在不进行特定任务微调的情况下在这些目标任务上工作;

(4)将原始的闭集标签分类问题扩展为具有少量甚至零类属类样本的开放域开放形式标签识别问题。

因此,它被广泛应用于各种少样本/零样本分类任务中,如分类主题、情感、姿态、实体类型和实体关系。

图片

3.2 I=T^+X:面向PLM的指令(如ˆ提示)

提示是面向PLM的指令的代表,它通常是一个简短的语句,前面加上任务输入(前缀提示),或者一个完形填空问题模板(完形填空提示)。它主要用于从预训练的语言模型(PLM)中查询中间响应(可以进一步转换为最终答案)。

由于提示输入符合PLM的预训练目标,例如,完形风格的输入满足掩码语言建模目标,它有助于摆脱对传统监督微调的依赖,并大大减轻人工标注的成本。因此,快速学习在大量之前的少量/零样本NLP任务上取得了令人印象深刻的结果,例如问答、机器翻译、情感分析、文本蕴含和命名实体识别。

图片

3.3 以人为本指示

以人为本的指令基本上是指在人类注释平台上用于众包的指令(例如Amazon MTurk指令)。与面向人的指令不同,面向人的指令通常是一些人可读的、描述性的、段落式的任务特定文本信息,由任务标题、类别、定义、要避免的事项等组成。因此,以人为本的指令更加友好,可以理想地应用于几乎任何复杂的NLP任务。

4 如何为指令建模?

在本节中,我们总结了几种最流行的指令学习建模策略。总体而言,本文介绍了四种不同的建模方案:对于早期的基于机器学习的系统,(1)基于语义解析器的策略是编码指令的常用方法;随着神经网络和预训练语言模型的出现,(2)基于提示模板和(3)基于前缀指令的指令学习模式成为两种备受青睐的范式;最近,(4)基于超网络的方法也引起了更大的兴趣。

5 应用

5.1人机交互

文本指令可以自然地视为一种人机交互方式。之前的许多工作使用自然语言指令来「指导」计算机执行各种现实世界的任务。

对于非NLP(多模态)任务,大多数专注于基于环境的语言学习,即驱动智能体将自然语言指令与环境相关联,并做出相应的反应,例如从图像/视频中选择提到的对象,按照导航指示,在地图上绘制相应的痕迹,基于给定规则玩足球/纸牌游戏,生成实时体育广播、控制软件和查询外部数据库。与此同时,指令也被广泛适用于帮助与系统沟通,以解决NLP任务,例如,遵循操作字符串的指令,根据给定的解释对电子邮件进行分类,以及文本到代码生成。

近年来,越来越多的研究倾向于以迭代和模块化的方式设计人机通信过程。例如,Li等人构建了一个系统来帮助用户处理日常任务(例如,点咖啡或请求Uber)。得益于用户友好的图界面,系统可以迭代地询问有关任务的问题,用户可以不断改进他们的指令,以避免不明确的描述或模糊的概念。类似地,Dwivedi-Yu等人提出了一个基准来迭代地指导PLM改进文本,其中每次迭代只使用具有精确目的的一小段指令(例如,「简化文本」或「使文本中性」)。此外,Chakrabarty等人构建了一个协作写诗系统,用户可以最初提供一个模棱两可的指令(例如,「写一首关于蛋糕的诗」),然后通过观察模型的中间输出,用更多的细节逐步完善指令(例如,「包含单词-巧克力」)。同时,Mishra和Nouri提出了一个传记生成系统,该系统逐步从用户那里收集必要的个人信息(通过在对话场景中提出问题来引导用户),并最终生成一个段落式的传记。针对非专家用户难以一次性编写完整的指令的问题,在基于指令的人工智能系统设计中采用迭代式、模块化的设计范式,可以引导用户逐步丰富任务指令,从而有效地缓解用户的思维需求,使系统更加面向用户。鉴于其实用价值,本文强调了这一分支工作的重要性。

5.2 数据和特征增强

任务指令被认为是一种间接的监督资源,其中有时包含一些肤浅且武断的规则。这些规则也被称为标记函数,可以直接应用于注释(例如,句子「a very fair price」是情感积极的,因为「单词price之前直接有fair」)。因此,现有的一些工作还将指令作为远程监督来执行数据或特征增强。例如,Srivastava等人使用语义解析器将自然语言解释转换为逻辑形式,并将它们应用于数据集中的所有实例以生成额外的二进制特征。而Wang等人利用标签解释自动标注原始语料库,并在产生的噪声数据上训练分类器。除了直接的扩充外,Su等人进一步使用任务指令来丰富模型表示,并实现了较强的跨任务泛化。具体来说,他们在具有对比学习的不同指令数据集上训练了一个嵌入模型(单个编码器),然后使用该模型为下游未见过的任务生成基于指令的特定任务表示。

5.3 通用语言模型

根据通用人工智能(Artificial General Intelligence, AGI)的定义,「通用模型」通常是一个能够胜任不同任务并在多变环境中可扩展的系统,这将远远超出其创造者最初的预期。虽然特定于NLP领域,但通用语言模型应该是一个优秀的多任务助手,能够以完全零样本/少样本的方式熟练处理各种现实世界的NLP任务和不同的语言。由于许多现有工作证明了在跨任务泛化中使用指令的惊人能力,该指令很可能成为实现这一最终目标的突破。

值得注意的是,最近指令的两个显著应用,即InstructGPT和ChatGPT,也表明在构建通用语言模型方面迈出了一大步。然而,与其他主要采用指令学习的工作不同,ChatGPT还采用了一些其他组件,如人工反馈的强化学习(RLHF)。虽然「哪个组件对ChatGPT的出色结果贡献更大」的答案仍然是模糊的,需要进一步调研,但我们介绍了一些最近的工作,以强调指令学习的关键作用。例如,Chung等人进行了广泛的实验来评估人类对PaLM的偏好对齐。他们发现,即使没有任何人类反馈,指令微调也显著降低了PaLM开放式世代的毒性,比如性别和职业偏见。此外,其他一些工作也单独采用创造性指导而不是人工反馈,并取得了显著的跨任务结果。尽管ChatGPT仍然存在许多不令人满意的方面,距离通用语言模型还很远,我们希望AGI的目标可以通过采用和发展更强大的技术来继续推动,包括指令学习。

以上是ChatGPT背后的指令学习是什么?PSU发布首篇「指令学习」全面综述的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

debian readdir如何实现文件排序 debian readdir如何实现文件排序 Apr 13, 2025 am 09:06 AM

在Debian系统中,readdir函数用于读取目录内容,但其返回的顺序并非预先定义的。要对目录中的文件进行排序,需要先读取所有文件,再利用qsort函数进行排序。以下代码演示了如何在Debian系统中使用readdir和qsort对目录文件进行排序:#include#include#include#include//自定义比较函数,用于qsortintcompare(constvoid*a,constvoid*b){returnstrcmp(*(

如何优化debian readdir的性能 如何优化debian readdir的性能 Apr 13, 2025 am 08:48 AM

在Debian系统中,readdir系统调用用于读取目录内容。如果其性能表现不佳,可尝试以下优化策略:精简目录文件数量:尽可能将大型目录拆分成多个小型目录,降低每次readdir调用处理的项目数量。启用目录内容缓存:构建缓存机制,定期或在目录内容变更时更新缓存,减少对readdir的频繁调用。内存缓存(如Memcached或Redis)或本地缓存(如文件或数据库)均可考虑。采用高效数据结构:如果自行实现目录遍历,选择更高效的数据结构(例如哈希表而非线性搜索)存储和访问目录信

debian readdir如何与其他工具集成 debian readdir如何与其他工具集成 Apr 13, 2025 am 09:42 AM

Debian系统中的readdir函数是用于读取目录内容的系统调用,常用于C语言编程。本文将介绍如何将readdir与其他工具集成,以增强其功能。方法一:C语言程序与管道结合首先,编写一个C程序调用readdir函数并输出结果:#include#include#includeintmain(intargc,char*argv[]){DIR*dir;structdirent*entry;if(argc!=2){

Debian syslog如何配置防火墙规则 Debian syslog如何配置防火墙规则 Apr 13, 2025 am 06:51 AM

本文介绍如何在Debian系统中使用iptables或ufw配置防火墙规则,并利用Syslog记录防火墙活动。方法一:使用iptablesiptables是Debian系统中功能强大的命令行防火墙工具。查看现有规则:使用以下命令查看当前的iptables规则:sudoiptables-L-n-v允许特定IP访问:例如,允许IP地址192.168.1.100访问80端口:sudoiptables-AINPUT-ptcp--dport80-s192.16

Debian邮件服务器防火墙配置技巧 Debian邮件服务器防火墙配置技巧 Apr 13, 2025 am 11:42 AM

配置Debian邮件服务器的防火墙是确保服务器安全性的重要步骤。以下是几种常用的防火墙配置方法,包括iptables和firewalld的使用。使用iptables配置防火墙安装iptables(如果尚未安装):sudoapt-getupdatesudoapt-getinstalliptables查看当前iptables规则:sudoiptables-L配置

Debian syslog如何学习 Debian syslog如何学习 Apr 13, 2025 am 11:51 AM

本指南将指导您学习如何在Debian系统中使用Syslog。Syslog是Linux系统中用于记录系统和应用程序日志消息的关键服务,它帮助管理员监控和分析系统活动,从而快速识别并解决问题。一、Syslog基础知识Syslog的核心功能包括:集中收集和管理日志消息;支持多种日志输出格式和目标位置(例如文件或网络);提供实时日志查看和过滤功能。二、安装和配置Syslog(使用Rsyslog)Debian系统默认使用Rsyslog。您可以通过以下命令安装:sudoaptupdatesud

Debian Apache日志级别如何设置 Debian Apache日志级别如何设置 Apr 13, 2025 am 08:33 AM

本文介绍如何在Debian系统中调整ApacheWeb服务器的日志记录级别。通过修改配置文件,您可以控制Apache记录的日志信息的详细程度。方法一:修改主配置文件定位配置文件:Apache2.x的配置文件通常位于/etc/apache2/目录下,文件名可能是apache2.conf或httpd.conf,具体取决于您的安装方式。编辑配置文件:使用文本编辑器(例如nano)以root权限打开配置文件:sudonano/etc/apache2/apache2.conf

Debian OpenSSL如何防止中间人攻击 Debian OpenSSL如何防止中间人攻击 Apr 13, 2025 am 10:30 AM

在Debian系统中,OpenSSL是一个重要的库,用于加密、解密和证书管理。为了防止中间人攻击(MITM),可以采取以下措施:使用HTTPS:确保所有网络请求使用HTTPS协议,而不是HTTP。HTTPS使用TLS(传输层安全协议)加密通信数据,确保数据在传输过程中不会被窃取或篡改。验证服务器证书:在客户端手动验证服务器证书,确保其可信。可以通过URLSession的委托方法来手动验证服务器

See all articles