当前位置: 首页 > news >正文

NVIDIA新模型Nemotron-4:98%的训练数据是合成生成的,你敢信?

获取本文论文原文PDF,请公众号 AI论文解读   留言:论文解读

61aa6fcda8ff19991dc93f1f58683fdd.jpeg

  • 标题:Nemotron-4 340B Technical Report

模型概述:Nemotron-4 340B系列模型的基本构成

Nemotron-4 340B系列模型包括三个主要版本:Nemotron-4-340B-Base、Nemotron-4-340B-Instruct和Nemotron-4-340B-Reward。这些模型是在NVIDIA开放模型许可协议下发布的,该协议允许模型及其输出的分发、修改和使用。Nemotron-4 340B系列模型在多个评估基准测试中与其他开放访问模型具有竞争力,并且设计为在单个DGX H100设备上使用8个GPU以FP8精度部署时能够适应。这些模型特别适用于生成用于训练较小语言模型的合成数据。值得注意的是,我们模型对齐过程中使用的数据中有超过98%是合成生成的,这展示了这些模型在生成合成数据方面的有效性。

8f6edeca9c5b2ee259135f29be68405a.jpeg

训练数据与预处理:详细解析训练数据的组成及预处理方法

Nemotron-4 340B系列模型的训练数据混合包括三种不同类型的数据:英语自然语言数据(占70%)、多语言自然语言数据(占15%)和源代码数据(占15%)。英语语料库包括来自各种来源和领域的精选文档,如网页文档、新闻文章、科学论文、书籍等。我们的多语言数据包含53种自然语言,由单语和平行语料库的文档组成,而我们的代码数据集包括43种编程语言。这些数据共计训练了9万亿个令牌,其中前8万亿令牌在正式的预训练阶段完成,最后1万亿令牌在持续的预训练阶段完成。

在预处理方面,我们采用了多种技术来确保数据质量和模型训练的有效性。首先,我们对所有文本数据进行了清洗和标准化处理,去除了噪声和不相关的信息。接着,我们使用了高级的分词工具(如SentencePiece)来处理文本数据,确保了数据的一致性和可处理性。此外,为了提高模型训练的效率和效果,我们还采用了高级的数据增强技术,如对话生成和质量过滤,以及偏好排名等方法来进一步优化训练数据集。

通过这些精心设计的预处理和数据管理策略,Nemotron-4 340B系列模型能够有效地从高质量的训练数据中学习,并在多个任务和基准测试中展现出卓越的性能。

模型架构与训练细节

Nemotron-4 340B模型系列包括Nemotron-4-340B-Base、Nemotron-4-340B-Instruct和Nemotron-4-340B-Reward。这些模型在单个DGX H100设备上部署时,可以在8个GPU上以FP8精度运行。Nemotron-4-340B-Base模型在训练过程中使用了9万亿个高质量数据令牌。模型的架构是标准的解码器仅Transformer架构,具有因果注意力掩码,使用旋转位置嵌入(RoPE)、SentencePiece分词器,并在MLP层中使用平方ReLU激活函数。此外,该模型还采用了分组查询注意力(GQA)技术。

在训练细节方面,Nemotron-4-340B-Base使用768个DGX H100节点进行训练,每个节点包含8个H100 80GB SXM5 GPU。这些GPU通过NVLink和NVSwitch连接,GPU之间的带宽为900 GB/s。在训练过程中,我们采用了8路张量并行、12路流水线并行以及数据并行技术,并使用分布式优化器来减少训练过程中的内存占用。此外,我们还在训练的最后阶段引入了不同的数据分布和学习率衰减策略,以进一步提高模型的质量。

05499dfcd2433e553707494524b92792.jpeg

09f4fcac1f175d006f03db824bdb0266.jpeg

模型对齐与奖励建模

1. 奖励模型的重要性与构建

