news 2026/7/10 20:39:03

开发者必读:NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16模型架构与代码实现详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开发者必读:NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16模型架构与代码实现详解

开发者必读:NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16模型架构与代码实现详解

【免费下载链接】NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16

NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16是一款由NVIDIA开发的部署优化型大语言模型,基于Nemotron-3-Super-120B-A12B衍生而来。该模型采用迭代拼图(Iterative Puzzle)后训练压缩框架,在保持强大下游任务准确性的同时,显著提升了交互式、推理密集型和长上下文工作负载的推理效率。

模型核心特性与优势 🚀

作为一款针对部署优化的大型语言模型,Puzzle-75B-A9B具有以下核心特性:

  • 混合架构设计:采用交错的Mamba、MoE和Attention层的混合MoE架构
  • 多令牌预测:支持Multi-Token Prediction (MTP),实现更快的文本生成
  • 参数优化:相比父模型从120.7B总参数/12.8B活跃参数减少到75.3B总参数/9.3B活跃参数
  • 效率提升:在单个8×B200节点上实现约2倍的服务器吞吐量提升
  • 长上下文支持:在1M令牌长度下,单H100并发请求从1个增加到8个
  • 多语言能力:支持英语、法语、德语、意大利语、日语、西班牙语和中文

模型架构深度解析 🔍

整体架构概览

Puzzle-75B-A9B的架构类型为Mamba2-Transformer混合潜在专家混合体(LatentMoE),并结合了多令牌预测(MTP)技术。其网络架构基于Nemotron-3-Super-120B-A12B-BF16修改而来,具有更小的Mamba SSM状态大小、每层不同数量的活跃专家以及跨层变化的专家中间通道大小。

创新压缩技术

模型通过多阶段流水线构建,结合了迭代拼图压缩框架与知识蒸馏、强化学习、量化和多令牌预测头等技术。压缩过程针对三个架构维度进行优化:

  1. 异构MoE通道剪枝:路由专家中间维度在MoE层间非均匀剪枝,从父模型的2688减少到1280-2688的层相关范围
  2. 异构活跃专家减少:每个令牌激活的路由专家数量从父模型的22个减少到4-18个的层相关范围
  3. Mamba SSM状态剪枝:Mamba SSM状态大小从128减少到96通道,减少Mamba缓存I/O并提高解码阶段效率

代码实现详解 💻

配置类设计

Puzzle模型的配置类NemotronHPuzzleConfig继承自NemotronHConfig,支持异构层配置。关键实现位于configuration_nemotron_h_puzzle.py:

class NemotronHPuzzleConfig(NemotronHConfig): model_type = "nemotron_h_puzzle" def __init__(self, **kwargs): self.block_configs = [] if "block_configs" in kwargs: self.block_configs, layers_block_type = build_block_configs(kwargs.pop("block_configs")) kwargs["layers_block_type"] = layers_block_type # MTP相关配置处理 # ... super().__init__(**kwargs) self._validate_block_field_consistency() self._delete_blockwise_members_from_global_config()

该配置类支持为每个层定义不同的配置,包括MoE中间大小、每令牌专家数量等参数,实现了模型的异构层设计。

模型块实现

Puzzle模型的核心块实现位于modeling_nemotron_h_puzzle.py,通过继承和猴子补丁技术实现对父类的扩展:

class NemotronHPuzzleBlock(NemotronHBlock): def __init__(self, config: NemotronHPuzzleConfig, layer_idx: int): layer_config = config.get_nemotron_h_config_for_layer(layer_idx) super().__init__(config=layer_config, layer_idx=layer_idx) class NemotronHPuzzleForCausalLM(NemotronHForCausalLM): config_class = NemotronHPuzzleConfig _no_split_modules = ["NemotronHPuzzleBlock"] def __init__(self, config): original_block_class = modeling_nemotron_h.NemotronHBlock try: modeling_nemotron_h.NemotronHBlock = NemotronHPuzzleBlock super().__init__(config) finally: modeling_nemotron_h.NemotronHBlock = original_block_class

