利用 Llama-3.1-Nemotron-51B 推进精度-效率前沿的发展

news2024/9/28 13:22:14

在这里插入图片描述
今天,英伟达™(NVIDIA®)发布了一款独特的语言模型,该模型具有无与伦比的准确性和效率性能。Llama 3.1-Nemotron-51B 源自 Meta 的 Llama-3.1-70B,它采用了一种新颖的神经架构搜索(NAS)方法,从而建立了一个高度准确和高效的模型。在高工作负荷下,该模型只需一个英伟达™(NVIDIA®)H100 GPU 即可运行,因此更易于使用,也更经济实惠。新模型所表现出的出色精度-效率甜点源于对模型架构的改变,这种改变显著降低了内存占用、内存带宽和 FLOPs,同时保持了出色的精度。我们证明,这种方法可以通过在参考模型的基础上创建另一个更小、更快的变体来加以推广。

2024 年 7 月,Meta 发布了 Llama-3.1-70B,这是一种领先的先进大型语言模型(LLM)。今天,我们宣布推出 Llama 3.1-Nemotron-51B-Instruct,它是利用 NAS 和从 “参考模型”–Llama 3.1-70B 中提炼出的知识而开发的。

卓越的吞吐量和工作效率

与参考模型相比,Nemotron 模型的推理速度提高了 2.2 倍,同时保持了几乎相同的精度。该模型减少了内存占用,在推理过程中可以在单个 GPU 上运行 4 倍更大的工作负载,从而带来了一系列新的机遇。

 AccuracyEfficiency
 MT BenchMMLUText generation (128/1024)Summarization/ RAG (2048/128)
Llama-3.1- Nemotron-51B- Instruct8.9980.2%6472653
Llama 3.1-70B- Instruct8.9381.66%2975339
Llama 3.1-70B- Instruct (single GPU)1274301
Llama 3-70B8.9480.17%2975339

表 1.Llama-3.1-Nemotron-51B-Instruct 的精度和效率概览。

注:速度以每 GPU 每秒令牌数为单位,在配备 8 X NVIDIA H100 SXM GPU 的机器上测量,使用 TRT-LLM 作为运行时引擎进行 FP8 量化。通过张量并行(除非另有说明),每个模型都采用了最佳 GPU 数量。括号中的数字表示(输入/输出序列长度)。

详细的绩效指标见下文。

优化每美元的精确度

基础模型在解决推理、总结等非常复杂的任务时表现出令人难以置信的质量。然而,采用顶级模型的一个主要挑战是其推理成本。随着生成式人工智能领域的发展,准确性和效率(直接影响成本)之间的平衡将成为选择模型的决定性因素。此外,在单个 GPU 上运行模型的能力大大简化了模型的部署,为新应用在任何地方(从边缘系统到数据中心再到云端)的运行提供了机会,并有助于通过 Kubernetes 和 NIM 蓝图为多个模型提供服务。

因此,我们设计了 Llama 3.1-Nemotron-51B-Instruct,以实现这一最佳权衡。下图显示了领先开源模型的准确性与吞吐量之间的关系。吞吐量与价格成反比,因此图中显示的高效前沿模型可实现最佳权衡。如图所示,该模型超越了当前的有效前沿,成为每美元精度最高的模型。

在这里插入图片描述
图 1. 与前沿模型相比,Llama-3.1-Nemotron-51B 的精度与吞吐量性能。吞吐量通过并发 25 的 NIM 进行测量(服务吞吐量)。

注:模型质量定义为 MT-Bench 和 MMLU 的加权平均值(10MT-Bench + MMLU)/2,与单个英伟达 H100 80GB GPU 的模型吞吐量相对照。灰点代表最先进的模型,虚线代表 “高效前沿”。*

利用英伟达™(NVIDIA®)NIM 简化推理过程

Nemotron 模型利用 TensorRT-LLM 引擎进行了优化,以实现更高的推理性能,并打包为 NVIDIA NIM 推理微服务,以简化和加速生成式 AI 模型在包括云、数据中心和工作站在内的任何地方的 NVIDIA 加速基础架构中的部署。

NIM 使用推理优化引擎、行业标准 API 和预构建容器来提供高吞吐量的人工智能推理,并可根据需求进行扩展。

在这里插入图片描述

引擎盖下–利用 NAS 建立模型

设计神经架构的推理和硬件感知方法已成功应用于许多领域。然而,LLM 仍然是作为重复的相同块来构建的,很少考虑这种简化所带来的推理成本开销。为了应对这些挑战,我们开发了高效的 NAS 技术和训练方法,可用于创建非标准变压器模型,以便在特定 GPU 上进行高效推理。