奖励模型在模型对齐过程中扮演着至关重要的角色,它是用于偏好排序和质量过滤的关键工具。我们构建的奖励模型基于Nemotron-4-340B-Base模型,通过替换最后的softmax层,加入一个新的奖励“头部”,这是一个线性投影,将最后一层的隐藏状态映射到一个五维的HelpSteer属性向量上。这些属性值在推理时可以通过加权求和得到总体奖励。我们发现这种奖励模型在RewardBench上的表现非常优秀,达到了发布时的最高准确率。

2ea9c9ac5f89bea56ba079e3fc91e8e4.jpeg

2. 对齐数据的生成与利用

在整个模型对齐过程中,我们大量使用了合成数据生成(SDG)技术。特别是在监督微调和偏好微调阶段,合成数据占到了98%以上。我们的合成数据生成流程包括合成提示生成、响应和对话生成、质量过滤和偏好排序等步骤。此外,我们还探索了使用真实世界的LMSYS提示,以及结合合成提示和LMSYS提示,确保训练数据的多样性和覆盖面。

3dafce9b0f2bd9bf57ef8d986a31fc15.jpeg

通过这些方法,我们不仅提高了模型的对齐质量,还通过迭代优化过程,不断提升数据和模型的质量,实现了模型性能的持续提升。

高级对齐策略:从监督微调到偏好微调的详细过程

1. 分阶段的监督微调

在模型对齐的过程中,监督微调(Supervised Fine-Tuning,SFT)是第一步。传统的SFT通常在单一阶段内完成,涉及多种任务的混合数据集。然而,我们的实验表明,同时学习多种行为有时会导致任务间的冲突,从而阻碍模型在所有任务上达到最佳对齐。特别是在编码任务中,调整数据混合的采样权重并未能使模型完全适应所有编码任务。

为了解决这一问题,我们设计了一个两阶段的SFT策略,使模型能够有序且逐步地学习不同的行为。这种方法在所有下游任务中都显示出更优的结果。

代码SFT:为了在不干扰其他任务的情况下提高编码和推理能力,我们首先仅使用编码数据进行SFT。我们发现,需要大量数据才能有效提升模型的编码能力。我们为此开发了一种模拟进化过程的方法,通过自我指导和向导编码突变生成大量合成样本。这一过程设计为可以高效并行执行,以便根据需要扩展。

通用SFT:在第二阶段,我们使用包含多种任务的混合数据集进行通用SFT,以减少遗忘风险。我们训练模型三个周期,使用全局批量大小为128,并在[1e-7, 5e-7]范围内进行学习率搜索。

2. 偏好微调的优化方法

在监督微调阶段之后,我们通过偏好微调继续改进模型,其中模型学习形式为(提示,选择响应,拒绝响应)的三元组。具体来说,偏好微调阶段包括使用直接偏好优化(Direct Preference Optimization, DPO)和我们的新对齐算法——奖励感知偏好优化(Reward-aware Preference Optimization, RPO)的多次模型改进迭代。

直接偏好优化(DPO):DPO算法优化策略网络,以最大化选定和拒绝响应之间的隐式奖励差距。我们观察到,尽管选择的响应质量高,但选择和拒绝响应的可能性都会随着差距的增大而一致下降。为了缓解这些问题,我们在DPO损失中添加了一个加权SFT损失,以帮助策略网络不会过多偏离偏好数据。

奖励感知偏好优化(RPO):与DPO不同,RPO学习近似奖励差距,这有助于防止过拟合问题,并避免“不学习”高质量的拒绝响应。我们使用从DPO训练的检查点作为初始化和参考策略,进一步使用RPO训练模型。这种方法在所有任务上均能改善模型性能。

模型评估与人类评价:展示模型在自动基准测试和人类评价中的表现

自动基准测试

我们对Nemotron-4-340B-Instruct模型在多种自动基准测试上进行了全面评估。这些测试包括多轮对话、0-shot评估等,以评估模型在没有先前示例的情况下准确遵循指令的能力。我们的模型在所有评估中均显示出与现有开源模型相当或更优的性能。

eb361c2ddbdb54367104752facc7b0f7.jpeg

人类评价

