立即下载 DOCA,开启高性能AI 网络之旅,实现“一站式” 编程
生成式人工智能/大语言模型

借助 Llama-3.1-Nemotron-51B 实现准确性和效率的突破性发展

今天,NVIDIA 发布了一个独特的语言模型,可提供无与伦比的准确性和效率性能。Llama 3.1-Nemotron-51B 衍生自 Meta 的 Llama-3.1-70B,使用了一种新颖的神经架构搜索(Neural Architecture Search,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 倍以上的工作负载。

  准确率 效率
  MT 工作台 MMLU 文本生成 (128/1024) 摘要/RAG (2048/128)
Llama-3.1- Nemotron-51B-Instruct 8.99 英镑 80.2% 6472 653
Llama 3.1-70B-Instruct 8.93 81.66% 2975 339
Llama 3.1-70B-Instruct (单 GPU) 1274 301
Llama 3-70B 8.94 8017% 2975 339
表 1. Llama-3.1-Nemotron-51B-Instruct 的准确性和效率概述。 注意:速度以每个 GPU 的每秒令牌数为单位报告,在配备 8 块 NVIDIA H100 SXM GPU 的机器上测量,使用 TRT-LLM 作为运行时引擎进行 FP8 量化。对于通过张量并行具有最佳 GPU 数量的每个模型(除非另有说明)。括号中的数字显示输入/输出序列长度。

请参阅下方的详细性能指标。

优化每美元的准确性 

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

因此,我们设计了 Llama 3.1-Nemotron-51B-Instruct 来实现这种最佳权衡。这种权衡由下图捕获,该图显示了领先开源模型的准确性与吞吐量。吞吐量与价格成反比,因此最佳权衡是由位于图中显示的高效前沿的模型获得的。如图所示,该模型超越了当前的高效前沿,使其成为按美元计算提供最佳精度的模型。

The graph shows accuracy vs. throughput of various frontier models and the efficient frontier highlights the accuracy Mistral and Llama models can achieve while delivering a given throughput. The Llama-3.1-Nemotron-51B model delivers higher accuracy per throughput and is placed above the Efficient frontier line.
图 1. 与前沿模型相比,Llama-3.1-Nemotron-51B 的准确性与吞吐量性能对比。吞吐量通过 NIM 测量,并发率为 25(服务吞吐量)。 注意:模型质量定义为 MT-Bench 和 MMLU 的加权平均值(10*MT-Bench + MMLU)/2,在单个 NVIDIA H100 80GB GPU 上绘制的模型吞吐量对比。灰色点表示最先进的模型,而虚线表示“高效前沿”。

借助 NVIDIA NIM 简化推理 

Nemotron 模型使用 TensorRT-LLM 引擎进行优化,可实现更高的推理性能,并封装为 NVIDIA NIM 推理微服务,以简化和加速生成式 AI 模型在 NVIDIA 加速基础设施(包括云、数据中心和工作站)中的部署。

NIM 使用推理优化引擎、行业标准 API 和预构建容器,为高吞吐量 AI 推理提供按需扩展。

幕后 – 使用 NAS 构建模型 

用于设计神经架构的推理和硬件感知方法已成功应用于许多领域。然而,大型语言模型(LLMs)仍然以重复相同的块构建,几乎没有考虑到这种简化所产生的推理成本开销。为应对这些挑战,我们开发了高效的神经架构搜索(NAS)技术和训练方法,可用于创建专为特定图形处理单元(GPUs)上高效推理而设计的非标准 Transformer 模型。

我们的技术可以从庞大的设计空间中选择优化各种约束的神经架构,这些空间包括可以利用替代注意力和不同效率级别的 FFN 块的一系列非标准 Transformer 模型,在极端情况下甚至可以完全消除块。

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

The image displays two diagrams illustrating the block-distillation process. In each diagram, a student block (yellow) is trained to mimic either one or multiple blocks of the teacher model (blue). The training aims to minimize the difference between the input to the teacher block (red curved line) and the output of the teacher block (black curved line). This minimization is achieved using a loss function (depicted in green). The left diagram shows one teacher block being mimicked by the student block, while the right diagram demonstrates the student block mimicking the operation of two consecutive teacher blocks.
图 2. 分块蒸馏 – 对于参考模型的分块 (蓝色),我们为“学生模型” (黄色) 创建多个变体,以模拟分块式教师功能。

接下来,我们使用 Puzzle 算法对每个替代“谜题”进行高效评分,并在遵守一系列推理限制(例如内存大小和所需吞吐量)的同时,在庞大的设计空间中搜索更准确的模型。最后,通过在块评分和训练中使用知识蒸馏(KD)损失,我们展示了使用更高效的架构缩小模型和参考模型之间的准确性差距的潜力,而成本仅为参考模型训练成本的一小部分。我们将 Llama-3.1-70B 作为参考模型,构建了 Llama-3.1-Nemotron-51B-Instruct,这是一个 51B 模型,可在单个 NVIDIA H100 GPU 上突破大型语言模型(LLM)的高效前沿(图 1)。

Llama-3.1-Nemotron-51B-Instruct 架构的独特之处在于其不规则的块结构,其中有许多层,其中注意力和 FFN 会减少或剪枝,从而更好地利用 H100,并强调优化 LLMs 对于推理的重要性。图 3 以示意图方式描述了最终架构的不规则结构,并突出显示了由此节省的计算量,这相当于图中的绿色区域。

The image shows runtime of puzzle chosen blocks that are depicted as layers. They are color coded, blue blocks attention layers, red blocks for FFN layers, and green blocks represent overall runtime savings. The image shows 80 layers of the reference models.
图 3. 在参考模型的 80 层中,Puzzle 运行时在注意力层(蓝色)和 FFN 层(红色)中选择的块(层)。绿色区域对应整体运行时节省的资源。

借助我们的创新技术,我们能够开发重新定义大型语言模型(LLMs)高效前沿的模型。至关重要的是,我们可以从单个参考模型中经济高效地设计多个模型,每个模型都针对特定硬件和推理场景进行了优化。这项能力有助于我们在当前和未来的硬件平台上保持出色的 LLMs 推理性能。

详细结果 

模型精度 

下表列出了我们评估的所有基准测试(比较模型和参考模型 Llama 3.1-70B)。“保留的准确性”是模型的分数与教师分数之间的比率。

基准测试 Llama-3.1 70B 指令 Llama-3.1-Nemotron-51B-Instruct 保持准确性
Winogrande 85.08% 84.53% 99.35%
arc_challenge 70.39% 69.20% 98.30%
MMLU 81.66% 80.20% 98.21%
hellaswag 86.44% 85.58% 99.01%
GSM8K 92.04% 91.43% 99.34%
truthfulqa 59.86% 58.63% 97.94%
xlsum_english 33.86% 31.61% 93.36%
MMLU Chat 81.76% 80.58% 98.55%
GSM8K Chat 81.58% 81.88% 100.31%
Instruct HumanEval (n=20) 75.85% 73.84% 97.35%
MT 工作台 8.93 8.99 英镑 100.67%
表 2. Nemotron 模型与 Llama 3.1-70B-Instruct 在多个行业基准测试中的准确性比较。

性能 

下表详细说明了每个 GPU(H100 80GB)的每秒令牌数。可以看出,在一系列相关场景(短输入和长输入以及输出)中,我们的模型将教师模型的吞吐量翻倍,从而使其在多个用例中具有成本效益。TP X 描述了并行进程所基于的 GPU 数量。我们还列出了 Llama 3.1-70B 在单个 GPU 上的性能,以展示模型在此类设置中的价值。

场景 输入/输出序列长度 Llama-3.1- Nemotron-Instruct Llama-3.1-70B-Instruct 比率 Llama (TP1)
聊天机器人 128/128 5478 (TP1) 2645 (TP1) 2.07 2645
文本生成 128/1024 6472 (TP1) 2975 (TP4) 2.17 小行星 1274
长文本生成 128/2048 4910 (TP2) 2786 (TP4) 1.76 646
系统 2 推理 128/4096 3855 (TP2) 1828 (TP4) 2.11 313
摘要/RAG 2048/128 653 (TP1) 339 (TP4) 1.92 300
压力测试 1 2048/2048 2622 (TP2) 1336 (TP4) 1.96 219
表 3.热门用例中模型生成的 token 数量的吞吐量比较。所有数字均以每个 GPU 的 tokens 每秒为单位。

决定模型运行成本的主要因素是吞吐量,即系统在一秒内能生成的 token 总数。然而,在某些情况下 (例如聊天机器人),单个最终用户从模型接收响应的速率对于用户体验非常重要。这通过每个用户每秒的 token 数 (称为用户端吞吐量) 进行量化。下图显示了不同批量大小下的用户端吞吐量与吞吐量的关系。正如在所有批量大小中所示,我们的模型优于 Llama 3.1-70B。

The chart in the image shows server throughput v. user-side throughput curves. Llama 3.1-70B curve is lower compared to Llama-3.1-Nemotron-51B-Instruct.
图 4. Nemotron 模型和 Llama-3.1-70B 在不同批量大小下绘制的服务器吞吐量与用户端吞吐量对比图。

根据不同需求定制 LLM 

NAS 方法为用户提供了在准确性和效率之间选择最佳平衡的灵活性。为了展示这种通用性,我们从同一参考模型创建了另一个变体,这次优先考虑速度和成本。Llama-3.1-Nemotron-40B-Instruct 使用相同的方法开发,但在“谜题”阶段修改了速度要求。

与父模型相比,此模型的速度提高了 3.2 倍,准确度略有下降。下表显示了具有竞争力的性能指标。

  准确率 速度
  MT 工作台 MMLU 文本生成 (128/1024) 摘要/RAG (2048/128)
Llama-3.1- Nemotron-40B-Instruct 8.69 77.10% 9568 802
Llama-3.1- Nemotron-51B-Instruct 8.99 英镑 80.20% 6472 653
Llama 3.1-70B-Instruct 8.93 81.72% 2975 339
Gemma2-27B 8.88 76.54% 添加 添加
表 4. Llama-3.1-Nemotron-40B-Instruct 的准确性和效率概述。

总结 

Llama 3.1-Nemotron-51B-Instruct 为希望使用高精度基础模型,但需控制成本的用户和公司提供了一系列新的机会。通过在准确性和效率之间进行最佳权衡,我们认为该模型对构建者来说是一个有吸引力的选择。此外,这些结果展示了 NAS 方法的有效性,并打算将该方法扩展到其他模型。

 

标签