我们的技术可以从巨大的设计空间中选择优化各种约束条件的神经架构,这些设计空间包括非标准变压器模型的动物园,这些模型可以利用不同效率程度的替代注意力和 FFN 块,在极端情况下甚至可以完全消除块。

然后,我们使用分块蒸馏(图 2)框架,对(大型)父 LLM 的所有层并行训练所有这些分块变体。在分块蒸馏的基本版本中,训练数据通过参考模型(也称为教师)传递。对于每个区块,其输入都来自教师,并注入学生的匹配区块。对教师和学生的输出进行比较,然后对学生区块进行训练,使学生区块模仿教师区块的功能。图 2 右图描述了一种更高级的情况,即一个学生区块模仿多个教师区块。

在这里插入图片描述
图 2区块蒸馏–对于参考模型(蓝色)的区块,我们为 “学生模型”(黄色)创建了多个变体,这些变体模仿了教师的区块功能。

接下来,我们使用 Puzzle 算法对每个替代 "拼图 "进行高效评分,并在巨大的设计空间中搜索最准确的模型,同时遵守一系列推理约束条件,如内存大小和所需吞吐量。最后,通过将知识蒸馏(KD)损失用于区块评分和训练,我们展示了利用更高效的架构缩小我们的模型与参考模型之间准确率差距的潜力,而训练成本仅为参考模型的一小部分。使用我们在 Llama-3.1-70B 模型上的方法作为参考模型,我们构建了 Llama-3.1-Nemotron-51B-Instruct,这是一个 51B 模型,它在单个英伟达 H100 GPU 上打破了 LLM 的高效前沿(图 1)。

Llama-3.1-Nemotron-51B-Instruct 架构的独特之处在于它的不规则块结构,其中有许多层,在这些层中,注意力和 FFN 被减少或修剪,从而更好地利用了 H100,并凸显了优化 LLM 对于推理的重要性。图 3 以示意图的形式描述了由此产生的架构的不规则结构,并强调了由此节省的计算量,即图中的绿色区域。

在这里插入图片描述
图 3.在参考模型的 80 个图层中,Puzzle 为注意力图层(蓝色)和 FFN 图层(红色)所选图块(图层)的运行时间。绿色区域对应的是总体运行时间节省。

我们的创新技术使我们能够开发出重新定义 LLM 高效前沿的模型。最重要的是,我们可以从一个参考模型出发,经济高效地设计多个模型,每个模型都针对特定的硬件和推理场景进行了优化。这种能力使我们能够在当前和未来的硬件平台上保持 LLM 推理的一流性能。

详细结果

模型精度

下表列出了我们评估的所有基准–比较我们的模型和参考模型 Llama3.1-70B。保留的准确度 "是我们的模型得分与教师得分之间的比率。

BenchmarkLlama-3.1 70B-instructLlama-3.1-Nemotron-51B- InstructAccuracy preserved
winogrande85.08%84.53%99.35%
arc_challenge70.39%69.20%98.30%
MMLU81.66%80.20%98.21%
hellaswag86.44%85.58%99.01%
gsm8k92.04%91.43%99.34%
truthfulqa59.86%58.63%97.94%
xlsum_english33.86%31.61%93.36%
MMLU Chat81.76%80.58%98.55%
gsm8k Chat81.58%81.88%100.37%
Instruct HumanEval (n=20)75.85%73.84%97.35%
MT Bench8.938.99100.67%

表 2. Nemotron 模型与 Llama 3.1-70B-Instruct 在多个行业基准中的精度比较。

性能

下表详细列出了每个 GPU(H100 80GB)每秒的令牌数量。可以看出,在一系列相关情况下(短输入和长输入以及输出),我们的模型比教师模型的吞吐量高出一倍,因此在多种使用情况下都具有成本效益。TPX 描述了并行处理的 GPU 数量。我们还列出了 Llama 3.1-70B 在单 GPU 上的性能,以证明我们的模型在这种情况下的价值。

ScenarioInput/Output Sequence LengthLlama-3.1- Nemotron- InstructLlama-3.1-70B-InstructRatioLlama (TP1)
Chatbot128/1285478 (TP1)2645 (TP1)2.072645
Text generation128/10246472 (TP1)2975 (TP4)2.171274
Long text generation128/20484910 (TP2)2786 (TP4)1.76646
System 2 reasoning128/40963855 (TP2)1828 (TP4)2.11313
Summarization/ RAG2048/128653 (TP1)339 (TP4)1.92300
Stress test 12048/20482622 (TP2)1336 (TP4)1.96319

表 3.热门用例中模型生成令牌数量的吞吐量比较。所有数字均以每 GPU 每秒生成的令牌数为单位。