除了自动评估外,我们还通过训练有素的注释员团队对模型进行了人类评价。注释员根据六点Likert类型的量表评估了136个提示下的响应,这些提示涵盖了10种不同的任务类别。我们的评价指南主要依据帮助性和真实性两个维度,并在迭代细化过程中发现,通过考虑注释员对响应长度的感知可以改善结果。这种方法有助于将个别的冗长偏好与模型遵循指令和提供有用答案的能力区分开来。

d037b53bda34006aceda6d7e055dfdad.jpeg

46e22010e673458372ab341c34e0ecaa.jpeg

安全性评估:通过AEGIS安全模型评估Nemotron-4 340B的内容安全风险

在使用大型语言模型(LLM)的过程中,内容安全风险的评估变得尤为重要。为此,我们采用了NVIDIA开发的AEGIS安全模型来评估Nemotron-4 340B模型的安全性。AEGIS是一个高质量的内容安全解决方案和评估基准,它涵盖了人类与LLM交互中的12个关键风险类别。这些类别包括基于种族、年龄、性别、宗教等的仇恨言论,性行为的描述,暴力行为的威胁,自我伤害的倾向,以及涉及犯罪计划的内容等。

我们使用AEGIS测试分区中的提示来引发Nemotron-4 340B-Instruct和Llama-3-70B-Instruct的响应,然后通过AEGIS安全模型对这些响应进行评估。在安全模型的帮助下,我们能够判断模型生成的内容是否安全,以及是否存在违规的类别。

a775589cd14a453716afe09df5a838ec.jpeg

在评估结果中,Nemotron-4 340B-Instruct显示出极低的不安全响应率。在记录到的不安全响应中,涉及暴力、自残、性侵犯未成年人、个人信息泄露、骚扰、威胁和需要谨慎处理的类别的响应极少。这一结果表明,Nemotron-4 340B-Instruct在内容安全性方面与Llama-3-70B-Instruct相当,体现了我们在模型开发中对安全性的重视。

总结:总结Nemotron-4 340B模型的创新点和实际应用前景

Nemotron-4 340B模型系列包括Nemotron-4-340B-Base、Nemotron-4-340B-Instruct和Nemotron-4-340B-Reward,这些模型在开放许可下提供,支持广泛的分发、修改和使用。这些模型在多个评估基准上的表现与其他开放访问模型相当,尤其在生成合成数据以训练更小的语言模型方面显示出其有效性。

Nemotron-4 340B的一个重要创新是其对安全性的高度重视。通过与AEGIS安全模型的结合,Nemotron-4 340B能够有效地评估和控制生成内容的安全性,减少生成有害或不当内容的风险。此外,该模型在合成数据生成、模型对齐和奖励建模方面的应用,展示了其在实际应用中的广泛前景,特别是在提高数据质量、优化模型性能和增强用户交互体验方面。

总的来说,Nemotron-4 340B模型的发布不仅推动了大型语言模型的研究和开发,也为AI应用的负责任使用提供了有力的工具和方法。我们期待这些模型能够在未来的AI研究和应用中发挥更大的作用,特别是在安全性、数据生成和模型对齐等关键领域。

未来展望:探讨大型语言模型的发展方向和挑战

随着大型语言模型(LLM)的不断发展,其在多种任务和应用中的有效性已经得到了广泛认可。然而,这些模型的发展也面临着一系列挑战和未来的发展方向。以下是对大型语言模型未来发展的探讨,包括潜在的挑战和可能的解决策略。

1. 模型规模的持续增长

大型语言模型如Nemotron-4 340B系列模型的发布,展示了模型规模的持续增长。这些模型在处理复杂任务时表现出色,但随之而来的是对计算资源的巨大需求。例如,Nemotron-4-340B-Base模型在训练时需要768个DGX H100节点,每个节点包含8个H100 80GB SXM5 GPU。这种规模的增长带来了显著的能源消耗和经济成本。

2. 数据生成和模型对齐

为了提高模型的效果,越来越多的研究开始关注使用合成数据来训练和对齐模型。Nemotron-4 340B系列模型中,超过98%的训练数据是通过合成数据生成管道产生的。这种方法虽然能够降低收集人工标注数据的成本,但同时也需要确保合成数据的质量和多样性,以避免模型过度拟合或偏差。

