自我指导:提升语言模型自我生成指令的能力

news2024/9/20 8:41:56

人工智能咨询培训老师叶梓 转载标明出处

传统的语言模型,尤其是经过指令微调的大型模型,虽然在零样本(zero-shot)任务泛化上表现出色,但它们高度依赖于人类编写的指令数据。这些数据往往数量有限、多样性不足,且缺乏创造性,限制了模型的泛化能力。为了解决这一问题,由华盛顿大学、德黑兰理工大学、亚利桑那州立大学、约翰霍普金斯大学以及艾伦人工智能研究所的研究人员联合提出了一种名为“SELF-INSTRUCT”的框架,旨在通过自举(bootstrapping)的方式,利用预训练语言模型自身的生成能力,提升其遵循指令的能力。

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

项目链接:https://github.com/yizhongw/self-instruct 

方法

SELF-INSTRUCT方法是一种自动化流程,用于生成任务指令、过滤数据,并对语言模型进行微调,以提高其遵循指令的能力。旨在生成包含一组指令的数据集,每个指令定义了一个自然语言中的任务。每个任务包含至少一个输入输出实例。例如,指令“写一篇关于学校安全的作文”可以直接作为任务指令,也可以将其分解为“写一篇关于以下主题的作文”和实例输入“学校安全”。

图 2 显示整个过程从一个小的种子任务集开始,这些任务构成了任务池。然后从任务池中随机抽取任务,用作提示(prompt)来引导现成的语言模型(LM)生成新的指令和相应的实例。接下来,通过过滤掉质量较低或相似的生成内容,将剩余的有效任务添加回初始的任务库中。这些经过筛选的数据随后可以用于对语言模型本身进行指令调优,以使其更好地遵循指令。图中展示的任务是由 GPT3 生成的。这个过程是一个迭代的自举算法,通过这种方式,可以不断扩大任务集并提高模型遵循新指令的能力。自动化指令数据生成流程包含四个主要步骤:

  1. 生成任务指令:SELF-INSTRUCT从一组种子人类编写的指令开始,通过自举的方式生成新指令。初始任务池包含175个任务,每个任务包含一条指令和一个实例。

  2. 确定任务类型:为了区分分类任务和非分类任务,使用少量种子任务中的指令来提示语言模型进行判断。

  3. 实例生成:根据指令和任务类型,独立生成每个指令的实例。对于分类任务,采用输出优先方法(Output-first Approach),首先生成可能的类别标签,然后根据每个类别标签生成输入。对于非分类任务,采用输入优先方法(Input-first Approach),首先生成输入字段,然后产生相应的输出。

  4. 过滤和后处理:为了确保多样性,只有当新指令与现有指令的ROUGE-L相似度小于0.7时,才将其添加到任务池中。同时,排除包含特定关键词(如“图像”、“图片”、“图表”)的指令,因为这些通常无法由语言模型处理。

在生成了大规模指令数据后,研究者使用这些数据对原始语言模型进行微调。通过将指令和实例输入串联起来作为提示,并训练模型以标准监督学习的方式生成实例输出。

表1描述了通过将 SELF-INSTRUCT 应用于 GPT3 生成的数据的基本统计信息,包括指令数量、分类指令数量、非分类指令数量、实例数量、平均指令长度、平均非空输入长度和平均输出长度。研究者使用了伯克利神经解析器(Berkeley Neural Parser)来分析指令中的动词-名词结构,并提取了最常见的动词和直接宾语。这些分析结果展示了指令的多样性。

为了评估生成数据的质量,作者随机抽取了200个指令,并请专家注释员对每个实例的正确性进行了评估。评估结果显示,大多数生成的指令是有意义的,尽管有些生成的实例可能包含噪声,但它们仍然在正确的格式或部分正确,这对训练模型遵循指令提供了有用的指导。图3为生成指令中最常见的 20 个动词(内圈)和它们的前 4 个直接宾语(外圈)。这些指令虽然多样,但只占所有生成指令的 14%。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。9月22日晚,实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

加助理微信提供直播链接:amliy007,29.9元即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory,关注享粉丝福利,限时免费CSDN听直播后的录播讲解。
 

LLaMA Factory 支持多种预训练模型和微调算法。它提供灵活的运算精度和优化算法选择,以及丰富的实验监控工具。开源特性和社区支持使其易于使用,适合各类用户快速提升模型性能。

实验 

研究者使用生成的指令数据对GPT3模型本身进行了指令调整。这个过程通过OpenAI的微调API完成,使用了各种模板将指令和输入串联起来,并训练模型生成输出。微调使用了默认的超参数设置,除了将提示损失权重设置为0,并训练了2个周期。通过这种方式微调后的模型被命名为GPT3SELF-INST。

