【新智元导读】刚刚,英伟达全新发布的开源模型 Nemotron-4 340B,有可能彻底改变训练 LLM 的方式!从此,或许各行各业都不再需要昂贵的真实世界数据集了。而且,Nemotron-4 340B 直接超越了 Mixtral 8x22B、Claude sonnet、Llama3 70B、Qwen 2,甚至可以和 GPT-4 掰手腕!
就在刚刚,英伟达再一次证明了自己的 AI 创新领域的领导地位。
它全新发布的 Nemotron-4 340B,是一系列具有开创意义的开源模型,有可能彻底改变训练 LLM 的分解数据生成方式!
论文地址:https://d1qx31qr3h6wln.cloudfront.net/publications/Nemotron_4_340B_8T_0.pdf
这一突破性进展,标志着 AI 行业的一个重要里程碑 ——
从此,各行各业都无需依赖大量昂贵的真实世界数据集了,用分解数据,就可以创建性能强大的特定领域大语言模型!
现在,Nemotron-4 340B 已经取得了辉煌战绩,直接超越了 Mixtral 8x22B、Claude sonnet、Llama3 70B、Qwen 2,甚至可以和 GPT-4 一较高下!
▲ 其实,以前这个模型就曾登上大模型竞技场 LMSys Chatbot Arena,当时它的别名是「june-chatbot」
具体来说,Nemotron-4 340B 包括基础模型 Base、指令模型 Instruct 和处分模型 Reward,并构建了一个高质量分解数据生成的完整流程。
模型支持 4K 上下文窗口、50 多种自然语言和 40 多种编程语言,训练数据截止到 2023 年 6 月。
训练数据方面,英伟达采用了高达 9 万亿个 token。其中,8 万亿用于预训练,1 万亿用于继续训练以提高质量。
值得一提的是,指令模型的训练是在 98% 的分解数据上完成的。
结果显示,Nemotron-4-340B-Base 在常识推理恣意,如 ARC-Challenge、MMLU 和 BigBench Hard 基准测试中,可以和 Llama-3 70B、Mixtral 8x22B 和 Qwen-2 72B 模型媲美。
而 Nemotron-4-340B-Instruct,在指令跟从和聊天能力方面也超越了相应的指令模型。
Nemotron-4-340B-Reward 在发表时,在 RewardBench 上实现了最高准确性,甚至超过了 GPT-4o-0513 和 Gemini 1.5 Pro-0514 这样的专有模型。
在 BF16 精度下,模型的推理需要 8 块 H200,或 16 块 H100 / A100 80GB。如果是在 FP8 精度下,则只需 8 块 H100。
除此之外,Nemotron-4 340B 还有一个非常显著的特点 —— 对商用十分友好的许可。
高级深度学习研究工程师 Somshubra Majumdar 对此表示大赞:「是的,你可以用它生成你想要的所有数据」
无与伦比的分解数据生成
LLM 无法获得大规模、多样化标注数据集,怎么破?
Nemotron-4 340B 指令模型,可以帮助开发者生成分解训练数据。
这些多样化的分解数据,模仿了真实世界的数据特征,因而数据质量明显提升,从而提升了各领域定制 LLM 的性能和稳定性。
而且,为了进一步提高 AI 生成数据的质量,开发者还可以用 Nemotron-4 340B 处分模型,来筛选高质量的呼应。
它会根据有用性、正确性、一致性、复杂性和冗长性这 5 个属性,对呼应评分。
另外,研究者可以应用自己的专用数据,再结合 HelpSteer2 数据集,定制 Nemotron-4 340B 基础模型,以创建自己的指令或处分模型。
用 NeMo 微调,用 TensorRT-LLM 优化推理
利用开源的 NVIDIA NeMo 和 NVIDIA TensorRT-LLM,开发者可以优化指令模型和处分模型的效率,从而生成分解数据,并对呼应进行评分。
所有 Nemotron-4 340B 模型都利用张量并行性经过 TensorRT-LLM 优化,这种模型并行性可以将单个权重矩阵分割到多个 GPU 和服务器上,从而实现大规模高效推理。
其中,基础模型可以应用 NeMo 框架进行定制,以适应特定的用例或领域。广泛的预训练数据使得我们可以对它进行微调,并且为特定的下游恣意提供更准确的输出。
通过 NeMo 框架,英伟达提供了多种定制方法,包括监督微调和参数高效微调方法,如低秩适应(LoRA)。
为了提高模型质量,开发者可以应用 NeMo Aligner 和由 Nemotron-4 340B 处分模型标注的数据集来对齐模型。
在各行业的潜在影响:从医疗到金融及其他领域
显然,Nemotron-4 340B 对各行业的潜在影响是巨大的。
在医疗领域,如果能生成高质量分解数据,可能会带来药物发现、个性化医疗和医学影像方面的突破。
在金融领域,基于分解数据训练的定制大语言模型,则可能会彻底改变欺诈检测、风险评价和客户服务。
在制造业和零售业方面,特定领域的 LLM 可以实现预测性维护、供应链优化和个性化客户体验。
不过,Nemotron-4 340B 的发布,也提出了一些隐忧,比如数据隐私和安全怎样保证?
随着以后分解数据的普及,企业是否有防护措施来保护敏感信息,并防止滥用?
如果用分解数据训练 AI 模型,是否会引发伦理问题,比如数据中的偏见和不准确可能引发意料外的后果?
但至少在目前,越来越多迹象表明,只有分解数据才是未来。
预训练
下面,我们就来看看,英伟达都提出了哪些创新的方法:
数据
预训练数据是基于三种不同类型的混合,共有 9T token。其中,前 8T 用于正式预训练阶段,最后 1T 用于继续预训练阶段。
英语自然语言(70%):由不同来源和领域的精选文档组成,包括网页文档、新闻文章、科学论文、书籍等。
多语种自然语言(15%):蕴涵 53 种自然语言,由单语语料库和平行语料库中的文档构成。
代码(15%):蕴涵 43 种编程语言。
架构
与 Nemotron-4-15B-Base 类似,Nemotron-4-340B-Base 基于的也是仅解码器 Transformer 架构。
具体来说,模型应用因果注意力掩码来确保序列的一致性,并采用旋转位置嵌入(RoPE)、SentencePiece 分词器、分组查询注意力(GQA),以及在 MLP 层中应用平方 ReLU 激活。
此外,模型没有偏置项,丢弃率为零,输入输出嵌入不绑定。
模型超参数如表 1 所示,有 94 亿个嵌入参数和 3316 亿个非嵌入参数。
训练
Nemotron-4-340B-Base 应用 768 个 DGX H100 节点进行训练,每个节点蕴涵 8 个基于 NVIDIA Hopper 架构的 H100 80GB SXM5 GPU。
每个 H100 GPU 在进行 16 位浮点(BF16)运算时,峰值吞吐量为 989 teraFLOP / s(不含稀疏运算)。
英伟达采用了 8 路张量并行、12 路交错流水线并行和数据并行相结合的方法,并应用了分布式优化器,将优化器状态分片到数据并行副本上,以减少训练的内存占用。
表 2 总结了批大小增加的 3 个阶段,包括每次迭代时间,以及 GPU 利用率(MFU)等,其中 100% 是理论峰值。
评价
在这一部分,我们报告了 Nemotron-4-340B-Base 的评价结果。我们将该模型
表 3 是 Nemotron-4-340B-Base 与 Llama-3 70B、Mistral 8×22 和 Qwen-2 72B 三款开源模型的比较结果。
可以看到,Nemotron-4-340B-Base 在常识推理恣意以及像 BBH 这样的流行基准测试中拿下了 SOTA,并在 MMLU 和 HumanEval 等代码基准测试中位列第二。
对齐
处分模型构建
处分模型在模型对齐中起着至关重要的作用,是训练强指令跟从模型时用于偏好排序和质量过滤的重要评判者。
为了开发一个强大的处分模型,英伟达收集了一个蕴涵 10k 人类偏好数据的数据集 ——HelpSteer2。
与成对排名模型不同,多属性回归处分模型在区分真实有用性和无关伪影(如仅因长度而偏好较长但无用的回复)方面更有效。此外,回归模型在预测细粒度处分、捕捉相似回复之间的有用性细微差别方面表现更好。
回归处分模型建立在 Nemotron-4-340B-Base 模型之上,通过用一个新的处分「头」替换模型的最终 softmax 层。
这个「头」是一个线性投影,将最后一层的隐藏状态映射到一个蕴涵 HelpSteer 属性(有用性、正确性、一致性、复杂性、冗长性)的五维向量。
在推理过程中,这些属性值可以通过加权求和聚合为一个总体处分。
数据对齐
值得注意的是,在整个对齐过程中,英伟达仅应用了大约 20K 的人工标注数据,而数据生成管线则生成了用于监督微调和偏好微调的 98% 以上的数据。
提醒生成准备
生成分解提醒,是分解数据生成(SDG)的第一步。
这些提醒在不同维度上的多样性至关重要,包括恣意多样性(如写作、开放问答、封闭问答)、主题多样性(如 STEM、人文、日常生活)和指令多样性(如 JSON 输出、段落数量、是或否回答)。
对此,英伟达应用 Mixtral-8x7B-Instruct-v0.1 作为生成器,分别对这些恣意的分解提醒进行了生成。
单轮分解提醒
为了收集多样化的主题,英伟达先引导生成器输出一组多样化的宏观主题,然后再为每个分解的宏观主题生成相关的子主题。
加上人工收集的,最终得到的主题达到了 3K 个。
用于分解提醒生成的提醒如下:
分解指令跟从提醒
为了提升对于对齐模型至关重要的指令跟从能力,就需要生成分解的指令跟从提醒(例如,「写一篇关于机器学习的文章,你的回答应蕴涵三个段落」)。
具体来说,先随机选择一些分解提醒。对于每个分解提醒,从「可验证」指令模板中随机生成一个分解指令(例如,「你的回答应蕴涵三个段落」)。然后,应用手动定义的模板将提醒和指令连接在一起。
除了单轮指令跟从提醒外,英伟达还构建了多轮指令跟从提醒,这些指令适用于所有未来的对话(例如「根据以下指令回答问题和所有后续问题:[指令开始] 用三个段落回答。[指令结束]」)。
此外,英伟达还构建了第二轮指令跟从提醒,可以根据给定的指令修改之前的回答。
分解两轮提醒
为了在偏好微调中提高模型的多轮对话能力,英伟达构建了两轮提醒来建立偏好数据集。
具体来说,提醒蕴涵一个用户问题,一个助手回答,和另一个用户问题,形式为「用户:XXX;助手:XXX;用户:XXX;」。
英伟达从 ShareGPT 中获取第一个用户提醒,并应用中间指令模型生成助手回答和下一轮问题。
真实世界的 LMSYS 提醒
为了更好地模拟真实世界的用户请求,英伟达将 LMSYS-Chat-1M 中的提醒按平衡比例进行组合,并将其分为两个不同的集合,一个用于监督学习,另一个用于偏好学习。
在监督学习部分,英伟达移除了 LMSYS 中被标记为潜在不安全的提醒,以避免引发不良对话。但在偏好学习部分则进行了保留,以便模型能够学习如何区分安全和不安全的呼应。
从图 3 中可以看到,分解提醒的平均有用性高于 LMSYS 提醒。由于简单提醒更容易「有用」,这意味着 LMSYS 提醒比分解单轮提醒平均来说更难且更复杂。
分解对话生成
通过监督微调,模型就可以学习到,如何以对话形式与用户互动。
英伟达通过提醒指令模型生成基于输入提醒的呼应,来启动分解对话。
为了培养多轮对话能力,他们把每个对话设计成蕴涵三轮,好让对话流程更加动态、更有互动性。
通过迭代角色扮演,模型会交替模拟助手和用户的角色。
英伟达发现,为了在用户回合中引导所需的行为,就需要提供明确的提醒来定义不同的用户个性。
并且,附上对话历史是至关重要的。
他们对用户回合进行了后处理,排除了礼貌陈述(如「谢谢你…」,「当然,我很高兴…」)来模拟真实世界的用户问题。
生成演示数据,是采用的贪婪采样方法。
此外,英伟达会应用 Nemotron4-340B-Reward 评价对话质量,为每个样本分配一个分数,并过滤掉那些低于预定阈值的样本。
这就提供了额外的质量控制层,保证保留下来的都是高质量数据。
分解偏好数据生成
英伟达应用了 10K 人工标注的 HelpSteer2 偏好数据,来训练 Nemotron-4-340B-Reward。
不过,他们还需要具有更广泛提醒领域、更高质量呼应的偏好数据,这些呼应来自顶级的中间模型,并在可能的情况下蕴涵额外的真实信号。
因此,英伟达生成了三元组形式的分解偏好数据(提醒,选择的呼应,被拒绝的呼应)。
生成呼应
偏好数据蕴涵分解的单轮提醒、指令跟从提醒、双轮提醒,以及来自真实世界的提醒,包括 ShareGPT 提醒、LMSYS 提醒、GSM8K 和 MATH 训练数据集中的提醒。
对于每个提醒,英伟达都应用了随机的中间模型生成呼应。
通过多个模型生成呼应,就能确保偏好数据集具有多样化的呼应,以供模型学习。
此外,他们还生成了更具挑战性的分解偏好示例,这些示例是根据 MT-Bench 从表现最好的模型中多次随机生成的呼应,这样就可以进一步提升模型的性能。
以基准真相作为判断标准
对于每个提醒给出的多个呼应,英伟达都需要对其偏好排序进行判断,并选择出被选中的呼应和被拒绝的呼应。
一些恣意可以应用基准真相(例如 GSM8K 和 MATH 训练数据集中的答案)或验证器(例如指令跟从呼应可以用 Python 程序验证)来评价。
以 LLM / 处分模型为裁判
大多数提醒,是没有客观答案的。因此,英伟达尝试了以大语言模型为裁判和以处分模型为裁判。
在第一种情况中,英伟达向裁判的大语言模型提供提醒和两个呼应,并要求其比较这两个呼应。
为了避免位置偏差,他们会交换呼应顺序后,再次询问大语言模型。当大语言模型两次判断一致时,就会选出有效的三元组(提醒、被选中的、被拒绝的)。
另外,为了进一步探索了以处分模型为裁判的情况,英伟达要求 Nemotron-4-340B-Reward 预测每个(提醒、呼应)对的处分,并根据处分决定偏好排序。
处分基准得分显示以,处分模型为裁判的准确性,要高于以大语言模型为裁判。
特别是在 Chat-Hard 类别中,选择的呼应和被拒绝的呼应难以区分,以处分模型为裁判的表现,要远优于以大语言模型为裁判,平均准确率为 0.87 对 0.54。
在这个过程中,英伟达注意到:Chat-Hard 类别的评分对于分解数据生成中的偏好排序特别重要。
因此,在后来的数据集迭代中,他们转而应用以处分模型为裁判。
从弱到强的迭代对齐
如前所述,高质量的数据对于模型的对齐至关重要。
在数据分解过程中,需要一个对齐的大语言模型来准确遵循指令。
这就引发了一系列重要的问题:哪个模型最适合作为生成器?生成器的强度与数据质量之间有何关系?如何改进数据生成器?
受到弱到强泛化的启发,英伟达开发了一种新颖的迭代方法,逐步优化数据。这种方法结合了对齐训练与数据分解的优势,使它们能够相互增强,并且持续改进。
图 4 展示了从弱到强的迭代对齐的工作流程。
首先,应用一个初始对齐模型来生成对话和偏好数据。然后,通过监督微调和偏好调优,利用它们对更好的基础模型进行对齐。
有趣的是,英伟达发现,教师模型并不会限制学生模型的上限 ——
随着基础模型和对齐数据的改进,新对齐的模型能够显著超过初始对齐模型。注意,对齐过程与基础模型的预训练是并行进行的。
在第一次迭代中,英伟达选择了 Mixtral-8x7B-Instruct-v0.1 作为初始对齐模型,因为它是一个具有许可的强大模型。
生成的数据用于训练 Nemotron-4-340B-Base 的一个中间检查点,称为 340B-Interm-1-Base。
值得注意的是,340B-Interm-1-Base 的表现优于 Mixtral 8x7B 基础模型,这反过来使得最终的 340B-Interm-1-Instruct 模型,能够超过 Mixtral-8x7B-Instruct-v0.1 模型。
这就证明,可以通过弱监督引出模型强大的能力。
在第二次迭代中,英伟达应用生成的 340B-Interm-1-Instruct 模型,作为新的数据生成器。
由于它比 Mixtral-8x7B-Instruct-v0.1 更强,第二次迭代生成的分解数据质量就更高。
生成的数据用于训练 340B-Interm-2-Base 模型,使其升级为 340B-Interm-2-Chat 模型。
这个迭代过程形成了一个自我强化的飞轮效应,改进主要来自两个方面 ——
1)当应用相同的数据集时,基础模型的强度直接影响指令模型的强度,基础模型越强,指令模型也越强;
2)当应用相同的基础模型时,数据集的质量决定了指令模型的效果,数据质量越高,指令模型也越强。
在整个对齐过程中,英伟达进行了多轮数据生成和改进,不断提升模型的质量。
附加数据源
此外,英伟达还结合了多个补充数据集,以赋予模型特定的能力。
主题跟从
主题连贯性和细粒度指令跟从是,指令模型的重要能力。
因此,英伟达结合了 CantTalkAboutThis 训练集,其中包括了覆盖广泛主题的分解对话,并故意插入干扰回合以分散聊天机器人对主要主题的注意力。
这就能帮助模型,在恣意导向的交互中更好地专注于预定的主题。
无法完成的恣意
某些恣意可能由于需要特定的能力(如互联网访问或实时知识)而无法由模型独立完成。
为减少这种情况下的幻觉,英伟达采用少样本方法,应用人类编写的示例来提醒大语言模型生成各种问题。
然后,他们会明确要求大语言模型以拒绝的方式回应,收集这些回应,并将其与相应的问题配对。
这些配对数据就可以用于训练模型,让它们能够更好地处理无法完成的恣意。
STEM 数据集
Open-Platypus 已被证明可以提高 STEM 和逻辑知识。因此,英伟达将具有许可的子集(如 PRM800K、SciBench、ARB 、openbookQA)纳入训练数据中。
基于文档的推理和问答
基于文档的问答是大语言模型的重要用例。
英伟达利用 FinQA 数据集提高了数值的推理能力,应用人工标注数据提高了上下文问答的准确性,并应用 wikitablequestions 数据集,增强了模型对半结构化数据的理解。
函数调用
此外,英伟达还应用了一部分来自 Glaive AI 的样本,以增强模型在函数调用方面的能力。
对齐算法
分阶段的监督微调
监督微调(Supervised Fine-tuning,SFT)是模型对齐的第一步。
为了改善传统 SFT 方法存在的缺陷,英伟达设计了一种两阶段的 SFT 策略,使模型能够依次、有计划地学习不同的行为。
结果显示,这种方法在所有下游恣意中都产生了更好的效果。
代码 SFT
为了在不影响其他恣意的情况下提高编码和推理能力,英伟达选择先在编码数据上进行 SFT。
为了获得大量的数据,英伟达开发了一种名为 Genetic Instruct 的全新方法 —— 通过对进化过程的模拟,利用自我指令和向导编码器突变,从少量高质量种子生成大量分解样本。
过程中,英伟达还引入了一种适应度函数,利用 LLM 评价生成指令及其解决方案的正确性和质量。
然后,通过这些评价和检查的样本会被添加到种群池中,进化过程会持续进行,直到达到目标种群规模。
最终,经过广泛的去重和过滤后,英伟达保留了大约 80 万条样本用于代码 SFT 训练。
通用 SFT
第二阶段,就是通用 SFT 了。
这里,英伟达采用的是一个蕴涵 20 万样本的混合数据集。
为了减轻遗忘的风险,数据混合中还包括了前一个代码 SFT 阶段的 2% 的代码生成样本。
偏好微调
在完成监督微调后,英伟达继续通过偏好微调来改进模型。
在这个阶段,模型将学习偏好示例,其形式是:提醒,选择的呼应,被拒绝的呼应。
直接偏好优化(DPO)
DPO 算法通过优化策略网络,来最大化选择和被拒绝呼应之间的隐含处分差距。
在策略学习区分选择和被拒绝的呼应时,可以观察到,随着差距的增加,选择和被拒绝呼应的概率都在一致地下降,即使选择的呼应是高质量的。
根据经验,当训练时间足够长时,策略网络容易过拟合,一个指标(例如,MT-Bench)的改进通常伴随着其他指标(例如,零样本 MMLU)的退化。
为了解决这些问题,英伟达在选择的呼应上添加了加权的 SFT 损失,以补充原始的 DPO 损失。
额外的 SFT 损失有助于防止策略网络大幅偏离偏好数据,特别是因为偏好数据不是从参考策略生成的。
为了避免模型学习低质量的选择呼应,当没有可用的真实值时,英伟达应用了 Nemotron-4-340B-Reward 来挑选高质量的选择呼应示例。最终,这产生了一个蕴涵 16 万示例的偏好数据集。
处分感知偏好优化(RPO)
为了解决 DPO 存在的过拟合问题,英伟达提出了一种新算法 —— 处分感知偏好优化(RPO)。它尝试应用由策略网络定义的隐含处分近似处分差距。
基于此,便得到了一个新的损失函数:
结果显示,随着 RPO 迭代次数的增加,模型还可以持续地在所有恣意上获得提升。
经过三次 RPO 训练迭代后的检查点,就是最终的 Nemotron-4-340B-Instruct。
指令模型评价
自动基准测试
英伟达对 Nemotron-4-340B-Instruct 进行了全面的自动基准测试评价:
单轮对话:AlpacaEval 2.0 LC 和 Arena Hard
多轮对话:MT-Bench(GPT-4-Turbo)。需要注意的是,这是原始 MT-Bench 的修正版本,得分平均要低 0.8 分。
综合基准测试:MMLU(零样本)
数学:GSM8K(零样本)
代码:HumanEval(零样本)和 MBPP(零样本)上的 Pass@1 得分
指令跟从:IFEval
主题跟从:TFEval
正如表 5 所示,Nemotron-4-340B-Instruct 在当前可用的开源模型中表现出色,具备很强的竞争力。
对齐训练包括:代码 SFT、通用 SFT、DPO 和三轮 RPO。
表 6 展示了模型最终的成绩,并量化了每个对齐阶段的中间模型的性能:
CodeSFT 阶段显著提高了 HumanEval 得分,从基础模型的 57.3 提升到 70.7;
接下来的通用 SFT 阶段大幅提升了其他类别的准确性,如 MT-Bench 和 MMLU,尽管 HumanEval 得分略有下降;
DPO 阶段进一步提升了大多数指标,但 MT-Bench 的得分略有下降;
最后的 RPO 阶段均匀地提升了所有指标。特别是,MT-Bench 得分从 7.90 增加到 8.22,IFEval Prompt-Strict-Acc 的得分从 61.7 增加到 79.9。
人类评价
除了自动评价外,英伟达模型进行了人类评价。其中,标注员被提供了 136 个提醒,分为 10 个不同的恣意类别。
基于「有用性」和「真实性」这两个维度,英伟达详细定义了 5 个质量等级的具体内容,从而在减少了主观性的同时,提升了可靠性。
在标注设计中,每个提醒都与固定模型集合中的三个不同呼应配对。每个提醒的呼应顺序是随机的,所有提醒和呼应都由同一组标注员进行评价。
标注完成后,将评分转换为相对于 GPT-4-1106-preview 的相对胜 / 平 / 负率。
从图 5 中可以看到,除了提取和重写恣意外,Nemotron-4-340B-Instruct 的胜率与 GPT-4-1106-preview 相当或更好,特别是在多轮对话中表现出色。
整体来说,Nemotron-4-340B-Instruct 的胜:平:负比率为 28.19%:46.57%:25.24%。
从表 7 中则可以看到,与 GPT-4-1106-preview 相比,标注员认为 Nemotron-4-340B-Instruct 的呼应长度更为合适(79.41% 对 74.02%)。
值得注意的是,这一优势主要来自较低的长 / 冗长呼应率(20.10% 对 25.74%)。
作者
参考资料:
https://blogs.nvidia.com/blog/nemotron-4-synthetic-data-generation-llm-training/
https://venturebeat.com/ai/nvidias-nemotron-4-340b-model-redefines-synthetic-data-generation-rivals-gpt-4/
本文来自微信公众号:新智元 (ID:AI_era)