数据规模缩小 200 倍!指令微调高效指导大模型学习

news2024/10/7 10:24:51
夕小瑶科技说 原创
作者 | 智商掉了一地、Python

最近大型语言模型(LLMs)的指令微调备受研究人员的关注,因为它可以开发 LLM 遵循指令的潜力,使其更加符合特定的任务需求。虽然指令微调(Instruction Tuning)作为一种微调方法,与传统的微调相比,所需要的数据较少并更具有人类友好性,还可以用于多种不同的下游任务。这为促进 LLM 适应下游任务提供了优势,但在大量数据上训练拥有数千万甚至数十亿个参数的模型会导致高昂的计算成本。

为了解决上述问题,该论文作者提出将重点放在减少 LLM 指令微调所需的数据量,以降低训练成本和提高数据效率,这被称为低训练数据指令微调(LTD instruction tuning)。具体来说,本文对 LLM 训练中使用的数据进行了初步探索,并确定了多个关于 LLM 训练任务专业化的观察结果,例如优化特定任务的性能、指令微调所需的指令类型数量以及任务特定模型所需的数据量。研究结果表明,只需要使用原始数据集的不到 0.5% 便足以训练出高性能的任务专用模型,相比使用完整任务相关数据进行训练的模型,其性能提高了 2%。

论文题目:
Maybe Only 0.5% Data is Needed: A Preliminary Exploration of Low Training Data Instruction Tuning

论文链接:
https://arxiv.org/abs/2305.09246

大模型研究测试传送门

ChatGPT传送门(免墙,可直接测试):

https://yeschat.cn

GPT-4传送门(免墙,可直接测试,遇浏览器警告点高级/继续访问即可):

https://gpt4test.com

什么是 LLM 的指令微调?

大模型由于其参数多且复杂,在实际应用中普遍存在训练时间长、计算资源耗费大等问题。为了提高模型的训练和推理效率,需要对模型进行指令微调。

指令微调(Instruction tuning)是指在少量数据或有限数据条件下,从已有数据中识别出最有价值的核心样本,并通过微调模型的指令来帮助模型获取下游任务的知识,从而实现可比甚至更好的性能。这种方法主要针对预训练语言模型,因为 LLM 需要大量数据来训练,但在某些情况下,如果我们只希望优化特定任务的性能,则只需要在目标任务数据上微调模型的指令,而不是在大量数据上进行微调,可以大大节省时间和计算资源。

指令微调通常是指微调模型的注意力机制、位置编码或其他需要微调的参数,使其适应特定任务的需求。总之,大型模型的指令微调对于提高模型的训练和推理效率至关重要,而不同的指令微调策略可以针对不同的模型和任务需求进行选择和优化。

如图 1 所示是微调和指令微调之间的区别。在微调中,语言模型预测样本的标签,而在指令微调中,语言模型回答指令集中的问题。NLI 任务涉及确定两个文本部分(通常称为“前提”和“假设”)之间的逻辑关系。NLI 的目标是根据前提中提供的信息,确定假设是否为真、假或未确定。句子完成(SC)任务涉及预测最可能的单词或一系列单词,以完成给定的句子或短语。

图1 以自然语言推理和因果推理为例

论文速览

本文主要从数据角度来探讨如何降低 LLM 训练阶段的成本,提高数据效率。为了实现该目的,作者通过从现有数据中识别出最有价值的核心样本来帮助模型获取下游任务的知识,并仅用少量数据来实现可比甚至更好的性能。

方法流程如图 2 所示,潜在空间用三个矩形表示,每个任务代表其中一个颜色系列。具有相同色系但不同色调的点,对应于来自同一任务但来自不同数据集的数据,如 NLI 任务有 5 个数据集,因此有 5 种不同的色调。

图2 低训练数据指令微调流程

主要分为以下几步:

  1. 将每个句子编码成嵌入向量,并进行均值池化和 L2 归一化的预处理。
  2. 在潜在空间中,将所有样本点聚类成几个类别。
  3. 从这些聚类样本中进行采样,找到原始分布中的核心样本。
  4. 使用这些检索到的样本来指导微调 LLM 并进行评估。

实验