研究者评估了以下基线模型:

  • 现成的语言模型:T5-LM和GPT3作为未经额外微调的基线模型。
  • 公开可用的指令调整模型:T0和T𝑘-INSTRUCT,这两个模型基于T5进行了指令调整,并且公开可用。
  • 指令调整的GPT3模型:InstructGPT,由OpenAI基于GPT3开发,以更好地遵循人类指令。

研究者首先评估了模型在典型NLP任务上遵循指令的零样本能力。使用的是SUPERNI评估集,包含119个任务,每个任务有100个实例。实验主要关注零样本设置,即模型仅根据任务定义进行提示,没有上下文示例。实验结果显示,SELF-INSTRUCT显著提高了GPT3的指令遵循能力。与未经SUPERNI特别训练的其他模型相比,GPT3SELF-INST性能更好,接近InstructGPT001的性能。

尽管SUPERNI在收集现有NLP任务方面非常全面,但这些任务大多偏向于分类任务,并且是为了研究目的而提出的。为了更好地评估指令遵循模型的实际价值,研究者策划了一组新的、以用户为导向的指令集。这组指令涵盖了多种领域,如电子邮件写作、社交媒体、生产力工具、娱乐和编程等。研究者创造了252个指令,每个指令有一个实例。这些指令旨在测试指令模型处理多样化和不熟悉指令的能力。

图6 展示了GPT3模型及其指令调整变体在这些新编写的指令集上的性能,由人类专家进行评估。评估者根据模型的响应是否准确有效完成任务,将输出分为四个等级:正确且满意的响应、可接受但有小错误的响应、回应指令但内容有重大错误的响应、不相关或完全无效的响应。结果显示,GPT3SELF-INST在所有经过公开指令数据集训练的GPT3变体中表现最佳,并且与InstructGPT001的性能非常接近。

研究者还探讨了数据规模和质量对模型性能的影响。通过从生成的数据集中抽取不同数量的指令,对GPT3进行微调,并评估结果模型在252个用户导向指令集上的性能。结果表明,随着数据规模的增加,模型性能持续改善,但在达到16K后几乎趋于平稳。

图 7 展示了使用不同大小指令数据集进行调优的 GPT3SELF-INST 模型的人类评估性能。研究者们还评估了通过从 InstructGPT003 (最好的通用模型)中提取输出来提高数据质量是否能进一步提升性能。结果显示所得到的模型比使用原始数据训练的模型性能提高了10%,这表明通过人类专家或从更好的模型中提取来提高数据质量有很大的空间。

综上所述,SELF-INSTRUCT方法不仅提高了GPT3的指令遵循能力,而且通过实验验证了其在多样化任务上的有效性。这些实验结果为未来在指令调整领域的研究提供了有价值的见解和方向。

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

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

相关文章

配置Java(JDK)环境变量

一、配置JDK环境变量 将JDK-22压缩包加压缩到指定目录下面,本机路径是:C:\Program Files\Java(可以加压缩到自己的指定路径,记住这个路径,配置环境变量时候要使用)。 鼠标右键“此电脑”,点击“…

独立按键单击检测(延时消抖+定时器扫描)

目录 独立按键简介 按键抖动 模块接线 延时消抖 Key.h Key.c 定时器扫描按键代码 Key.h Key.c main.c 思考 MultiButton按键驱动 独立按键简介 ​ 轻触按键相当于一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触…

Spring框架-----ioc

基本概念 Spring 是一个轻量级的,IOC和AOP的一站式Java 开发框架,是为了简化企业级应用开发而生的 轻量级:框架核心模块体积小 IOC:Inversion of Control(控制反转)把创建对象的控制权反转给Spring框架管理 以前我们程序中需要…

Linux下构建Docker镜像

Docker在Linux构建镜像 Docker是一种轻量级的容器化技术,可以让开发者将应用程序及其所有依赖项打包到一个独立的容器中,从而实现跨平台和快速部署,在Linux系统上,我们可以使用D0cker来构建自己的镜像,并且可以通过简…

RocketMQ学习(三)

文章目录 1. 高级功能1.1 消息存储1.1.1 存储介质关系型数据库DB文件系统 1.1.2 性能对比1.1.3 消息的存储和发送1)消息存储2)消息发送 1.1.4 消息存储结构1.1.5 刷盘机制1)同步刷盘2)异步刷盘3)配置 1.2 高可用性机制…

