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

开发者必读: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-BF16NVIDIA-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状态大小、每层不同数量的活跃专家以及跨层变化的专家中间通道大小。创新压缩技术模型通过多阶段流水线构建结合了迭代拼图压缩框架与知识蒸馏、强化学习、量化和多令牌预测头等技术。压缩过程针对三个架构维度进行优化异构MoE通道剪枝路由专家中间维度在MoE层间非均匀剪枝从父模型的2688减少到1280-2688的层相关范围异构活跃专家减少每个令牌激活的路由专家数量从父模型的22个减少到4-18个的层相关范围Mamba SSM状态剪枝Mamba SSM状态大小从128减少到96通道减少Mamba缓存I/O并提高解码阶段效率代码实现详解 配置类设计Puzzle模型的配置类NemotronHPuzzleConfig继承自NemotronHConfig支持异构层配置。关键实现位于configuration_nemotron_h_puzzle.pyclass 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__(configlayer_config, layer_idxlayer_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方法是实现异构层配置的关键它为特定层构建匹配其块配置的NemotronHConfigdef 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对于MTPnum_speculative_tokens3是推荐的默认值对于NVIDIA H200 SXM部署建议使用--gpu-memory-utilization 0.9Transformers库使用示例推荐使用Transformers ≥ 5.3.0import 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_dtypetorch.bfloat16, device_mapauto, trust_remote_codeTrue )生成示例messages [ {role: user, content: Write a haiku about GPUs}, ] tokenized_chat tokenizer.apply_chat_template( messages, tokenizeTrue, add_generation_promptTrue, return_tensorspt ).to(model.device) outputs model.generate( tokenized_chat, max_new_tokens50, temperature1.0, top_p0.95, eos_token_idtokenizer.eos_token_id ) print(tokenizer.decode(outputs[0]))性能基准测试 Puzzle-75B-A9B在保持高性能的同时实现了效率提升以下是部分关键基准测试结果基准测试Puzzle-75B-A9BNemotron-3-Super-120B一般知识MMLU-Pro82.483.8推理能力AIME25 (无工具)89.792.2HMMT Feb25 (无工具)93.494.2GPQA (无工具)78.680.5LiveCodeBench81.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),仅供参考

最新新闻

日新闻

周新闻

月新闻