Self-Instruct 论文解读:利用大模型自己给自己生成指令数据,指令数据自动生成

news2024/11/20 1:34:13

总览

大规模“指令调整”的语言模型,即指令微调的LLM,已经表现出非凡的零样本能力,尤其是推广新任务上。 然而,这些模型严重依赖于人类编写的指令数据,而这些数据通常在数量、多样性和创造力方面受到限制,因此阻碍了调整模型的通用性。

基于上述背景,作者提出了Self-instruct框架,一个通过预训练语言模型自己引导自己来提高的指令遵循能力的框架

大白话点讲,就是

  1. 大模型自己遵循一套流程来生成数据
  2. 再用这些生成的数据来指令微调训自己
  3. 从而提高模型自己的能力。

因此核心思想就是生成 指令遵循数据

数据生成

指令数据由指令、输入、输出组成。如下图,作者的数据生成piple包含四个步骤:1)生成任务指令,2)确定指令是否代表分类任务,3)使用输入优先或输出优先方法生成实例,4)过滤低质量的数据。

image-20230627203716220

1 指令生成

首先生成丰富的指令,初始化175个任务,每个任务1个指令和1个实例;

  1. 每一个迭代都选8个任务的指令作为该任务的提示样本,其中6个是人写的,2个是生成的。
  2. 然后组成输入送入模型进行输出引导,直到达到token限制或者够16个任务

image-20230627203803468

2 分类任务识别

作者对于分类任务和非分类任务的后续处理是不同的,所以需要先区别是否为分类任务,这里同样使用LLM对生成的指令进行区别。如下图(只显示了部分),作者为列举 12 个分类指令和19个非分类指令作为prompt提示,以少样本学习提示的方式让LLM判断是否任务为分类。

image-20230627203848027

image-20230627203910452

3 实例生成

针对每一任务类型,作者独立的生成实例,即整个指令数据。

指令微调一般三部分:指令、输入和输出,大模型需要对这3部分都进行生成。

这部分比较难的是让大模型理解模板任务是什么,并根据指令(上面已经生成了),得到输入,再进一步补充出输出

作者发现大模型对 指令-输入-输出 提示的上下文学习有效果,于是:

输入优先方式(Input-first Approach)

以下图为例,给大模型一堆例子,指令指导它进行参考生成:如果需要input,就先生成input,如果没有input,就直接生成output

7da2ab19-7bbb-455e-9089-7f3cc4a74eca

输出优先方式(Output-first Approach)

上面这种输入优先的方式不适合部分任务生成,尤其是分类任务,生成的输入会偏向于某个标签(label),比如是语法错误检测任务,他会生成 语法性的输入。于是作者提出输出优先方式,将输出放在前面进行上下文学习

image-20230627204034294

4 过滤和后处理

  1. 为了保证指令多样性,新指令中只有与已有指令ROUGE-L相似度(衡量自然语言相似度的指标)小于0.7的才会被保留;
  2. 包含特定关键词的指令也剔除(image, picture, graph等LM本来也无法处理的);
  3. 去除 输入输出完全相同的实例;或者输入相同输出不同的实例;
  4. 还有一些启发式方法(比如指令太长/短,输出是输入的重复等等)进行剔除;

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

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

相关文章

Elasticsearch:result

