Meta AI | 指令回译:如何从大量无标签文档挖掘高质量大模型训练数据?

Meta AI | 指令回译:如何从大量无标签文档挖掘高质量大模型训练数据?
文章来自Meta AI,self-Alignment with Instruction Backtranslation[1]:通过指令反向翻译进行自对准。
一种从互联网大量无标签数据中挖掘高质量的指令遵循数据集的方案,它利用少量种子数据,从大量互联网上无标签的数据,挖掘出大量高质量的、多样性也不错的训练数据,成功将llama(美洲驼)进化成Humpback(座头鲸)。

在这里插入图片描述

Title:Self-Alignment with Instruction Backtranslation

论文地址:https://arxiv.org/pdf/2308.06259.pdf

1 Motivation
现状:高质量指令数据太少,互联网上human-written text倒是比较多,但是大量的无标签数据缺乏对应的指令。

目标:研究如何利用互联网上大量的无标签的数据,生成高质量的指令集,进而提升模型的表现。

大白话:无标签文本 -> 对应的指令是什么?

2 Methods
主要依赖于两个假设:

  1. 在互联网上大量的无标签数据中,有些是可以作为user instructions的标准回复gold answer的。

2.根据gold answers生成的指令,可以作为一个高质量的样本去训练指令遵循模型。

在这里插入图片描述
指令回译具体内容:

self-augmentation:利用种子数据训练模型并从无标签数据生成指令。1. 指令预测模型(Myx)训练:先利用少量的instruction,output数据对,训练LLama模型让其学习根据output生成对应instruction的能力。2. 利用指令预测模型Myx + 大量无标签数据 => 生成候选指令A。

self-curation: 从候选指令A中选择部分高质量的(instruction,output)数据对,然后迭代训练指令预测模型v2版本,通过这种方式迭代2轮,提升生成的指令集的质量。

步骤1 Initialization(初始化设置):收集少量种子数据和大量无标注的文本
Seed Data训练:收集少量的种子instruction,output数据,从两个方向来训练模型,第一种是根据指令生成回复。第二种种是根据回复生成指令。
Unlabelled data数据处理:对于每个文档,提取HTML标题后面的文本部分。并进行重复数据删除、长度过滤,并使用几种启发式方法删除潜在的低质量段,例如标题中大写字母的比例。

步骤2 Self-Augmentation (generating instructions指令生成):训练指令预测模型并根据无标签数据生成指令
指令预测模型训练,利用(output,instruction)训练指令预测模型,用于根据无标签的数据生成指令。注意:并不是所有的候选指令对都是高质量的,如果将它们全部用于训练不一定会有益。

步骤3 Self-Curation (selecting high-quality examples指令挑选):利用大模型本身筛选高质量的数据构建新的数据集
筛选打分步骤:

仅根据seed(指令、输出)种子示数据训练模型M0。

使用M0为每个增强示例{(xˆi, yi)}评分,以得出质量评分ai。使用提示对生成的候选指令进行评级打分(5个纬度)。

选择分数为ai ≥ k的增强示例的子集来形成高质量数据集。

筛选评分的prompt:

在这里插入图片描述
Iterative self-curation:迭代方法产生更高质量的预测结果。

在第t次迭代上,我们使用上一轮t-1迭代模型挑选的数据A(t-1)与种子数据一起作为训练数据,进行微调训练当前轮模型Mt。

这个模型反过来可以用于对质量的增强示例进行重新评分,从而产生一个增强集A(t)。这里执行两次数据选择和微调,以获得最终的模型M2。

其他注意事项:当合并seed data和augmented data来训练模型时,利用不同的标签来区别不同sources的数据。

对于seed data,在prompt中添加Answer in the style of an AI Assistant的句子

对于augmented data。在prompt中添加Answer with knowledge from web search句子。

3 Conclusion
在Alpaca leaderboard排行榜上,在使用少量的人类标注数据的情况下,比所有其他non-distilled instruction-following(非其他大模型蒸馏数据训练的大模型)都要好【3k的种子数据+50万无标注数据 + LLaMA大大超过了其它同类型的模型】。
在这里插入图片描述

后续可以继续利用更多的无标签语料来生成更多的数据,理论上会得到更大的收益。

4 limitation
safety和bias:由于利用网上的数据来增强样本,不可避免可能会存在bias,另外也没有red teaming等策略来提升安全性,可能也会有一些风险。

