总览

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

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

大白话点讲,就是

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

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

数据生成

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

1 指令生成

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

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

2 分类任务识别

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

3 实例生成

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

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

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

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

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

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

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

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

4 过滤和后处理

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

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

  1. 利用 Oracle EM 企业管理器 进行oracle SQL的优化(自动生成索引)

    利用 Oracle EM 企业管理器 进行oracle SQL的优化(自动生成索引) ##应用情景 项目中有大量的SQL,尤其是涉及到统计报表时,表关联比较多,当初开发建表时也没搞好索引关联的,上线后 ...

  2. iOS 创建模型时自动生成属性

    转载 mark666(简书作者), 链接:http://www.jianshu.com/p/63ee533a7705 我们在创建模型的时候,常常要写一大堆恶心的@property(nonatomic, ...

  3. NLP论文解读:无需模板且高效的语言微调模型(上)

    原创作者 | 苏菲 论文题目: Prompt-free and Efficient Language Model Fine-Tuning 论文作者: Rabeeh Karimi Mahabadi 论文 ...

  4. 论文解读丨表格识别模型TableMaster

    摘要:在此解决方案中把表格识别分成了四个部分:表格结构序列识别.文字检测.文字识别.单元格和文字框对齐.其中表格结构序列识别用到的模型是基于Master修改的,文字检测模型用到的是PSENet,文字识 ...

  5. 人工智能论文解读精选 | PRGC:一种新的联合关系抽取模型

    NLP论文解读 原创•作者 | 小欣   论文标题:PRGC: Potential Relation and Global Correspondence Based Joint Relational ...

  6. NLP论文解读:无需模板且高效的语言微调模型(下)

    原创作者 | 苏菲 论文题目: Prompt-free and Efficient Language Model Fine-Tuning 论文作者: Rabeeh Karimi Mahabadi 论文 ...

  7. 论文:利用深度强化学习模型定位新物体(VISUAL SEMANTIC NAVIGATION USING SCENE PRIORS)

    这是一篇被ICLR 2019 接收的论文.论文讨论了如何利用场景先验知识 (scene priors)来定位一个新场景(novel scene)中未曾见过的物体(unseen objects).举例来 ...

  8. zz扔掉anchor!真正的CenterNet——Objects as Points论文解读

    首发于深度学习那些事 已关注写文章   扔掉anchor!真正的CenterNet——Objects as Points论文解读 OLDPAN 不明觉厉的人工智障程序员 ​关注他 JustDoIT 等 ...

  9. NIPS2018最佳论文解读:Neural Ordinary Differential Equations

    NIPS2018最佳论文解读:Neural Ordinary Differential Equations 雷锋网2019-01-10 23:32     雷锋网 AI 科技评论按,不久前,NeurI ...

  10. [论文解读] 阿里DIEN整体代码结构

    [论文解读] 阿里DIEN整体代码结构 目录 [论文解读] 阿里DIEN整体代码结构 0x00 摘要 0x01 文件简介 0x02 总体架构 0x03 总体代码 0x04 模型基类 4.1 基本逻辑 ...

随机推荐

  1. QT实现可拖动自定义控件

    使用QT实现自定义类卡牌控件Card,使其能在父类窗口上使用鼠标进行拖动. 控件类头文件card.h #ifndef CARD_H #define CARD_H #include <QWidge ...

  2. 一文讲透 Redis 事务 (事务模式 VS Lua 脚本)

    准确的讲,Redis 事务包含两种模式 : 事务模式 和 Lua 脚本. 先说结论: Redis 的事务模式具备如下特点: 保证隔离性: 无法保证持久性: 具备了一定的原子性,但不支持回滚: 一致性的 ...

  3. 2.@Param()注解

    前言 在咋们的mapper层中,@Param()注解是很常见的,它是专门服务于SQL相关联的mapper接口,它有两个功能:1)多参数传值,2)取别名,替换传值 1.取别名,替换传值 1.1 代码演示 ...

  4. 新手如何让一个python写的游戏运行起来

    本文主要解决问题为python中的pygame库安装 安装包版本:python-3.4.3.amd64.msi 下载链接:https://pan.baidu.com/s/1_jIRdVugSNzXKb ...

  5. 学会提示-AI时代职场必修课

    作者:京东 何雨航 " 上个时代要学会提问,这个时代要学会提示." 引言 当你在写提数代码时,小张已经完成了数据分析:当你正在整理材料时,小王却在和对象逛环球影城:述职时,你发现小 ...

  6. java递归算法之老鼠找路

    (上图出自B站韩顺平教育) 从上图的(1,1)处,寻找到(6,5)处的路线,红色格子是障碍 public class MiGong { public static void main(String[] ...

  7. CVE-2016-3088漏洞复现

    1.背景介绍. ActiveMQ的web控制台分三个应用,admin.api和fileserver,其中admin是管理员页面,api是接口,fileserver是储存文件的接口:admin和api都 ...

  8. 【LeetCode动态规划#14】子序列系列题(最长递增子序列、最长连续递增序列、最长重复子数组、最长公共子序列)

    最长递增子序列 力扣题目链接(opens new window) 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度. 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其 ...

  9. [Pytorch框架] 2.5 循环神经网络

    文章目录 2.5 循环神经网络 2.5.1 RNN简介 RNN的起因 为什么需要RNN RNN都能做什么 2.5.2 RNN的网络结构及原理 RNN LSTM GRU 2.5.3 循环网络的向后传播( ...

  10. 【漏洞分析】ReflectionToken BEVO代币攻击事件分析

    前言 BEVO代币是一种Reflection Token(反射型代币),并且拥有通缩的特性.关于Reflection Token更为详细的说明可参考这篇文章.然后目前浏览到的很多分析报告没有指出其漏洞 ...