排序 es支持对搜索结果排序,默认是根据相关度算分(_score)来排序。可以排序的字段类型有:keyword、数值、地理坐标、日期等类型。 语法 GET /indexName/_search {"query": {"match_all": {}},"sort": [{"FIELD&quo…

视频融合平台EasyCVR迁移数据库报错1146是什么原因?该如何解决?

EasyCVR视频融合平台基于云边端协同架构,具有强大的数据接入、处理及分发能力。平台支持多协议接入,包括:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等,对外可分发多格式视频流,包括RTSP、…

SSM 开放式实验管理系统 -计算机毕设 附源码78512

SSM 开放式实验管理系统 摘 要 我国高校开放式实验管理普遍存在实验设备使用率较低、管理制度不完善,实验设备共享程度不高等诸多问题。要在更大范围推行开放式实验管理,就必须在开放式实验教学管理流程中,通过引入信息化管理加大信息技术在其中的应用,才能真正发挥这种教学模…

datax插件开发HdfsReader支持parquet

数据仓库HIVE存储数据一般采用parquet格式,但Alibaba datax开源版不支持parquet格式,在网上查了很多资料,写的大多不完整,特此总结出完整版记录一下,供大家参考。 操作步骤 1.从gitee 拉取datax代码,对hd…

一、云尚办公系统:搭建环境

云尚办公系统:搭建环境 B站直达【为尚硅谷点赞】: https://www.bilibili.com/video/BV1Ya411S7aT 本博文以课程相关为主发布,并且融入了自己的一些看法以及对学习过程中遇见的问题给出相关的解决方法。一起学习一起进步!!&#x…

前端第一期工作梳理总结:实现基础界面

目前前后端总体框架搭建并打通,除了文本检索功能外,均正常实现,后期将进行单元测试、集成测试和功能、性能测试。具体界面展示如下: ①注册、登录、忘记-找回密码 - 注册 - 登录 - 注销,退出当前账号。 - 忘记密码…

word转pdf实现

写一下笔记&#xff0c;以便在以后工作中用到&#xff1a; 导包&#xff1a; <!--word 转 pdf--> <dependency><groupId>com.documents4j</groupId><artifactId>documents4j-local</artifactId><version>1.0.3</version> &l…

油烟机语音方案:NV040D语音芯片,支持MCU输入UART指令

随着人们生活水平的提高和厨房使用频率的增加&#xff0c;油烟机成为现代家庭生活中必不可少的一种家用电器&#xff0c;而语音智能化技术的发展也使得油烟机功能更加智能化。九芯电子的NV040D语音芯片是一种具备MCU输入UART指令功能的专业语音芯片&#xff0c;可以广泛应用于油…

实现微服务中的数据一致性:成功的策略

微服务架构已经彻底改变了我们构建和扩展应用程序的方式&#xff0c;提供了诸多优势&#xff0c;如提高了灵活性、可扩展性和故障隔离性。然而&#xff0c;由于微服务的分散性&#xff0c;跨服务维护数据一致性可能面临重大挑战。在本文中&#xff0c;我们将探讨不同的方法来解…

itextpdf实现word模板生成文件

前言 使用word模板生成文件&#xff0c;如下图&#xff0c;将左侧的模板生成为右侧的填充word文档。 操作方式 引入依赖 <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency><groupId>com.itextpdf</groupId><arti…

多串口数据采集网关有什么功能

数据采集网关是一种通信终端设备&#xff0c;也称物联网网关&#xff0c;它具备数据采集、存储、传输等功能。物通博联WG系列数据采集网关提供多种数据传输方式和接口通道&#xff0c;包括有线、无线和串口传输等&#xff08;5G、4G、WIFI、以太网&#xff09;&#xff0c;可以…

ModaHub魔搭社区:向量数据库Milvus性能调优教程(二)

目录 索引 其他 存储优化 常见问题 索引 向量索引的基本概念请参考 向量索引概述。 选择合适的索引需要在存储空间、查询性能、查询召回率等多个指标中权衡。 FLAT 索引 FLAT 是对向量的暴力搜索&#xff08;brute-force search&#xff09;&#xff0c;速度最慢&#…

Qt/C++编写监控实时显示和取流回放工具(回放支持切换进度)

一、前言 现在各个监控大厂做的设备&#xff0c;基本上都会支持通过rtsp直接取流显示&#xff0c;而且做的比较好的还支持通过rtsp回放取流&#xff0c;基本上都会约定一个字符串的规则&#xff0c;每个厂家都是不一样的规则&#xff0c;比如回放对应的rtsp地址还要带上时间范…

Spring专家课程Day02_Spring-DI

文章目录 一、依赖注入_Autowired1.配置类中Bean 方式注入1.1&#xff09;注入实例1.2&#xff09;自动注入的匹配原则 2.组件扫描实现自动注入 Autowired3.set方法注入 二、接口解耦_自动注入规则1&#xff09;利用接口解耦2&#xff09;Autowired的注入规则3&#xff09;Qual…

学高性能计算难吗?猿代码科技国内首家专注高性能计算人才培养与推荐 ...

高性能计算&#xff08;HPC&#xff09;作为一门专业领域&#xff0c;涉及到复杂的计算架构、并行计算模型和算法优化等方面的知识。因此&#xff0c;学习高性能计算可能对一些人来说是一项挑战。然而&#xff0c;随着正确的学习方法和适当的资源&#xff0c;掌握高性能计算并不…

【UCOS-III】自我学习笔记→第35讲→软件定时器实验

文章目录 前言实验步骤1.复制消息队列工程&#xff0c;并创建单次定时器和周期定时器&#xff0c;并删除task3及其相关内容2.添加task1按键处理和软件定时器超时函数3.查看串口现象 测试代码工程文件总结 前言 无&#xff0c;仅作记录&#xff0c;不具有参考价值&#xff0c;所…

【MATLAB第43期】基于MATLAB的BO-NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型

【MATLAB第43期】基于MATLAB的BO-NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型 一、效果展示 二、模型介绍 1.数据情况 一列数据&#xff0c;499个值 ratio 0.9;% 训练集比例 MaxEpochs 600;% 最大训练次数 % % 导入股票数据 xall importdata(数据.xlsx);2.优化参…

MySQL MMM 双主架构 主主复制 高可用

MMM&#xff08;Master-Master replication manager for MvSQL&#xff0c;MySQL主主复制管理器&#xff09; 是一套支持双主故障切换和双主日常管理的脚本程序。MMM 使用 Perl 语言开发&#xff0c;主要用来监控和管理 MySQL Master-Master &#xff08;双主&#xff09;复制&…

全志V3S嵌入式驱动开发(windows平台镜像烧入)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 对于很多第一次学习嵌入式linux和开发板的同学来说&#xff0c;如何烧入镜像文件常常成为他们要面对的第一个难题。从拿到板子开始&#xff0c;他们…

每个前端开发者都应知道的25个实用网站

微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势&#xff0c;学习途径等等。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录&#xff0c;有一线大厂面试完整考点、资料以及我的系列文章。 快来免费体验ChatGpt plus版本的&#xff0c;我们出的钱 体验地…