软件设计之JavaWeb(1)

软件设计之JavaWeb(1) 此篇应在MySQL之后进行学习: 路线图推荐: 【Java学习路线-极速版】【Java架构师技术图谱】 尚硅谷全新JavaWeb教程,企业主流javaweb技术栈 资料可以去尚硅谷官网免费领取 此章节最好学完JDBC观看 学习内容: XML概述T…

excel翻译软件有哪些?如何高效提翻译?

你是否曾在面对满屏的英文Excel表格时感到头疼?项目报告、数据分析、财务报表... 当这些重要的信息被语言壁垒阻挡时,效率和理解度都会大打折扣。别担心,只需3分钟,我将带你轻松解锁excel翻译成中文的秘籍。 无论是职场新人还是…

解决浏览器自动将http网址转https

删除浏览器自动使用https的方式 在浏览器地址栏输入:chrome://net-internals/#hsts PS:如果是edge浏览器可输入:edge://net-internals/#hsts 在Delete domain security policies搜索框下,输入要删除的域名,然后点击delete 解决方法&#…

VMware中共享文件夹没了怎么办?

1.进入root su root 需要提前设置密码 sudo passwd root 2.创建一个hgfs文件夹,share就在这里面 sudo mkdir /mnt/hgfs/ 3.输入下面的命令 sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other 4.然后就能找到share文件夹了,注意每…

CCF推荐B类会议和期刊总结(计算机网络领域)

CCF推荐B类会议和期刊总结(计算机网络领域) 在计算机网络领域,中国计算机学会(CCF)推荐的B类会议和期刊代表了该领域的较高水平。以下是对所有B类会议和期刊的总结,包括全称、出版社、dblp文献网址以及所属…

串口通信协议(UART)

简介 uart通讯协议,是一种成本低、容易使用、通信线路简单,可实现两个设备的互相通信的协议;是一种全双工,设备点对点通信的协议。下面从硬件电路、电平标准和串口参数等方面来了解uart通信协议。 硬件电路 硬件电路非常简单&am…

如何限制与管控员工上网行为?五个管控方法让员工效率倍增!

在现代企业中,互联网是工作中不可或缺的工具,但与此同时,员工在工作时间浏览与工作无关的网站、进行网络娱乐等行为,也成为了影响企业生产力和效率的主要因素之一。如何有效限制和管控员工的上网行为,从而提升工作效率…

利士策分享,逆境破局关键:精准策略

利士策分享,逆境破局关键:精准策略 在人生的征途上,逆境如同试炼场,考验着我们的智慧与勇气。 为了在这片试炼场上稳健前行,我们需要一套具体而精准的应对策略。 以下,是结合实践经验与智慧总结的应对策略…

机器意识的可能性:从计算功能主义到生物自然主义的思考

引言 近年来,人工智能(AI)的飞速发展引发了关于机器能否具备意识的激烈讨论。这个话题不仅涉及技术层面的挑战,还触及了哲学和神经科学的基本问题。Anil Seth教授作为意识研究领域的权威,他在近期发表的论文中提出了一…

ESP32-驱动ST7789显示

前言 一、TFT_eSPI库的安装 二、TFT_eSPI 的设置 1.文件的路径 2.User_Setup.h的设置 4.连线 三.显示 总结 前言 环境: 芯片:ESP32 软件:Arduino 一、TFT_eSPI库的安装 1.安装TFT_eSPI库,安装时注意安装内容不要错了 如果提示还有…

[数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2757 标注数量(xml文件个数):2757 标注数量(txt文件个数):2757 标注…

论文阅读:AutoDIR Automatic All-in-One Image Restoration with Latent Diffusion

论文阅读:AutoDIR: Automatic All-in-One Image Restoration with Latent Diffusion 这是 ECCV 2024 的一篇文章,利用扩散模型实现图像恢复的任务。 Abstract 这篇文章提出了一个创新的 all-in-one 的图像恢复框架,融合了隐扩散技术&#x…

Rust : 从事量化的生态现状与前景

Rust适不适合做量化工作? 一般地认为,目前大部分场景策略开发最佳是Python;策略交易和部署是C。但还是有人会问,Rust呢? 这个问题不太靠谱! 适不适合做一件事情,本身就是一件主观的事。即使是…

通信工程学习:什么是AN接入网络

AN接入网络 AN接入网络,全称Access Network,是电信部门业务节点与用户终端设备之间的实施系统。它可以部分或全部代替传统的用户本地线路网,并可包括复用、交叉连接和传输功能。以下是关于AN接入网络的详细解释: 一、AN接入网络的…