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系列模型采用了偏好优化和奖励模型来改进指令遵循能力和对话质量。

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

序列化与反序列化漏洞实例

实验环境&#xff1a; 本次的序列化与反序列化漏洞为2021年强网杯上的一道比赛题目&#xff0c;我使用phpstudy集成环境将其测试环境搭建在了本地&#xff0c;如下。涉及的几个页面php为&#xff1a; index.php function.php myclass.php index.php : <?php // inde…

二叉树、二叉查找树、平衡二叉树及各种旋转机制

二叉树 大体构型&#xff1a; 树里每个结点存储的有&#xff1a;所有树都是这样 二叉树的度&#xff1a;任意节点度<2 二叉树的属性&#xff1a; 二叉树的遍历顺序&#xff1a; 前&#xff1a; 中&#xff1a; 后&#xff1a; 二叉查找树&#xff1a;每个节点最多2子节点&…

最新Prompt预设词分享,DALL-E3文生图+文档分析

使用指南 直接复制使用 可以前往已经添加好Prompt预设的AI系统测试使用&#xff08;可自定义添加使用&#xff09; 支持GPTs SparkAi SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。支持GPT-4o…

SAP STO跨公司间转储含POD交货后台配置简介

在前面的博文中我们演示了STO跨公司间转储含POD的前台的操作。本文将演示后台的配置的操作步骤 1、首先是客户和供应商的设置 关联方的既要是供应商也试试客户 2、设置装运条件 路径&#xff1a;SPRO—>物料管理—>采购—>采购订单—>设置库存调拨订单—>定义…

TestProject Python SDK入门

2024软件测试面试刷题&#xff0c;这个小程序&#xff08;永久刷题&#xff09;&#xff0c;靠它快速找到工作了&#xff01;&#xff08;刷题APP的天花板&#xff09;-CSDN博客跳槽涨薪的朋友们有福了&#xff0c;今天给大家推荐一个软件测试面试的刷题小程序。​编辑https://…

[Qt的学习日常]--常用控件3

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、显示类控…

【Linux Vim的保姆级教程】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

温湿度采集与OLED显示

目录 一、什么是软件I2C 二、什么是硬件I2C 三、STM32CubeMX配置 1、RCC配置 2、SYS配置 3、I2C1配置 3、I2C2配置 4、USART1配置 5、TIM1配置 6、时钟树配置 7、工程配置 四、设备链接 1、OLED连接 2、串口连接 3、温湿度传感器连接 五、每隔2秒钟采集一次温湿…

前端技术回顾系列 11|TS 中一些实用概念

在微信中阅读,关注公众号:CodeFit。 创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞、分享 和 关注 我的公众号:CodeFit,为我的持续创作提供动力。 上文回顾:泛型在类和接口中的应用 上一篇文章我们回顾了 泛型 在 类 和 接口 中的应用。 通过使用泛型,我们…

【Linux环境下Hadoop部署—Xshell6】解决“要继续使用此程序,您必须应用最新的更新或使用新版本。”

问题描述 打开xshell使用&#xff0c;弹出&#xff1a; 解决方案&#xff1a; 修改安装目录下面的 nsilense.dll 文件 用二进制编辑器&#xff08;notepad的HEX-Editor插件&#xff09;打开Xshell/Xftp安装目录下的 nslicense.dll。 HexEdit插件安装&#xff1a; 1.下载HexEdi…

springboot与flowable(7):流程变量

一、启动时添加流程变量 拿第一个流程图举例&#xff0c;创建一个新的流程定义。 Testvoid contextLoads() {DeploymentBuilder deployment repositoryService.createDeployment();deployment.addClasspathResource("process01/FirstFlow.bpmn20.xml");deployment.…

算法设计与分析 实验3 回溯法求地图填色问题

目录 一、实验目的 二、背景知识 三、实验内容 四、算法思想 未优化的回溯算法 节点选择-最小剩余值准则&#xff08;MRV&#xff09; 节点选择-最多约束准则&#xff08;DH&#xff09; 颜色选择-最少约束选择 数据结构的选择 向前探查 颜色轮换&#xff08;贪心置…

专业技能篇---计算机网络篇

文章目录 前言计算机网络基础一、网络分层模型 HTTP一、从输入URL到页面显示发生了什么&#xff1f;二、Http的状态码有哪些&#xff1f;三、 HTTP与HTTPS有什么区别&#xff1f;四、URI 和 URL 的区别是什么?五、Cookie和Session有什么区别&#xff1f;六、GET与POST 前言 主…

shell脚本之函数

一、1.函数&#xff1a;将命令序列按照固定的表达格式写在一起 2.函数作用&#xff1a;可以重复使用的命令序列&#xff0c;大的工程分割成若干个小块&#xff0c;依次执行&#xff0c;提高代码的可读性。 3.函数的两种格式 4.return作用&#xff1a;只能写在函数内部&#xff…

Facebook:数字时代的文化交流平台

在当今信息爆炸的数字时代&#xff0c;Facebook已经成为了一个不可或缺的社交媒体平台&#xff0c;不仅在个人生活中起到了联系社交的作用&#xff0c;更在全球范围内促进了文化交流和理解。本文将深入探讨Facebook作为文化交流平台的重要性&#xff0c;并分析其在数字时代如何…

个人博客测试用例设计

个人博客测试用例设计 个人博客测试用例 分别从功能、性能、安全、兼容及界面分别展开 个人博客测试用例

文库小程序搭建部署:实现资源共享正向反馈

文档库相信大家应该不陌生&#xff0c;日常我们的工作模板、会议模板、求职时的简历模板、教育界的教学模板等来源方式都出自于文档库&#xff0c;随着互联网的发展和工作需求&#xff0c;文档模板开启了新型的知识变现新途径&#xff0c;通过文库小程序&#xff0c;我们不仅能…

【ROS1转ROS2示例】

ROS1中的代码&#xff1a; 这是一个循环函数&#xff1a; ros::Rate loop_rate(10); // Adjust the publishing rate as neededwhile (ros::ok()){loop_rate.sleep();} 如果转ROS2&#xff0c;可以使用rclcpp::WallRate或者直接依赖于执行器(Executor)的循环来实现类似的功…

springboot3 基础特性(1)

文章目录 一、SpringApplication三种方式1.1 基础方式1.2.自定义 SpringApplication1.3、FluentBuilder API 二、自定义Banner三、Profiles3.1 什么是 Profiles &#xff1f;3.2 声明Profiles3.3 激活配置文件3.3.1 分组3.3.2 环境包含3.3.3 激活方式3.3.4 配置优先级 一、Spri…

保姆级小白就业人工智能(视频+源码+笔记)

&#x1f345;我是小宋&#xff0c; Java学习AI&#xff0c;记录学习之旅。关注我&#xff0c;带你轻松过面试。提升简历亮点&#xff08;14个demo&#xff09; &#x1f345;我的java面试合集已有12W 浏览量。&#x1f30f;号&#xff1a;tutou123com。拉你进专属群。 ⭐⭐你的…