指令数据:训练大模型的“隐形助力”

作者:谭婧

(一)指令数据,了解一下

先聊一件圈内趣事:

2023年初,大约在1月到2月份前后,

百度公司如流工作卡上有一个任务,

让百度员工打开脑洞,写“问答对”。

一问一答都让员工设计。

如流是百度员工内部通讯,相当于企业微信。

我推测此举很可能是在充实其“指令数据集”

百度的做法是非常科学的指令数据集构造方法

f86f47db570a3f88b127e1dd521c130d.png

指令数据(Instruct data)是一种用于训练大模型的数据类型。

通常以问有答的形式呈现。

在一问一答中传递信息,非常直观。

这种形式更接近人类的交流方式,

经过训练,能够更直接地引导大模型“行为”。

对比预训练环节的数据多来自于互联网数据爬取,需要经过清洗,抽取等冗长过程,指令数据的构造是另一种难度。

问题以一种人类真实需求来表达,不能瞎编。

答案则是尽量正确,且有针对性的回答,不能乱造。

例如,回答“今天天气怎么样?”时,

不能说“很好”,

而应该说“今天天气晴朗,气温为20℃,风力微弱。”

f6bf797b40826c90c6163bf9ed0ff8de.png

大语言模型的知识主要是在预训练期间学习的。

大语言模型“炼成后”,仍需“三大”步骤;

在第一个步骤中,通过指令数据进行有监督学习,至关重要。

指令(Instruct)可以简单理解为,

“命令”“指示”“指挥”,就是人类下达指令“让”大模型“干活”:

写封信,写首诗,写代码,等等。

比如,闲聊中也会有问有答的句子,但明显不同于指令数据,指令数据的内容针对问题来回答,所以针对性强。闲聊数据中找问答对,效率太低。

从学术人员的角度,

以前是小模型百花齐放的世界,一个模型干一件事(任务)。

现在是大模型一统天下,一个大模型能干得活可太多了,不能乱指挥,

得有一直方式让它知道你想干啥。

人类写好的一问一答的这种方式,

很适合大模型学习。

指令数据的微调让大模型多遵循指令,

少胡编事实

c9f482a47b168d67ef7137b8755991f7.jpeg

指令(Instruct)和提示词(Prompt)的区别?

两者的相同之处在于都可以引导模型。

通常来说,指令更强调对模型的具体要求,让其执行某个特定的任务,

而提示词更广泛,可能是一个问题、一个主题或一个启发性的语境。

大家观察GPT-3.5,喜欢参考Instruct-GPT的论文,看看论文里怎么说:

“我们收集了一个数据集,并使用此数据集做训练,让模型学习和参考,期望大模型的输出像人类已经编写好的例子这样。”

66f102f87327c48336652b32c79ecb4a.png

浪潮信息人工智能软件研发总监吴韶华的观点是,模型对于训练数据集学习能力是非常强的,高质量数据成为大模型决胜关键。

他谈到的例子让人印象深刻:

“在源1.0研发的时候,数据主要来自于互联网,我们从2017年到2021年之间互联网数据里边搜集出来了差不多800TB互联网数据

我们清理出来大约5TB比较高质量数据,分析发现,哪怕应用很多的优化手段,数据质量依然不够高,依然会有噪声。

于是,在源2.0研发的时候,我们在数据方面做了大量的工作。

首先,大幅降低了来自互联网的数据占比,为了获得高质量数学数据,我们清洗了从20182023年之间互联网页,试图获取中文数学数据;我们开始处理的原始数据体量高达12PB,但最后获得的中文数学数据数据量不到10GB

12PB到小于10GB,大家可以想一下是什么概念。

高质量的数据非常难以获得。

为了弥补高质量数据的缺失,我们下了额外的功夫:

在预训练数据构建的时候,我们用大模型生成了一部分合成数据,比如部分代码数据,部分数学数据。