决定模型运行成本的主要因素是吞吐量–系统在一秒钟内生成的令牌总数。不过,在某些情况下(如聊天机器人),单个终端用户收到模型响应的速度对用户体验非常重要。这可以用每个用户每秒产生的代币来量化,称为用户端吞吐量。下图显示了用户端吞吐量与不同批次规模下吞吐量的对比图。可以看出,在所有批次规模下,我们的模型都优于 Llama 3.1-70B。

在这里插入图片描述
图 4.Nemotron 模型和 Llama-3.1-70B 在不同批次规模下的服务器吞吐量与用户端吞吐量对比图。

为不同需求量身定制 LLM

NAS 方法为用户提供了在精度和效率之间选择最佳平衡点的灵活性。为了展示这种灵活性,我们在同一参考模型的基础上创建了另一个变体,这次优先考虑的是速度和成本。Llama-3.1-Nemotron-40B-Instruct 采用相同的方法开发,但在 "拼图 "阶段修改了速度要求。

与原模型相比,该模型的速度提高了 3.2 倍,但准确性略有下降。下表列出了具有竞争力的性能指标。

AccuracySpeed
MT benchMMLUText generation(128/1024)Summarization/ RAG (2048/128)
Llama-3.1- Nemotron-40B-instruct8.6977.10%9568862
Llama-3.1- Nemotron-51B-instruct8.9980.20%6472653
Llama 3.1-70B-Instruct8.9381.72%2975339
Gemma2-27B8.8876.54%ADDADD

表 4.Llama-3.1-Nemotron-40B-Instruct 的精度和效率概览。

总结

Llama 3.1-Nemotron-51B-Instruct 为希望使用高精度地基模型的用户和公司提供了一系列新的机会,同时又能控制成本。通过在精度和效率之间进行最佳权衡,我们相信该模型对建筑商来说是一个极具吸引力的选择。此外,这些结果证明了 NAS 方法的有效性,并打算将该方法扩展到其他模型。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL的安装(环境为CentOS云服务器)

卸载内置环境 我们初期使用root账号,后期再切换成普通账号 使用 ps axj | grep mysql 查看系统中是否有MySQL相关的进程 使用 systemctl stop mysqld 关停进程 使用 rpm -qa | grep mysql 查看MySQL相关的安装包 使用 rpm -qa | grep mysql | xargs yum -y remo…

试用Debian12.7和Ubuntu24.4小札

