【AI学习】对指令微调(instruction tuning)的理解

前面对微调(Fine-tuning)的学习中,提到指令微调。当时,不清楚何为指令微调,也一直没来得及仔细学习。

什么是指令微调?LLM经过预训练后,通过指令微调提升模型的指令遵循能力。所谓指令,就是针对具体下游任务,有明确的要求和目的,一般有相应的模板来让指令更加明确。基于指令数据微调语言模型,就是指令微调。

当然,在谷歌的FLAN(https://ar5iv.labs.arxiv.org/html/2109.01652)系列论文中,有一点意外的效果,在针对某些任务进行指令微调后,语言模型在其他未经过微调的任务上的性能也提升了。就是说,人家大模型,是具备举一反三的能力的!

在FLAN系列的论文中,谷歌提出了指令微调的概念,通过自然语言指令描述的任务数据集对预训练后的语言模型进行微调,用于提高语言模型的零样本学习能力。

FLAN(Finetuned Language Net)的论文中展示了指令微调——在通过指令描述的多个数据集上微调语言模型——显著提高了在未见任务上的零样本性能。文章采用了一个137B参数的预训练语言模型,并在超过60个通过自然语言指令模板描述的NLP数据集上进行了指令微调,然后评估在未见任务类型上的性能。FLAN显著提高了其未修改版本的性能,在评估的25个数据集中的20个上超越了零样本175B GPT-3,甚至在ANLI、RTE、BoolQ、AI2-ARC、OpenbookQA和StoryCloze上大幅度超越了GPT-3的少量样本性能。

来看一下FLAN这篇文章的几张图,快速理解FLAN模型的潜力和指令微调方法。

在这里插入图片描述

图1展示FLAN模型如何通过指令微调在未见任务上实现出色的零样本性能,并与GPT-3模型的性能进行了直观的比较。图的上半部分展示了指令微调的流程,其中预训练的语言模型在多种任务上进行微调,这些任务以指令的形式表述。在推理时,即使在指令微调期间未见过自然语言推理(NLI)任务,模型也会被评估在NLI任务上的性能。图的下半部分展示零样本FLAN模型对比零样本和少量样本GPT-3模型在三个未见任务类型(自然语言推理、阅读理解和闭卷问答)上的性能提升。

在这里插入图片描述

图2对比了指令微调(Instruction Tuning)与预训练-微调(Pretrain-Finetune)和提示(Prompting)两种方法。

√ 预训练-微调(Pretrain-Finetune):这种方法通常需要许多特定任务的示例,并且为每个任务训练一个专门的模型。这通常涉及到在特定任务A上进行微调,并在任务A上进行推理。

√ 提示(Prompting):这种方法通过少量样本提示或提示工程来提高模型的性能。在这种方法中,预训练的语言模型(LM)在推理时通过提示来改善任务A的性能。

√ 指令微调(Instruction Tuning):这种方法结合了预训练-微调和提示的优点,通过使用微调期间的监督来改进语言模型对推理时文本交互的响应。在指令微调中,模型在多个任务上进行微调,这些任务通过自然语言指令来描述,然后在未见的任务上进行推理。

指令微调的核心思想是利用自然语言指令来教授模型执行任务,这样即使在未见任务上,模型也能够遵循指令来执行任务。

在这里插入图片描述

图3描述了用于研究的各个数据集以及它们所属的任务簇。具体来说,图3展示了62个文本数据集,这些数据集被聚合成一个单一的集合,并且根据它们的任务类型被分类到12个不同的任务簇中。每个簇内的数据集具有相同的任务类型。图中的两种颜色标识两类不同的任务, “NLU” 代表 “Natural Language Understanding”(自然语言理解),而 “NLG” 代表 “Natural Language Generation”(自然语言生成)。

在这里插入图片描述

图4展示了用于自然语言推理(Natural Language Inference, NLI)任务的多个指令模板(instruction templates)。

从头开始创建一个包含许多任务的指令调整数据集将非常耗费资源,所以,文章将社区现有的数据集转换为为指令格式。汇总的62个文本数据集,这些数据集在TensorFlow Datasets上公开可用。

对于每个数据集,手动编写了十个独特的模板,这些模板使用自然语言指令来描述该数据集的任务。这十个模板中的大多数描述了原始任务,但为了增加多样性,对于每个数据集,还包括了多达三个“反转任务”的模板(例如,对于情感分类,包括了要求生成电影评论的模板)。然后,在所有数据集的混合体上对预训练的语言模型进行指令调整,每个数据集中的例子都通过为该数据集随机选择的指令模板进行格式化。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【微记录】dmidecode是干什么的?常用来做什么?如何查看系统支持的PCIe版本号(本质:标准,Desktop Management Interface)

是什么 dmidecode 是一个在 Linux 系统提取硬件信息的命令行工具。DMI 代表桌面管理接口(Desktop Management Interface),是一种标准,收集桌面计算机的硬件信息,包括系统制造商、序列号、BIOS 信息、系统资产标签等。…

AI图像生成-基本步骤

模型板块 1、新建采样器:新建节点-》采样器-》K采样器 2、拖动模型节点后放开,选择checkpoint加载器(简易),模型新建成功 提示词板块 1、拖动正面条件节点后放开,选择CLIP文本编码器,模型新建…

UV胶的应用场景有哪些?

UV胶是一种特殊的胶水,其固化过程需要紫外光照射。它具有快速固化、高强度、无溶剂挥发等优点,因此在许多应用场景中被广泛使用。UV胶的应用场景非常广泛,包括但不限于以下几个方面: 1.电子产品组装: UV胶在电子产品的组装中扮演…

SHELL-双重循环习题练习

1.99乘法表 #!/bin/bash #99乘法表for ((second1; second<9; second)) dofor ((first1; first<second; first))do echo -n -e "${first}*${second}$[first*second]\t" done echo done ######### 首先定义了一个外循环变量second&#xff0c;初始值为1&am…

【JavaEE】Spring Web MVC入门:掌握Spring的MVC框架基础

目录 Spring Web MVC什么是Spring Web MVCMVC 定义什么是Spring MVC 学习Spring MVC1. 项目准备2. 建立连接 Spring Web MVC 什么是Spring Web MVC 官⽅对于 Spring MVC 的描述是这样的&#xff1a; Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架&#xff0c;从⼀…

【go项目01_学习记录12】

代码组织 1 代码结构2 重构与测试2.1 安装测试功能2.2 testify 的常用断言函数 3 表组测试 1 代码结构 所有的代码写在一个main.go文件里面&#xff0c;GO编译器也是可以正常执行的。但是当代码量很庞大时&#xff0c;很难进行维护。 Go Web 程序的代码组织 单文件——反模式…

C51 单片机编程模板及编码规范

文章目录 一、C51 单片机模板创建1. 新建工程及选型2. 创建主程序文件3. 创建主程序的头文件4. 编译配置5. 其他 二、C51 的编码规范 在查阅了很多关于 C51 单片机的程序后&#xff0c;个人感觉目前网上有关 C51 单片机程序的质量参差不齐&#xff0c;很多程序的代码风格及其糟…

Kubernetes——CNI网络组件

目录 一、Kubernetes三种接口 二、Kubernetes三种网络 三、VLAN与VXLAN 1.VLAN 2.VXLAN 3.区别 3.1作用不同 3.2vxlan支持更多的二层网络 3.3已有的网络路径利用效率更高 3.4防止物理交换机Mac表耗尽 3.5相对VLAN技术&#xff0c;VXLAN技术具有以下优势 四、CNI网…

设计模式-动态代理

目录 定义 代理模式的优缺点 优点 缺点 应用场景 静态代理 动态代理 相关资料 定义 代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;它的概念很简单&#xff0c;它通过创建一个代理对象来控制对原始对象的访问。代理模式主要涉及两个…

分布式搜索-elaticsearch基础 概念

什么是elaticsearch: 倒排索引&#xff1a;就是将要查询的内容分成一个个词条&#xff0c;在将词条文档id存入&#xff0c;词条是唯一的。 文档词条总结: mysql和Elasticsearch概念对比: 架构: 基本概念总结:

uniapp 实现下拉刷新 下滑更新

效果图 在app或者小程序中向下滑动 会出现刷新数据 ,而上拉到底 需要更新数据 功能实现 主要俩种方式 依赖生命周期 在page.json中开启 page.json "style" : {"navigationBarTitleText" : "小小练习","backgroundTextStyle": &qu…

Transformer模型详解05-Decoder 结构

文章目录 简介结构原理第一个 Multi-Head Attention第二个 Multi-Head AttentionSoftmax 预测输出单词 简介 Transformer 模型由编码器&#xff08;Encoder&#xff09;和解码器&#xff08;Decoder&#xff09;两部分组成。这里我会着重描述解码器的结构以及在预训练、输入输…

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition 论文阅读

StNet: Local and Global Spatial-Temporal Modeling for Action Recognition 论文阅读 Abstract1 Introduction2 Related Work3 Proposed Approach4 Experiments5 Conclusion 文章信息&#xff1a; 原文链接&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/4…

期权(1):基本概念,权利金,定金,买方,卖方,零和游戏,对赌协议

期权是合约&#xff0c;权利金就是定金&#xff01; 合约到期时 买方可以选择行权&#xff0c;也可以选择不行权。代价就是定金损失。因此亏损封顶&#xff0c;但盈利无限。卖方赚的就是买方的定金&#xff0c;盈利封顶&#xff0c;但亏损无限。 从这里&#xff0c;我们看出…

短视频拍摄+直播间搭建视觉艺术实战课:手把手场景演绎 从0-1短视频-8节课

抖音短视频和直播间你是否遇到这些问题? 短视频是用手机拍还是相机拍?画面怎么拍都没有质感 短视频产量低&#xff0c;拍的素材可用率低 看到别人用手机就能把短视频拍好自己却无从下手 明明已经打了好几盏灯了,但是画面还是比较暗 直播软件参数不会设置&#xff0c;电脑…

【Python探索之旅】列表

目录 特点 入门 访问元素 新增元素 修改元素 插入元素 删除元素 完结撒花 前言 在Python中&#xff0c;列表(List)是最常用的数据结构之一&#xff0c;类似于其他语言&#xff0c;如Java&#xff0c;与其不同啊Python中不需要声明数据类型。它提供了一种灵活且高效的方式…

MySQL创建索引报错 Specified key was too long;max key length is 1000 bytes.

MySQL对创建索引的大小有限制&#xff0c;一般索引键最大长度总和不能超过1000个字节。 问题描述 MySQL创建索引时报错 Specified key was too long;max key length is 1000 bytes. 解决办法 (1) 修改存储引擎 InnoDB的索引字段长度限制大于MyISAM&#xff0c;可以尝试改成…

ansible利用playbook 部署lamp架构

搭建参考&#xff1a;ansible批量运维管理-CSDN博客 定义ansible主机清单 [rootansible-server ~]# vim /etc/hosts 192.168.200.129 host01 192.168.200.130 host02 [rootansible-server ~]# vim /etc/ansible/hosts [webserver] host01 host02 在ansible端编写index.html…

【windows小知识#1】ISO镜像,OEM、Retail这些到底是什么意思

汇总一下每个版本windows会衍生哪些镜像出来&#xff0c;以windows7为例 这些文件名代表的是不同版本和不同语言的Windows 7操作系统的安装光盘映像&#xff08;ISO文件&#xff09;。这些文件主要区分为以下几个方面&#xff1a; 语言&#xff1a;这些文件都是中文版&#x…

平地惊雷,GPT-4o 凌晨震撼发布

GPT-4o 今日凌晨&#xff0c;OpenAI 2024 年春季发布会召开&#xff0c;OpenAI 通过短短 28 分钟的发布会&#xff0c;发布了「再次震惊世界」的 GPT-4o&#xff0c;其中 o 是指 omni&#xff08;全能&#xff09;的意思。 一款「全新交互&#xff08;支持 文本/音频/视频 组合…