我们构建了一套基于大模型生成合成数据的工作流,通过这种形式可以保证生成数据的多样性,在每个类目里边保证数据的质量,通过这形式我们构建了一个比较完备的预训练数据集。

当然,类似的方式我们也用在了构建微调数据集上面。”

51e1926d25592db3ecbfa2edd808b592.png

一般说来,有些数据既可以处理成预训练数据,

也可以处理成指令数据,取决于处理的方法。

(二)开源指令数据集

目前,大部分大模型团队都有自建指令数据集,很多不愿意公开。

开源的指令数据应该很多元。

按任务可以分为:数学能力,文本改编,知识问答,编程,标题生成,逻辑推理等。

程序算作计算机可执行的语言,和文字不做区分,都算做语言。

比如,“帮我用python语言实现排序算法。”

大模型回复的是代码,代码可以执行.

这对指令数据中,含有的内容以代码为主。

解数学题的过程则属于逻辑推理。

指令数据也可以分为单模态和多模态;

多模态的数据集会在问答中含有图片,声音,视频等数据类型,比如,听歌识歌名,就需要音乐和文本的问答对进行训练。

这篇主要聊单模态。

“指令数据”全是人类手写也非常麻烦,所以,有一些是生成的。

生成的时候,因为问题和答案都是生的,所以要进行筛选。

为了纵览中文视角下的全球开源指令数据集情况,

“亲爱的数据”做了一个盘点:

57bc0bd33fce055437748ecf2218f2d7.png

(三)提高质量的“魔法

一位AI工程师告诉我:“敢开源,能开源的团队,都有点东西。”

我深以为意。

虽然不是每一次开源都让人兴奋,但是开源后,到底质量怎么样,有目共睹。

至少自信和敢作敢为这一波,力量是拉满了。

获得高质量数据这件事,是费时费力费人的工程活。

猛一看,技术含量不高,

细一看,大家都不愿意开源,可见技术含量藏的有点深。

我观察认为,有大模型训练实际经验的团队,比研究团队更有动力干这件事。

武汉人工智能研究院用一篇论文公开了他们构建指令数据集的方法。

实际上,武汉人工智能研究一直在研发迭代“紫东太初大模型”,他们对指令数据集的需求,来源于真实的复杂工程需求。

论文的方法,也是“紫东太初”大模型在用的方法。

省流版本是:

对于指令数据集来说,需要先定义什么是好问题好答案。

问题和答案的覆盖度足够全,有写代码,写作业,写信等形形色色的事情;1000个问题不能总在聊“吃”这个话题。

再定义什么是好答案。

武汉人工智能研究院的实践是训练了一个判断答案问答对质量的打分模型。

打分模型也是原创训练,基座还是语言模型,优化目标变成排序。给定一个任务,给出候选答案。标注好坏,训练结束,就具备了打分的功能。然后就能针对开源的指令数据打成绩单。

喂给模型,就会得到质量得分。

一千对问答,一千个分数。

高分留下,低分不要。

以分数来筛选。

更为详细的做法,可参见论文:

MoDS: Model-oriented Data Selection for Instruction Tuning

MoDS:面向模型的指令数据选择》。

cef6b687cdfd2a24171170a5c2843a6f.png

我认为论文题目可以叫,大模型指令数据高效选择方法MoDS。

论文回答了,如何为LLM选择合适的指令数据?

论文作者为:杜倩龙、宗成庆、张家俊

050e3c326d6aaa23303ccb417e0fee21.png

武汉人工智能研究院副院长的张家俊教授是论文作者之一,

他向我强调,

我们提出一种新颖的指令数据选择方法。

大家通常关注指令数据的两个方面:

一个是指令数据质量高不高,

另外一个方面指令数据的多样性覆盖度够不够。

但是很多时候会忽略一点,

每个大模型都有自身的特点,每个大模型训练数据不一样,模型架构不一样,训练参数又不一样,很显然不是每一个模型都应该用相同的指令数据。

为什么?