Debian GNU/Linux 12 (bookworm)和Ubuntu 24.04.1 LTS是现阶段(2024年9月26日)两个发行版的最新版本。Ubuntu Server版本默认就不带桌面(ubuntu-24.04-live-server-amd64.iso),这个默认就是最小化安装(安装…

长芯微LPQ76930锂电池组保护芯片完全P2P替代BQ76930

LPQ76930系列芯片可作为 3-15 节串联电池组监控和保护解决方案的一部分。通过 TWI 通信,MCU 可以使用 LPQ76930 来执行电池管理功能1,例如监测(电池电压、电池 组电流、电池组温度)、保护(控制充电/放电 FET&#xff0…

java中的强软弱虚

在java中对象的引用有强、软、弱、虚四种,这些引用级别的区别主要体现在对象的生命周期、回收时机的不同。 文章目录 准备工作1. 设置内存2. 内存检测 强引用软引用弱引用虚引用 准备工作 1. 设置内存 为方便调试,将内存设置为16MB 依次点击菜单栏的R…

springboot基于学习行为的学生选课成绩分析系统设计与实现

目录 功能介绍使用说明系统实现截图开发核心技术介绍:开发步骤编译运行核心代码部分展示开发环境需求分析详细视频演示源码获取 功能介绍 学生 课程学习行为数据录入: 学生填写每门课程的学习时长、学习态度、课后作业质量等。 课程学习行为数据修改: 学生可修改已…

基于SpringBoot+Vue的大学生公考服务平台

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

php 平滑重启 kill -SIGUSR2 <PID> pgrep命令查看进程号

有时候我们使用nginx 大家都知道平滑重启命令: /web/nginx/sbin/nginx -s reload 但大家对php-fpm 重启 可能就是简单暴力的kill 直接搞起了 下面介绍一个sh 文件名保存为start_php.sh 来对php-fpm 进行平滑重启 #!/bin/bash# 检查 PHP-FPM 是否运行 if ! pgrep php-…

JAVA开源项目 技术交流分享平台 计算机毕业设计

本文项目编号 T 053 ,文末自助获取源码 \color{red}{T053,文末自助获取源码} T053,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 新…

论文阅读(十一):CBAM: Convolutional Block Attention Module

文章目录 1.Introduction2.Convolutional Block Attention ModuleExperimentsConclusion 论文题目:CBAM: Convolutional Block Attention Module(CBAM:卷积注意力机制)   论文链接:点击跳转   代码链接&#xff1a…

运维,36岁,正在经历中年危机,零基础入门到精通,收藏这一篇就够了

我今年36岁,运维经理,985硕士毕业,目前正在经历中年危机,真的很焦虑,对未来充满担忧。不知道这样的日子还会持续多久,突然很想把这些年的经历记录下来,那就从今天开始吧。 先说一下我的中年危机…

中国科学技术大学《2020年+2021年845自动控制原理真题》 (完整版)

本文内容,全部选自自动化考研联盟的:《25届中国科学技术大学845自控考研资料》的真题篇。后续会持续更新更多学校,更多年份的真题,记得关注哦~ 目录 2020年真题 2021年真题 Part1:2020年2021年完整版真题 2020年真…

python实战三:使用循环while模拟用户登录

# (1)初始变量 i0 while i<3: # (2)条件判断# (3)语句块user_name input(请输入您的用户名&#xff1a;)pwd input(请输入您的密码&#xff1a;)#登陆判断 if elseif user_namewwl and pwd66666666:print(系统正在登录&#xff0c;请稍后)#需要改变循环变量&#xff0c;目…

一文读懂:监督式微调(SFT)

监督式微调 (Supervised fine-tuning)&#xff0c;也就是SFT&#xff0c;就是拿一个已经学了不少东西的大型语言模型&#xff0c;然后用一些特定的、已经标记好的数据来教它怎么更好地完成某个特定的任务。就好比你已经学会了做饭&#xff0c;但是要特别学会怎么做川菜&#xf…

以流量裂变为目标,驱动动销新潮流

在当今数字化商业世界&#xff0c;流量成为关键。而以流量裂变为目标的动销策略&#xff0c;正成为企业致胜法宝。 流量裂变&#xff0c;即让流量呈指数级增长。它依靠用户传播分享&#xff0c;能快速扩大品牌曝光度与影响力&#xff0c;提高获客效率。动销则是推动产品销售&am…

【幂简集成】手机归属地查询API,精准获取号码所在地,提升数据准确率

在互联网与移动通信技术迅猛进步的背景下&#xff0c;手机号码已成为企业经营及个人生活中的重要工具。对众多企业而言&#xff0c;通过手机号归属地查询&#xff0c;既可优化营销策略&#xff0c;又能提高客户服务精确性。手机号归属地查询 API 的问世&#xff0c;旨在满足这一…

AI产品经理学习路径:从零基础到精通,从此篇开始!

一、AI产品经理和和通用型产品经理的异同&#xff1a; 市面上不同的公司对产品经理的定位有很大的差别&#xff0c;一名合格的产品经理是能对软件产品整个生命周期负责的人。 思考框架相同&#xff1a; AI产品经理和通用型软件产品经理的底层思考框架是一样的&#xff0c;都是…

旺店通ERP集成金蝶K3(旺店通主供应链)

源系统成集云目标系统 金蝶K3介绍 金蝶K3是一款ERP软件&#xff0c;它集成了供应链管理、财务管理、人力资源管理、客户关系管理、办公自动化、商业分析、移动商务、集成接口及行业插件等业务管理组件。以成本管理为目标&#xff0c;计划与流程控制为主线&#xff0c;通过对成…

protobuff中的required有什么用?

大家在proto2 应该经常看到如下msg表达: message MsgType3 { required int32 value1 1; required int32 value2 2; } 在protobuff中的required 有什么作用&#xff1f;在 Protocol Buffers&#xff08;protobuf&#xff09;中&#xff0c;required 关键字用于指定某个字段是…

Pygame中Sprite实现逃亡游戏5

在《Pygame中Sprite实现逃亡游戏4》中通过碰撞检测实现了玩家、飞龙与飞火之间的碰撞处理&#xff0c;基本上实现了逃亡功能。最后&#xff0c;实现这个逃亡游戏中文字提示的功能。 1 操作提示 当进入游戏后&#xff0c;会在玩家下方的位置给出操作提示&#xff0c;如图1所示…

Battery management system (BMS)

电池管理系统&#xff08;BMS&#xff09;是一种专门用于监督电池组的技术&#xff0c;电池组由电池单元组成&#xff0c;在电气上按照行x列矩阵配置进行排列&#xff0c;以便在预期的负载场景下&#xff0c;在一段时间内提供目标范围的电压和电流。 文章目录 电池管理系统是如…