3. 模型的道德和安全问题

随着模型应用的广泛化,其在生成内容的道德和安全性方面的挑战也日益凸显。例如,模型可能无意中生成有害内容或加剧偏见。因此,开发者需要在模型设计和训练过程中加入更多的安全和道德考量,如使用AEGIS安全评估模型来监控和评估内容的安全性。

4. 模型的可解释性和透明度

大型语言模型的决策过程往往是黑箱的,这对于模型的可信度和可接受度构成挑战。提高模型的可解释性,使其决策过程更加透明和可理解,是未来发展的一个重要方向。这不仅有助于用户信任模型的输出,也有助于开发者优化模型性能。

5. 持续的模型优化和迭代

随着技术的进步和应用需求的变化,持续对模型进行优化和迭代是必要的。通过引入新的训练策略如偏好优化和奖励模型,可以进一步提升模型的性能和适应性。例如,Nemotron-4 340B系列模型采用了偏好优化和奖励模型来改进指令遵循能力和对话质量。

总之,大型语言模型的发展前景广阔,但同时也面临着规模扩展、数据质量、安全性、可解释性和持续优化等多方面的挑战。通过不断的技术创新和策略调整,有望解决这些挑战,推动大型语言模型在更广泛领域的应用和发展。

相关文章:

NVIDIA新模型Nemotron-4:98%的训练数据是合成生成的,你敢信?

获取本文论文原文PDF,请公众号 AI论文解读 留言:论文解读 标题:Nemotron-4 340B Technical Report 模型概述:Nemotron-4 340B系列模型的基本构成 Nemotron-4 340B系列模型包括三个主要版本:Nemotron-4-340B-Base、…...

深度神经网络——什么是NLP(自然语言处理)?

自然语言处理(NLP) 是对使计算机能够处理、分析、解释和推理人类语言的技术和工具的研究和应用。 NLP 是一个跨学科领域,它结合了语言学和计算机科学等领域已建立的技术。 这些技术与人工智能结合使用来创建聊天机器人和数字助理,…...

05-5.5.1 哈夫曼树

👋 Hi, I’m Beast Cheng 👀 I’m interested in photography, hiking, landscape… 🌱 I’m currently learning python, javascript, kotlin… 📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…...

夯实网络底座:智能云解析助推新基建发展再上新台阶

在数字化浪潮汹涌澎湃的今天,互联网已成为社会运转不可或缺的基础设施。而在这背后,DNS(域名系统)作为互联网的底座,其重要性不言而喻。随着云计算、大数据、人工智能、IPv6等新基建的迅猛发展,传统的DNS服…...

时间戳转时间格式小记——个位数月份 如何去掉补位0的情况

工作中遇到的问题小记一下 时间戳:1710172800 时间格式:2024-03-12 00:00:00 在无要求的情况下这种情况很OK 当我们需要时间格式为:2024-3-12 00:00:00 那常规情况就不适用 解决: import time sjc 1710172800 # Windows 环境…...

C++ 矩阵乘法

描述 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的 矩阵的大小不超过100*100 输入描述: 第一行包含一个正整数x,代表第一个矩阵的…...

热门开源项目推荐

文章目录 1. OpenAIs GPT-42. TensorFlow 3.03. Kubernetes 1.304. React 195. PyTorch 2.06. Deno 2.07. Home Assistant总结 开源社区的不断壮大,越来越多的开发者和企业开始重视和参与开源项目。开源不仅促进了技术的快速迭代和创新,还为广大开发者提…...

Study--Oracle-03-数据库常规操作

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。 一、oracle 版本及主要功能 二、数据安装完成后常用操作SQL 1、检查数据库监听状态 监听的常用命令 启动:[oracleoracle u01]$ lsnrctl stop 停止&am…...

OpenCloudOS 8.8 一键安装 Oracle 19C 单机

前言 Oracle 一键安装脚本,演示 OpenCloudOS 8.8 一键安装 Oracle 19C 单机(231017)过程(全程无需人工干预)。 ⭐️ 脚本下载地址:Shell脚本安装Oracle数据库 安装准备 1、安装好操作系统,建议…...