比如,有一些大模型这条指令给它的时候发现完成地非常好,或者有一些指令推理的时候,你发现这些指令完成地不够好,非常差。

本质上,非常差的指令才是需要去提升的能力。

因此,我们还提出来另外一个角度,数据必要性

即从指令数据的质量、数据覆盖度和数据必要性三个角度衡量指令数据。

e30ed165295a47916100c4b710fb7758.png

我理解,大模型所蕴含的知识是在预训练阶段内化到大语言模型里,而不是到指令微调阶段才开始“补课”,指令微调起到激发引导大模型的作用。

不同大模型的能力不同,我们引导的工具也应该不同。

就好比,一个大学生和一个小学生,你要教他们一人一个技能,是不是应该用不同的方法?

因此,论文中强调每个大语言模型都应该有一套与其相匹配的指令数据集;也就是我们常常看到的现象:训练GPT-4与LLaMA肯定不应该用一样的指令数据。

顺着这个逻辑,正是因为各种大模型所需的指令数据集不同,

我们就更需要“通用的指令数据筛选工具。

(完)

852f7ed54f3ee43b622d85f0c07a999d.jpeg83e9b4eee313bae507ac356356fb090b.jpeg

《我看见了风暴:人工智能基建革命》,作者:谭婧

58bf0de3c23678c0a9d34a04d261b924.jpeg

更多阅读

AI大模型与ChatGPT系列:

1. ChatGPT大火,如何成立一家AIGC公司,然后搞钱?

2. ChatGPT:绝不欺负文科生

3. ChatGPT触类旁通的学习能力如何而来? 

4. 独家丨从大神Alex Smola与李沐离职AWS创业融资顺利,回看ChatGPT大模型时代“底层武器”演进

5. 独家丨前美团联合创始人王慧文“正在收购”国产AI框架OneFlow,光年之外欲添新大将

6. ChatGPT大模型用于刑侦破案只能是虚构故事吗?

7. 大模型“云上经济”之权力游戏

8.  云从科技从容大模型:大模型和AI平台什么关系?为什么造行业大模型?

9. 深聊第四范式陈雨强丨如何用AI大模型打开万亿规模传统软件市场?

10. 深聊京东科技何晓冬丨一场九年前的“出发”:奠基多模态,逐鹿大模型

11. 老店迎新客:向量数据库选型与押注中,没人告诉你的那些事

12. 微调真香,漫画科技博主竟然在用国产大模型生成系列漫画女主角

13. 大模型“搅局”,数据湖,数据仓库,湖仓选型会先淘汰谁?

14. 大模型用于腾讯广告,难在哪?

15. 搞掂大模型,如何榨干每一滴算力?

16. 假如你家大模型还是个二傻子,就不用像llya那样操心AI安全

长文

1. 深聊科大讯飞刘聪丨假如对大模型算法没把握,错一个东西,三个月就过去了

2. 深聊武汉人工智能研究院张家俊丨 “紫东太初”大模型背后有哪些值得细读的论文(一)

3. 深聊武汉人工智能研究院王金桥丨紫东太初:造一个国产大模型,需用多少篇高质量论文?(二)

4. 为何重视提示工程?

5. 跳槽去搞国产大模型,收入能涨多少?

6. AI咆哮后,一个赚大钱的AI+Data公司估值居然430亿美元?

7. 抢滩大模型,抢单公有云,Databricks和Snowflake用了哪些“阳谋”?

8. 大模型下一场战事,为什么是AI Agent?

漫画系列

1. 是喜,还是悲?AI竟帮我们把Office破活干完了

2. AI算法是兄弟,AI运维不是兄弟吗?

3. 大数据的社交牛气症是怎么得的?

4. AI for Science这事,到底“科学不科学”?

5. 想帮数学家,AI算老几? 

6. 给王心凌打Call的,原来是神奇的智能湖仓

7. 原来,知识图谱是“找关系”的摇钱树?

8. 为什么图计算能正面硬刚黑色产业薅羊毛?