二、详细内容
1 实验设置
seed data:从Open Assistant dataset挑选3200个样本作为seed data,只挑选了英文的数据,同时挑选人类标注的rank指标中最高的。

Base model&finetuning:1.LLaMA系列7B,33B,65B的模型。2.只对输出计算loss。3.利用SFT方法来微调。4.生成阶段,利用nucleus sampling(T=0.7,p=0.9)来生成结果。

Unlabelled Data:Clueweb corpus中sampled 502k个segments。

Nucleus Sampling是什么?【多样性和效果都不错的解码方案】

“Nucleus Sampling” 是一种生成文本的采样策略,主要用于语言模型生成任务,例如文本生成、对话生成等。这种采样方法的目标是在保持生成文本多样性的同时,减少一些低概率、不太可能的生成结果,从而提高生成文本的质量和可读性。

在 Nucleus Sampling 中,首先计算出每个可能的生成词的概率分布。然后,将这些概率值按照大小排序,从高到低排列。接下来,从排好序的概率分布中选择一部分概率最高的词,这部分概率总和达到一个预先设定的阈值。换句话说,从整个词汇中选取了一部分核心词(nucleus),这些词的累积概率超过了设定的阈值。

Nucleus Sampling 的一个主要优势在于它能够在一定程度上平衡生成文本的多样性和可控性。与传统的贪婪解码相比,Nucleus Sampling 能够避免过于保守的生成,同时又能够避免太多的不合理或不相关的生成。这种方法尤其在生成较长文本或需要一定上下文逻辑的任务中表现出色。

总之,Nucleus Sampling 是一种有效的生成文本的采样方法,能够在生成结果的多样性和可控性之间取得一种平衡。它在语言模型的研究和应用中具有一定的重要性。

2 数据量级和分布

在这里插入图片描述
总结:增强的数据似乎多样性也不错,特别是在长尾数据上,可以看作是对现有人类标记的种子数据的补充。

3 数据量重要还是数据质量更重要?

在这里插入图片描述
方法:拿7B的LLaMa模型+增强的数据微调,并与text-davinci-003做对比,y轴为胜率,A4数据集(19万数据),A5的数据集(4万数据)数据质量高。

结论1:不用self-curation挑选高质量的数据,只增大数据量级对模型的指令遵循能力没有任何提高,反而还可能会有下降。

结论2:质量比数量更重要,self-curation打分越高的数据,对模型效果提升越大。相对于A4(score>4)数据集来说,A5(score>4.5)的数据集筛选更高质量的数据,更大提升了模型的效果。

4 不同数据集效果对比
在这里插入图片描述
方法:对比了包括利用更好的模型蒸馏数据集(例如利用GPT-4蒸馏数据集),利用NLP任务构建数据集,本文方法构建数据集下,7B基座模型微调后与text-davinci-003对比的胜率。

结论1:大多数蒸馏指令数据集(GPT-4)比从其他来源(NLP任务(FLAN v2)或从社区问答(LIMA)中提取)创建的数据集具有更好的数据效率。

结论2:本文方法构建的数据集A5取得了更高的指令遵循performance和更好的data scaling efficient(更少的数据,更好的效果,说明本文方法生成的数据的多样性和质量都非常的高)

5 相对于不从GPT-4等模型蒸馏数据来训练模型效果提升非常大(GPT4评估)
在这里插入图片描述
结论:不从其他大模型来蒸馏数据,利用本文提出的方法构建的数据,比其它同大小的模型对比提上非常大。

其它:本文的labelled examples3k是种子数据,最终增强后大概4万数据,4万数据开始饱和。

6 在不同大小的模型上都能带来持续的提升
在这里插入图片描述
结论:不同尺寸的模型上利用该方法都可以带来提升,大概在4万指令的时候饱和。

7 NLP Benchmarks【Commonsense Reasoning和MMLU数据集】上评估
在这里插入图片描述
结论1: 比原始LLaMA65B提升还是非常多的,说明强如LLaMA65B,继续在数据的多样性和质量上做文章还是有比较大的空间,同时也说明本文方法构建数据的质量和多样性都非常不错。

8 消融实验
1 种子数据+增强数据同时使用效果最好