【Android】【Java】【每日练手3】Android的四个主要组件使用示例

Android的四个主要组件是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。下面通过一个简单的示例来介绍这四个组件及其用法。 示…...

代码随想三刷二叉树篇2

代码随想三刷二叉树篇2 101. 对称二叉树题目代码 104. 二叉树的最大深度题目代码 111. 二叉树的最小深度题目代码 222. 完全二叉树的节点个数题目代码 110. 平衡二叉树题目代码 257. 二叉树的所有路径题目代码 101. 对称二叉树 题目 链接 代码 /*** Definition for a binar…...

QT pro包含库文件目录符号含义

直接调用DLL需要三个文件,头文件(.h)、导入库文件(.lib)、动态链接库(.dll), 注意:在qtCreaor中生成的动态库库文件文件为.a结尾,vs生成的动态链接库是.lib结尾 1、首先我们把 .h与.lib/.a 文件复制到程序当前目录下&#xff0c…...

uniapp怎么进行页面的跳转

在 UniApp 中&#xff0c;页面的跳转主要通过 navigator 组件或者 API 调用实现。以下是几种常见的页面跳转方法&#xff1a; 使用 <navigator> 组件 <navigator> 组件是页面链接的组件&#xff0c;类似于 HTML 中的 <a> 标签。你可以通过 url 属性指定要跳…...

数据库管理-第205期 换个角度看23ai(20240617)

数据库管理205期 2024-06-17 数据库管理-第205期 换个角度看23ai&#xff08;20240617&#xff09;1 规范应用开发2 融合总结 数据库管理-第205期 换个角度看23ai&#xff08;20240617&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&#xff09; Oracle ACE Pro…...

深入解析PHP函数

PHP函数是一种重要的编程概念&#xff0c;它可以帮助开发者组织和管理代码&#xff0c;提高代码的可重用性和可维护性。在PHP中&#xff0c;函数可以完成各种任务&#xff0c;从简单的数学计算到复杂的数据库查询和数据处理。本文将从多个角度探讨PHP函数的应用&#xff0c;涵盖…...

elasticsearch结构化搜索

Elasticsearch的结构化搜索&#xff08;Structured Search&#xff09;是指对具有明确格式和结构的数据进行搜索的过程。这类数据包括日期、时间、数字、布尔值等&#xff0c;它们都有精确的格式&#xff0c;可以进行逻辑操作&#xff0c;比如比较数值范围或判断值的大小。结构…...

街道网格宣传稿件投稿我知道了好方法

作为街道信息宣传员,我的日常是将街道的每一项重要活动、每一份温暖故事编织成文字,传递给公众。这份工作既充满挑战又极具意义,但在最初,我却在这份看似简单的任务上屡屡受阻。那时,我的投稿方式单一且传统——依赖电子邮件,将稿件发送至各大媒体的投稿箱。我本以为,只要内容足…...

电脑有线无线一起用怎么设置

要在电脑上同时使用有线和无线网络&#xff0c;可以通过以下几种方法进行设置&#xff1a; 调整网络高级设置&#xff1a; 进入“网络和共享中心”。点击“更改适配器设置”。按键盘Alt键调出菜单栏&#xff0c;然后点击“高级→高级设置”。在“适配器和绑定”标签页下可以对可…...

通过LotusScript中的NotesDateTime类来进行时间计算

大家好&#xff0c;才是真的好。 今天我们介绍的是时间日期处理&#xff0c;其实以前也讲过&#xff0c;主要是通过LotusScript中的NotesDateTime类来进行时间计算。 但是这里也存在一个问题&#xff1a;就是时间日期类的比较只能计算出秒&#xff0c;不能计算出毫秒。 毕竟…...

【前端面经】数组算法题解

目录 题目一&#xff1a;两数之和题目二&#xff1a;最长无重复字符子串题目三&#xff1a;合并两个有序数组题目四&#xff1a;寻找数组中的峰值 题目一&#xff1a;两数之和 描述&#xff1a;给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

Linux基础开发工具——vim工具

文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...