9. AutoML:攒钱买个“调参侠机器人”?

10. AutoML:你爱吃的火锅底料,是机器人自动进货

11. 强化学习:人工智能下象棋,走一步,能看几步?

12. 时序数据库:好险,差一点没挤进工业制造的高端局

13. 主动学习:人工智能居然被PUA了?

14. 云计算Serverless:一支穿云箭,千军万马来相见

15. 数据中心网络:数据还有5纳秒抵达战场

16.  数据中心网络:迟到不可怕,可怕的是别人都没迟到

17.  漫画:大模型用于腾讯广告,难在哪?

AI框架系列:

1.搞深度学习框架的那帮人,不是疯子,就是骗子(一)

2.搞AI框架那帮人丨燎原火,贾扬清(二)

3.搞 AI 框架那帮人(三):狂热的 AlphaFold 和沉默的中国科学家

4.搞 AI 框架那帮人(四):AI 框架前传,大数据系统往事

注:(三)和(四)仅收录于《我看见了风暴》。

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

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

相关文章

HashMap常见面试问题

简述HashMap原理? HashMap基于数组加链表的方式来实现,数组下标通过hash值来计算,当下表冲突时,就会进行遍历链表,当链表长度大于8的时候会转化为红黑树。 HashMap的put过程? put的第一步是计算hash值&a…

什么时候使用匿名类,匿名类解决了什么问题?为什么需要匿名类 ?

匿名类通常在以下场景下使用: 一次性使用: 当你需要创建一个类的实例,但该类只在一个地方使用,而不打算在其他地方重复使用时,可以考虑使用匿名类。 简化代码: 当创建一个小型的、一次性的类会让代码更简洁…

VUE中如果让全局组件在某一页面不显示

目录 前言 方法一 1.在全局组件中添加一个变量用于控制显示与隐藏。 2.在全局组件的模板中使用 v-if 条件来决定是否显示该组件 3.在不需要显示全局组件的页面中,修改 showGlobalComponent 变量的值为 false,以隐藏全局组件。 4.在需要隐藏全局组…

TrustZone之总线请求

接下来,我们将查看系统中的总线请求者,如下图所示: 系统中的A型处理器具有TrustZone感知,并在每个总线访问中发送正确的安全状态。然而,大多数现代SoC还包含非处理器总线请求者,例如GPU和DMA控制器。 与完成…

​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展

在数字化时代,云计算成为推动创新和业务发展的关键驱动力。Amazon Lightsail 作为亚马逊云科技家族中的一员轻量应用服务器,为小型企业和创业公司提供了简便、强大的云计算服务。无论您是刚刚起步的初创公司,还是需要灵活而高效的云解决方案&…

第5次实验:ICMP

目的: 要看ICMP(互联网控制信息协议)是如何使用的。ICMP是IP的一个配套协议,通过处理各种错误和测试情况,帮助IP执行其功能。通过处理各种错误和测试情况来帮助IP执行其功能。它在第5.6.4节中有介绍。文中有涉及。在做…

vue 中国省市区级联数据 三级联动

vue 中国省市区级联数据 三级联动 安装插件 npm install element-china-area-data5.0.2 -S 当前版本以测试,可用。组件中使用了 element-ui, https://element.eleme.cn/#/zh-CN/component/installation 库 请注意安装。插件文档 https://www.npmjs.com/package/ele…

【CANoe】CANoe中使用RS232

文章目录 1、CANoe中自带示例2、示例讲解2.1CANoe自带Port A和Port B通讯2.2CANoe自带Port A和串口助手通讯 1、CANoe中自带示例 我使用的事CANoe12,RS232路径如下: C:\Users\Public\Documents\Vector\CANoe\Sample Configurations 12.0.75\IO_HIL\RS23…

如何安全运行别人上传的Python代码?