这种实现方式最大化了代码复用,同时允许每个层从其自己的每层配置构建,实现了异构层架构。

配置获取方法

get_nemotron_h_config_for_layer方法是实现异构层配置的关键,它为特定层构建匹配其块配置的NemotronHConfig:

def get_nemotron_h_config_for_layer(self, layer_idx: int) -> NemotronHConfig: config_dict = self.to_dict() if layer_idx < self.num_hidden_layers: block_configs = config_dict["block_configs"] else: # MTP层处理逻辑 # ... block_config = block_configs[layer_idx] config_dict.update(block_config) # 删除块配置,避免递归问题 del config_dict["block_configs"] del config_dict["mtp_block_configs"] nemotron_h_config = NemotronHConfig.from_dict(config_dict) nemotron_h_config._attn_implementation = self._attn_implementation return nemotron_h_config

训练与优化流程 📊

Puzzle-75B-A9B通过以下四个主要阶段产生:

阶段1:迭代拼图压缩

模型通过三个压缩和恢复阶段构建,每个阶段将模型剪枝到特定的中间目标预算,然后执行短期知识蒸馏恢复阶段:

  • 第一阶段:将MoE权重减少到教师容量的75%,Mamba SSM状态大小减少到教师大小的75%,使用24B令牌进行知识蒸馏恢复
  • 第二阶段:将MoE权重进一步减少到教师容量的60%,使用43.2B令牌进行恢复
  • 第三阶段:将激活的路由专家预算限制在教师预算的50%,使用52.8B令牌进行恢复

阶段2:长上下文知识蒸馏恢复

压缩后模型从Nemotron-3-Super进行额外知识蒸馏,恢复压缩过程中丢失的质量和长上下文能力。训练使用30%预训练数据和70%监督微调数据的混合,在32Ki、128Ki和512Ki序列长度上进行。

阶段3:强化学习(RL)恢复

模型进行强化学习恢复,主要关注软件工程和代理能力,包括单步工具使用比较训练和端到端沙盒RL。使用NeMo-RL软件进行强化学习。

阶段4:部署优化

最终检查点通过训练后量化进一步准备部署,FP8检查点针对Hopper级GPU,而NVFP4检查点针对Blackwell级GPU。模型还使用持续MTP训练来提高推测解码接受长度并增加服务吞吐量。

快速部署指南 🚀

使用vLLM部署

要在NVIDIA Hopper GPU上部署Nemotron Labs 3 Puzzle BF16和FP8检查点,可使用以下命令:

vllm serve "$path" \ --served-model-name "$model" \ --port "$port" \ --tensor-parallel-size "$tp" \ --enable-expert-parallel \ --async-scheduling \ --trust-remote-code \ --mamba-backend flashinfer \ --speculative-config '{"method":"mtp","num_speculative_tokens":3}' \ --tool-call-parser qwen3_coder \ --reasoning-parser nemotron_v3 \ --enable-auto-tool-choice \ --gpu-memory-utilization 0.85

注意

  • 在vLLM v0.20.0上测试通过
  • NVIDIA建议将tp设置为2或4
  • 对于MTP,num_speculative_tokens=3是推荐的默认值
  • 对于NVIDIA H200 SXM部署,建议使用--gpu-memory-utilization 0.9

Transformers库使用示例

推荐使用Transformers ≥ 5.3.0:

import torch from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("nvidia/NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16") model = AutoModelForCausalLM.from_pretrained( "nvidia/NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16", torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True )

生成示例:

messages = [ {"role": "user", "content": "Write a haiku about GPUs"}, ] tokenized_chat = tokenizer.apply_chat_template( messages, tokenize=True, add_generation_prompt=True, return_tensors="pt" ).to(model.device) outputs = model.generate( tokenized_chat, max_new_tokens=50, temperature=1.0, top_p=0.95, eos_token_id=tokenizer.eos_token_id ) print(tokenizer.decode(outputs[0]))