作者在选择特定任务和指令格式后,在总共 11 个数据集上进行了实验,这些数据跨越 4 个自然语言处理任务:自然语言推理(NLI,1.9M 个 token)、句子补语(SC,660.6K 个 token)、词义消解(WSD,25.5K 个 token)和指代消解(CR,185.1K 个 token)。成功使用原始数据集不到 0.5% 的数据训练了一个特定任务模型,相当于将数据规模缩小了 200 倍,并与在 P3 中基于任务相关数据训练的模型具有可比性能。

对于自然语言推理(NLI)任务,得出了以下观察结果:

  • 如果只是为了优化特定任务的性能,仅在目标任务数据上微调的 LLM 模型很可能比在不同类型任务数据上微调的模型更优。
  • 另外,在专门针对单个任务时,似乎只需要一个指令进行指令微调。虽然增加指令类型数量可以提高性能,但边际效应变得不那么显著,甚至可能有单一指令优于十种指令的情况。
  • 与为整体任务性能训练模型相反,结果还表明,16000 个实例(1.9M 个 token,占 P3 的 0.5%)可能足以训练一个 NLI 任务特定的模型。

综合来看,在特定任务和指令格式下,仅使用少量的数据就可以训练具有可比性能的模型。

小结

本文主要从低训练数据指令微调的角度研究任务特定模型的性能,这为降低训练成本、提高数据效率提供了一些初步发现和洞见。由于计算资源的限制,该研究还存在一些限制,未来的工作可以在更大的模型上验证这些思路,并使用更广泛的任务和数据集。

基于这些研究结果,我们可以期待未来在低训练数据下的指令微调方面能够有更深入的探究和应用。除了这种方法,作者还探索了另外两种方法来减少 fine train 所需的训练数据,期待后续完善的论文。总而言之,本文迈出了重要一步,它为未来探索低训练数据下的指令微调方向指明了一定方向,我们也期待能够看到该领域的更多发展和创新,希望有朝一日 DIY 大模型不再是梦~

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

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

相关文章

JavaEE-HTTPS的加密流程

目录 对称加密非对称加密证书的引入 对称加密 对称加密就是用同一个密钥把明文进行加密变成密文,也能把密文解密为明文. 理想状态下: 引入对称加密之后, 即使数据被截获, 由于黑客不知道密钥是啥, 因此就无法进行解密, 也就不知道请求的真实内容是啥了. 但同一时刻服务器服务…

数据库规范与SQL调优

数据库设计规范章节,依旧以《阿里巴巴Java开发手册》为原型进行修正和完善。 MySQL规约 (一) 建表规约 (二) 索引规约 (三) SQL规约 (四) ORM规约 (一) 建表规约 1. 【强制】 表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是…

Windows修改为Mac的字体方法

一: 首先下载字体文件和修改器 Mac字体修改 https://www.aliyundrive.com/s/KKvcRNYkP5p 提取码: 6d3p 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 二: 设置并修改字体 1:…

服务(第二十八篇)rsync

配置rsync源服务器: #建立/etc/rsyncd.conf 配置文件 vim /etc/rsyncd.conf #添加以下配置项 uid root gid root use chroot yes #禁锢在源目录 address 192.168.80.10 …

浅谈管网抢维修效率对产销差率的影响

1 背景 多年来,漏损治理工作一直围绕检漏、分区计量或压力管理等相关话题,却忽视了抢维修速度与质量对漏损治理成效的影响。实际上,不管是DMA分区计量,还是检漏,最终还是要通过抢维修来修复漏点达到控制漏损的目的。尽…

Vue 3中利用UseStorage轻松实现本地存储功能,释放数据持久化的力量

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 一、介绍1.1 什么是本地存储1.2 Vue 3中的UseStorage插件简介 二、…

第18章_MySQL8其它新特性

第18章_MySQL8其它新特性 1. MySQL8新特性概述 MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器…

MySQL-1-SQL语句的分类、MySQL命令、SQL查询语句

一、SQL语句的分类(任何一条sql语句以分号结尾;SQL语句不区分大小写) DQL(数据查询语言):查询语句,凡是select都是DQL。 DML(数据操作语言):insert、delete、…

Midjourney 介绍-AI绘画工具