写后端的同学,有时候需要在网站上实现一个功能,让用户上传或者编写自己的Python代码。后端再运行这些代码。 涉及到用户自己上传代码,我们第一个想到的问题,就是如何避免用户编写危险命令。如果用户的代码里面涉及到下面两行&…

人工智能联盟的首件神兵利器——“Purple Llama” 项目,旨为保护工智能模型安全性

Meta公司(Meta Platform Inc),原名Facebook,创立于2004年2月4日,市值5321.71亿美元。总部位于美国加利福尼亚州门洛帕克。 Meta 公司推出了名为“Purple Llama”的项目,旨在保护和加固其开源人工智能模型。…

部署Nextcloud详细步骤及优化方法

一、安装PHP8.0以上 我这里使用PHP8.0.30 [rootlocalhost ~]# php -v PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 ) Copyright (c) The PHP Group Zend Engine v4.0.30, Copyright (c) Zend Technologies [rootlocalhost ~]# 安装方法参考 二、安装MY…

安卓版pytCharm怎么启动,安卓版手游免费下载

大家好,给大家分享一下安卓版python编辑器安装tkinter,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 我的GitHub 是的,Python 代码可以在 Android 平台上运行,尽管这并不是 Python 传统上最常用的运行环…

正则表达式(6):分组与后向引用

正则表达式(6):分组与后向引用 总结 本博文转载自 在本博客中,”正则表达式”为一系列文章,如果你想要从头学习怎样在Linux中使用正则,可以参考此系列文章,直达链接如下: 在Linux中…

【Stm32-F407】Keil uVision5 下新建工程

①双击鼠标左键打开Keil uVision5,选择 Project 下的 New uVision Project ; ②在期望的文件夹下创建一个工程,并按如下要求操作; ③添加文件类型,按如下要求操作 ④如有需要可添加相关启动文件在工程文件夹下并添加到…

RNN介绍及Pytorch源码解析

介绍一下RNN模型的结构以及源码,用作自己复习的材料。 RNN模型所对应的源码在:\PyTorch\Lib\site-packages\torch\nn\modules\RNN.py文件中。 RNN的模型图如下: 源码注释中写道,RNN的数学公式: 表示在时刻的隐藏状态…

渗透测试框架——Cobalt Strike

渗透测试框架——Cobalt Strike Cobalt Strike是一款非常成熟的渗透测试框架。Cobalt Strike在3.0版本之前是基于Metasploit框架工作的,可以使用Metasploit的漏洞库。从3.0版本开始,Cobalt Strike不再使用Metasploit的漏洞库,成为一个独立的…

每日好题:原来你也玩三国杀(DP动态规划)

I - 原来你也玩三国杀 Description 小 Q 最近听说 “很多” acmer 都爱上了一款游戏《三国杀》。因为小 Q 是一个初学者,所以想自己先偷偷学习一下,然后惊艳所有人。但又因为小 Q 不屑于使用一般的武将,因为他觉得唯有操作型武将才能显得自…

性能监控软件:优化系统运行的得力助手

随着科技的飞速发展,企业和组织对于其信息技术基础设施的性能要求也愈发提高。为了确保系统能够高效稳定地运行,性能监控软件成为不可或缺的工具。本文将探讨性能监控软件的主要作用,以及它们在提升系统性能和稳定性方面的关键作用。 1. 实时…

学习MS Dynamics AX 2012编程开发 1. 了解Dynamics AX 2012

在本章中,您将了解开发环境的结构以及Microsoft Dynamics AX中的开发人员可以访问哪些工具。在本书的第一步演练之后,您将很容易理解著名的Hello World代码,您将知道应用程序对象树中的不同节点代表什么。 以下是您将在本章中学习的一些主题…

10、ble_mesh_node服务节点示例

1。手机APP选择名字,点击provisioner App keys,识别,配网。 2。初始化流程, board_init()初始化IO,初始化存储, bluetooth_init()蓝牙初始化,ble_mesh_get_dev_uuid(dev_uuid)蓝牙组网初始化, 3、蓝牙组网初…