在这里插入图片描述
结论1: 单独使用种子数据或者增强数据,胜率都不太高,混合之后使用,胜率一下子上去了,说明种子数据和增强数据的数据分布情况也不太一样。

2 区分种子数据和增强数据也能带来不错的提升
在这里插入图片描述
说明:对于种子数据和增强数据,用不同的prompt来指明,发现也有不错的提升。

三、总结

直接利用互联网上的数据构建指令遵循数据集是可行的,但是要解决如何生成对应的指令,如何挑选高质量的结果,本文Instruction Backtranslation根据答案生成指令可以作为一个参考方案。

大模型指令微调最重要的还是得依赖更好的质量、更丰富的多样性。互联网上的数据多样性更好,但是缺乏对应指令,如果能利用互联网产生更多的高质量和多样性的数据,还可以继续给现有大模型像LLaMA65B等,带持续来比较大的提升。

目前开源的一些指令遵循数据集可能多样性和质量都不是特别够,还有持续优化的空间,本文方法相当于主要是提供更好的多样性。

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

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

相关文章

vscode 设置打开中断的默认工作目录/路径

vscode 设置打开终端的默认工作目录/路径** 文章目录 vscode 设置打开终端的默认工作目录/路径**打开vscode,打开设置UI 或是设置JSON文件,找到相关设置项方式1:通过打开settings.json的UI界面 设置:方式2:通过打开设置settings.j…

机器学习基础(六)TensorFlow与PyTorch

导语:上一节我们详细探索了监督与非监督学习的结合使用。,详情可见: 机器学习基础(五)监督与非监督学习的结合-CSDN博客文章浏览阅读4次。将监督学习和非监督学习结合起来,就像将两种不同的艺术形式融合&a…

[树形DP] 树的最大独立集

题目 这个挺简单的&#xff0c;注意状态转移时&#xff0c;如果选这个点&#xff0c;那么它的子结点状态应该为不选&#xff0c;如果这个点的状态是不选&#xff0c;那么可以在它的子结点里选择&#xff1a;选/不选两个状态&#xff0c;所以最后结果是max挑选。 #include<b…

python自动化管理和zabbix监控网络设备(有线网络配置部分)

目录 一、拓扑图 二、core-sw1 三、core-sw2 四、sum-sw1 五、sum-sw2 一、拓扑图 二、core-sw1 sys sysname core-sw1 vlan batch 10 20 30 40 50 60 100 vlan batch 200 210 220 230 240 250 stp region-configuration region-name huawei revision-level 1 instance…

vue2和vue3 setup beforecreate create生命周期时间比较

创建一个vue程序&#xff0c;vue3可以兼容Vue2的写法&#xff0c;很流畅完全没问题 写了一个vue3组件 <template><div></div> </template><script lang"ts"> import {onMounted} from vue export default{data(){return {}},beforeCr…

深入理解JS的执行上下文、词法作用域和闭包(中)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

现在学Oracle是49年入国军么?

今天周末&#xff0c;不聊技术&#xff0c;聊聊大家说的最多的一个话题 先说明一下&#xff0c;防止挨喷&#x1f606; 本人并不是职业dba&#xff0c;对数据库就是爱好&#xff0c;偶尔兼职&#xff0c;以下仅个人观点分析&#xff0c;如有不同观点请轻喷&#xff0c;哈哈&…

万字长文带你由浅入深夯实ARM汇编基础——汇编指令及寻址方式最全梳理(附示例)!

《嵌入式工程师自我修养/C语言》系列——由浅入深夯实ARM汇编基础&#xff0c;汇编指令及寻址方式梳理&#xff08;附示例&#xff09;&#xff01; 一、引言二、ARM汇编语言2.1 ARM汇编的特点2.2 ARM指令集格式标准2.2.1 机器指令格式2.2.2 汇编指令格式 三、ARM寻址方式3.1 立…

【Android安全】Windows 环境下载 AOSP 源码

准备环境 安装 git 安装 Python 硬盘剩余容量最好大于 100G 打开 Git Bash&#xff0c;用 git 克隆源代码仓库 git clone https://android.googlesource.com/platform/manifest.git //没有梯子使用清华源 git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git…

174基于matlab的雷达数字信号处理