《Midjourney》是一款2022年3月面世的AI绘画工具,创始人是David Holz。 它一款基于浏览器的在线应用程序,因此你无需安装任何软件,只需在浏览器中访问MidJourney的官方网站即可开始使用。 只要输入想到的文字,就能通过人工智能产出…

一文带你了解MySQL之基于成本的优化

前言 本文章收录在MySQL性能优化原理实战专栏,点击此处查看更多优质内容。 目录 一、什么是成本二、单表查询的成本2.1 准备数据2.2 基于成本的优化步骤2.3 基于索引统计数据的成本计算 三、连接查询的成本2.1 准备数据2.2 Condition filtering介绍2.3 多表连接的成…

『MySQL 实战 45 讲』16 - “order by” 是怎么工作的

“order by” 是怎么工作的 首先创建一个表 CREATE TABLE t ( id int(11) NOT NULL, city varchar(16) NOT NULL, name varchar(16) NOT NULL, age int(11) NOT NULL, addr varchar(128) DEFAULT NULL, PRIMARY KEY (id), KEY city (city) ) ENGINEInnoDB;全字段排序 在 cit…

正确甄别API、REST API、RESTful API和Web Service之间的异同

看到API你会想起什么?是接口、第三方调用、还是API文档?初看你可能会觉得这太熟悉了,这不是系统开发日常系列吗?但你仔细想一想,你会发现API的概念在你脑海里是如此的模糊。如何你通过搜索引擎检索API,你会…

目标检测数据预处理——部件截图,按一定比例进行外扩

本片是截图的篇的升级版本,简单版本的截图请参考根据目标框外扩一定比例进行截图(连带标签)。 对目标框(类别名称)进行分类,将同一类的目标框进行截图并分类保存在不同的文件夹中。 在本篇当中,…

Vue3中响应式Reactive的独特之处:它在哪些场景下胜出Ref?

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 一、Vue 3中响应式Reactive的独特之处1.1 引言1.2 Vue 3中的响应式…

算法leetcode|51. N 皇后(rust重拳出击)

文章目录 51. N 皇后:样例 1:样例 2:提示: 分析:题解:rust:go:c:python:java: 51. N 皇后: 按照国际象棋的规则,皇后可以…

详解c++STL—STL常用算法

目录 1、常用遍历算法 1.1、for_each 1.2、transform 2、常用查找算法 2.1、find 2.2、find_if 2.3、adjacent_find 2.4、binary_search 2.5、count 2.6、count_if 3、常用排序算法 3.1、sort 3.2、random_shuffle 3.3、merge 3.4、reverse 4、常用拷贝和替换算…

在MyBatis XML文件中处理特殊符号的方法,如“>”、“<”、“>=”、“<=”这些符号XML会报错如何处理

前言 在MyBatis的XML映射文件中,我们经常需要使用特殊符号,比如"大于"、"小于"、"大于等于"、"小于等于"等比较操作符。然而,这些符号在XML中具有特殊的含义,因此需要进行特殊处理&…

nginx缓存及rsync远程访问控制

nginx缓存功能 http{ proxy_cache_path /data/nginx/cache/levels1:2 keys_zonemy_cache:10m max_size10g inactive60m use_temp_pathoff; path强制参数,指定缓存文件的存放路径。 levels: 定义了缓存目录的层级。每层可以用1(最多16种选择,0-f)或2(最…

2023年认证杯SPSSPRO杯数学建模A题(第一阶段)碳板跑鞋全过程文档及程序

2023年认证杯SPSSPRO杯数学建模 A题 碳板跑鞋 原题再现: 在专业运动鞋上使用的碳板,也可被称为碳纤维增强环氧树脂材料,事实上是将碳纤维织成布,再浸入环氧树脂固化后形成的板材。它以较轻的重量达到了相当好的弹性和刚度。在上…

【jvm系列-13】jvm性能调优篇---参数设置以及日志分析

JVM系列整体栏目 内容链接地址【一】初识虚拟机与java虚拟机https://blog.csdn.net/zhenghuishengq/article/details/129544460【二】jvm的类加载子系统以及jclasslib的基本使用https://blog.csdn.net/zhenghuishengq/article/details/129610963【三】运行时私有区域之虚拟机栈…