性能基准测试 📈

Puzzle-75B-A9B在保持高性能的同时实现了效率提升,以下是部分关键基准测试结果:

基准测试Puzzle-75B-A9BNemotron-3-Super-120B
一般知识
MMLU-Pro82.483.8
推理能力
AIME25 (无工具)89.792.2
HMMT Feb25 (无工具)93.494.2
GPQA (无工具)78.680.5
LiveCodeBench81.182.1
长上下文
RULER @ 1M92.293.9

所有评估结果均通过Nemo Evaluator SDK收集,大部分基准测试使用Nemo Skills Harness。

总结

NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16代表了大型语言模型部署优化的重要进展,通过创新的压缩技术和异构架构设计,在保持高性能的同时显著提升了推理效率。其混合MoE架构、多令牌预测支持以及对长上下文的优化,使其成为构建AI代理系统、聊天机器人、RAG系统和其他AI驱动应用的理想选择。

无论是对于需要处理复杂指令遵循任务的开发者,还是需要长上下文推理能力的应用场景,Puzzle-75B-A9B都提供了强大而高效的解决方案。通过本文详细的架构解析和代码实现指南,开发者可以更好地理解和利用这一先进模型,构建下一代AI应用。

要开始使用该模型,请克隆仓库:git clone https://gitcode.com/hf_mirrors/nvidia/NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16

【免费下载链接】NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 20:37:51

BI 看板加载优化:指标计算前推还是缓存预计算

BI 看板加载优化&#xff1a;指标计算前推还是缓存预计算 一、看板加载慢&#xff1a;不是数据多的问题&#xff0c;是计算时机的问题 BI 看板最让人头疼的不是数据不够&#xff0c;而是打开看板要等 30 秒。这 30 秒里发生了什么&#xff1f;你点了"刷新"&#xff0…

作者头像 李华
网站建设 2026/7/10 20:37:05

卡美德生物科普PDGFA(血小板衍生生长因子A)

在细胞生物学与再生医学的研究领域中&#xff0c;生长因子作为调控细胞行为的核心分子&#xff0c;始终是科研工作者关注的焦点。PDGFA&#xff08;血小板衍生生长因子A&#xff09;作为PDGF家族的关键配体亚型&#xff0c;不仅在胚胎发育、组织稳态维持中发挥基础作用&#xf…

作者头像 李华
网站建设 2026/7/10 20:36:40

LIExposeController高级用法:自定义Header/Footer与动画效果

LIExposeController高级用法&#xff1a;自定义Header/Footer与动画效果 【免费下载链接】LIExposeController Expose style navigation for iOS apps 项目地址: https://gitcode.com/gh_mirrors/li/LIExposeController LIExposeController是一款为iOS应用提供Expose风格…

作者头像 李华
网站建设 2026/7/10 20:36:06

eShopOnAbp测试策略:单元测试与集成测试完整指南

eShopOnAbp测试策略&#xff1a;单元测试与集成测试完整指南 【免费下载链接】eShopOnAbp Reference microservice solution built with the ABP Framework and .NET, runs on Kubernetes with Helm configuration, includes API Gateways, Angular and ASP.NET Core MVC appli…

作者头像 李华
网站建设 2026/7/10 20:36:06

只懂采购永远升不上总监!SCMP 项目补齐全链路短板,中研供应链实战课打破中层天花板

深耕采购 5 年依旧卡在主管岗&#xff1f;只会单点谈判、成本管控&#xff0c;看不懂计划、库存、物流协同逻辑&#xff0c;是绝大多数供应链人的晋升死穴。SCMP 供应链管理专家项目作为国内本土权威全链路认证&#xff0c;完美弥补单一采购岗位视野局限。本文跳出千篇一律的考…

作者头像 李华