基于matlab的雷达数字信号处理。该程序具备对雷达目标回波的处理能力&#xff0c;能够从噪声中将目标检测出来&#xff0c;并提取目标的距离、速度、角度信息。有相应的试验文档。程序已调通&#xff0c;可直接运行。 174 雷达数字信号处理 目标检测出来 (xiaohongshu.com)

半导体物理基础-笔记(续)

源内容参考&#xff1a;https://www.bilibili.com/video/BV11U4y1k7zn/?spm_id_from333.337.search-card.all.click&vd_source61654d4a6e8d7941436149dd99026962 掺杂半导体的费米能级与温度及杂质浓度的关系图 在温度一定的条件下&#xff0c;施主杂质浓度越高&#xff0…

字符串(算法竞赛)--字典树Trie与最大异或对

1、B站视频链接&#xff1a;F06 字典树(Trie)_哔哩哔哩_bilibili 题目链接&#xff1a;【模板】字典树 - 洛谷 #include <bits/stdc.h> using namespace std; const int N100010; int n; char s[N]; int ch[N][26];//ch[0][2]1表示0号节点通过c边走到了节点1 int cnt[…

Java语言实现学生管理系统

目录 题目 代码展示 学生类 方法类 main类 运行展示​编辑 题目 学生管理 设计一个学生信息管理系统,有添加学生,查询学生,删除学生等功能. 要求:1.设计一个类学生类,学生属性有学号,姓名,性别(属性私有权限) 用来存储学生的信息 要求2:实现对学生信息的增删查操作 要求…

API攻防-接口安全SOAPOpenAPIRESTful分类特征导入项目联动检测

知识点 1、API分类特征-SOAP&OpenAPI&RESTful 2、API检测项目-Postman&APIKit&XRAY 部分项目下载&#xff1a; https://github.com/API-Security/APIKit https://github.com/lijiejie/swagger-exp https://github.com/jayus0821/swagger-hack 靶场和资源总结&…

限流算法

下面对常见的限流算法进行讨论。目前&#xff0c;常用的限流算法主要有三种&#xff1a;计数器法、滑动窗口算法、漏桶算法和令牌桶算法。下面分别介绍其原理。 1. 计数器法 计数器法是通过计数对到来的请求进行选择性处理。如系统限制一秒内最多有X个请求&#xff0c;则在该…

飞天使-k8s知识点23-kubernetes实操8-数据存储1

文章目录 持久化存储的必要EmptyDirHostPathNFS 持久化存储的必要 Volume是Pod中能够被多个容器访问的共享目录&#xff0c;它被定义在Pod上&#xff0c;然后被一个Pod里的多个容器挂载到具体的文件目录下&#xff0c;kubernetes通过Volume实现同一个Pod中不同容器之间的数据共…

Nest创建神经元,并显示电压变化曲线

nest 安装与介绍 NEST&#xff08;神经模拟工具&#xff09;最初是在 1990 年代后期开发的。它的主要目标是作为计算神经科学模拟器。它支持具有不同生物学细节水平的各种神经元和突触模型。例如&#xff0c;NEST 的神经元模型范围从泄漏积分和激发模型到详细的 Hodgkin-Huxle…

深度学习手写字符识别:推理过程

说明 本篇博客主要是跟着B站中国计量大学杨老师的视频实战深度学习手写字符识别。 第一个深度学习实例手写字符识别 深度学习环境配置 可以参考下篇博客&#xff0c;网上也有很多教程&#xff0c;很容易搭建好深度学习的环境。 Windows11搭建GPU版本PyTorch环境详细过程 数…

抖音视频提取软件使用功能|抖音视频下载工具

我们的抖音视频提取软件是一款功能强大、易于操作的工具&#xff0c;旨在解决用户在获取抖音视频时需要逐个复制链接、下载的繁琐问题。我们的软件支持通过关键词搜索和分享链接两种方式获取抖音视频&#xff0c;方便用户快速找到自己感兴趣的内容。 主要功能模块&#xff1a;…

论文阅读:Ground-Fusion: A Low-cost Ground SLAM System Robust to Corner Cases

前言 最近看到一篇ICRA2024上的新文章&#xff0c;是关于多传感器融合SLAM的&#xff0c;好像使用了最近几年文章中较火的轮式里程计。感觉这篇文章成果不错&#xff0c;代码和数据集都是开源的&#xff0c;今天仔细读并且翻译一下&#xff0c;理解创新点、感悟研究方向、指导…