Puzzletron算法揭秘Model Optimizer如何为LLM/VLM做异构剪枝与NAS【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址: https://gitcode.com/GitHub_Trending/te/Model-OptimizerPuzzletron 是 NVIDIA Model Optimizer 内置的实验性模型压缩算法基于神经架构搜索NAS为 LLM/VLM 做异构剪枝它逐层评估 FFN 宽度缩减、注意力移除等候选方案再用混合整数规划MIP在内存/延迟预算下拼出精度最优的每层结构都不同的模型最后通过知识蒸馏找回损失。 它解决什么问题从一刀切到外科手术传统剪枝如 Minitron是同质剪枝——所有层统一减宽、统一删层产出的模型结构标准、部署方便但压缩一激进就容易把关键推理通路剪没。Puzzletron 反过来每一层都可以有自己的结构。有的层保留完整注意力有的层直接删掉注意力FFN 宽度从原始的 14336 到 3072 不等。这种外科手术式压缩在 30% 的激进压缩下能显著保住精度代价是产出的是异构架构需要 vLLM 的 AnyModel 后端来部署。理论关系Minitron 是 Puzzletron 的特例——任何 Minitron 能产出的架构Puzzletron 在足够大的搜索空间里也都能找到。区别在于搜索粒度和优化目标Puzzletron 可以直接以内存预算为硬约束。⚙️ 8步自动化流水线一次命令跑完 NAS整条流水线由 examples/puzzletron/main.py 驱动核心实现在 modelopt/torch/puzzletron/puzzletron_nas_plugin.py。一次完整运行包含 8 个阶段阶段内容执行方式1启动 Puzzletron 流水线-2HF 模型转换为 PuzzletronAnyModel格式单卡3剪枝打分用激活钩子评估各通道/注意力贡献多卡4执行剪枝并保存各候选检查点单卡5构建替换库每层的候选块 子块统计单卡6计算单块得分精度损失量化多卡7运行 MIP 求解器并拼装出目标模型多卡8流水线完成输出逐层架构与评估指标多卡其中第 3、4 步的打分逻辑见 modelopt/torch/puzzletron/pruning/ 目录FFN 中间维度剪枝ffn_intermediate_pruning_mixin.py、KV 头剪枝、MoE 专家移除等均以 Mixin 形式注册配合激活钩子完成重要性评分。 MIP 优化把选结构变成数学规划MIP 求解入口在 modelopt/torch/puzzletron/mip/run_puzzle.py。它拿到每个层的候选块清单及其质量/成本分数后求解一个混合整数规划问题在满足约束的前提下让总精度损失最小。支持的约束很直白配置在 YAML 的human_constraints里target_memory显存预算MiBnum_params参数量上限target_latency_seconds端到端延迟上限需开启 runtime 统计通过 vLLM 实测target_throughput、stats.has_attention等以 llama-3_1-8B_pruneffn_memory.yaml 为例只需指定三样东西mip: human_constraints: target_memory: 78_000 # 78 GiB 显存预算 pruning: intermediate_size_list: [3072, 5888, 8704, 11520] # 候选 FFN 宽度求解后的输出是逐层架构清单例如中间 12 层注意力被置为no_op直接删掉其余层保留gqa_4FFN 保持或收窄——模型因此从 113 GiB 降到 75.8 GiB。两个省时技巧--mip-only模式剪枝和打分完成后改约束比如把target_memory从 78000 改成 96000只需重跑 MIP不用重新做昂贵的打分MIP 扫描模式在配置里开启sweep.enabled: true并给出一组压缩率一次跑出完整的精度-内存权衡曲线结果导出为 CSV 并绘图即文首那张图。 实战效果Qwen3-8B 与 Llama-3.1-8B 的公开数据官方对比指南examples/pruning/minitron_vs_puzzletron/README.md在 Qwen3-8B 上的关键结论压缩目标方法蒸馏后 MMLU相对教师~14% 参数7BMinitron95.6%✅~14% 参数7BPuzzletron91.1%~38% 内存78k MiBPuzzletron74.9%✅~38% 内存78k MiBMinitron61.7%一句话决策规则温和压缩20%选 Minitron激进压缩或有硬内存/延迟预算选 Puzzletron。两者交叉点大约在 20%~38% 压缩区间可参考完整的内存扫描实验图 蒸馏不是可选项是精度恢复的必选项剪枝后的模型失忆程度与压缩强度正相关温和压缩只掉几个点但 38% 压缩下 MMLU 会掉到接近随机猜测25% 基线附近。知识蒸馏教师 logits KL 散度损失把 Qwen3-8B 剪枝模型拉回28.6 个百分点仅用 WikiText-103 跑 100 次迭代就实现。一个有意思的观察蒸馏前 Puzzletron 在 80% 内存档位领先 Minitron 8.3pp蒸馏后却被反超 3.8pp——蒸馏前的架构排名不保证蒸馏后成立官方提到的 Blockwise Local DistillationBLD正是为此准备的改进方向。蒸馏流程本身基于 Megatron-Bridge参考 examples/megatron_bridge/README.md。 部署到 vLLM 并实测加速Puzzletron 产出的是标准 HuggingFace 检查点但需要 vLLM 的AnyModel后端来加载异构架构部署步骤见 examples/puzzletron/README.md 的 Deploy compressed model in vLLM 一节另见 examples/puzzletron/evaluation/ 的评估脚本。在单张 H200 上的推理基准并发 64模型吞吐量 (tok/s)相对基线Qwen3-8B 基线218.9-Puzzletron 78k压缩38%370.569%同时别忘了压缩组合拳剪枝减架构、量化FP8/NVFP4减精度二者互补可叠加使用。️ 支持模型与上手路径已内置的模型支持见 examples/puzzletron/configs/Llama-3.1-8B、Llama-3.2-3B、Qwen2.5-7B、Qwen3-8B、Mistral-Small-24B、Nemotron-Nano-12B-v2、Nemotron-Nano-30B-A3B含 MoE 专家剪枝、GPT-OSS-20B专家移除以及 VLM 方向的 Qwen3-VL。接入新模型只需两步写一个ModelDescriptor定义权重分块正则 一个Converter生成逐层 BlockConfig完整指引在 modelopt/torch/puzzletron/anymodel/README.md。最小启动命令Llama-3.1-8B2 卡torchrun --nproc_per_node 2 examples/puzzletron/main.py \ --config examples/puzzletron/configs/llama-3_1-8B_pruneffn_memory/llama-3_1-8B_pruneffn_memory.yaml 延伸阅读资料路径Puzzletron 官方教程examples/puzzletron/README.mdMinitron vs Puzzletron 完整对比指南examples/pruning/minitron_vs_puzzletron/README.md算法核心插件modelopt/torch/puzzletron/puzzletron_nas_plugin.pyMIP 求解器modelopt/torch/puzzletron/mip/剪枝 Mixin 与打分modelopt/torch/puzzletron/pruning/替换库构建modelopt/torch/puzzletron/replacement_library/蒸馏结果examples/pruning/puzzletron/README.md小结Puzzletron 把剪哪些层、每层剪多狠这个架构设计问题交给了 MIP 求解器让压缩结果精确贴合你的显存或延迟预算温和压缩场景下 Minitron 仍是更简单可靠的选择两者同属 Model Optimizer 的压缩工具箱可按目标灵活切换。【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址: https://gitcode.com/GitHub_Trending/te/Model-Optimizer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
MobX状态管理实战:在store.ts中优雅调用初始化接口 前阵子帮朋友调一个AI对话项目的前端,技术栈是React TypeScript MobX。功能本身不复杂,但他的初始化逻辑写得相当奔放:App组件的useEffect里请求配置,对话框组件里又套一个useEffect去加载模型,切换路由还重复拉&… · 2026/9/26 5:21:32
健身房管理系统毕业设计:Spring Boot+Vue源码包部署与改造指南 简介:这是一套面向计算机专业毕业设计和课程设计的健身房管理系统完整源码包,覆盖会员注册、信息管理、课程安排、设备使用跟踪、财务报表与预约管理等核心业务,适合用于学习多角色交互和软件工程实践。压缩包共1336个文件、约38.44MB&#x… · 2026/9/26 5:21:32
静态网页模板“千年之恋.rar”实操:从解压到改版与排错 简介:网页制作千年之恋.rar 是一份面向前端初学者的 HTMLCSS 实战案例包,内含以爱情为主题的 Marriage network 注册页面项目,适合希望从零散语法学习走向完整页面搭建的入门者。压缩包共 7 个文件,包含 1 个 HTML 结构文档、1 个… · 2026/9/26 5:21:32
LLM改造日志路由器失败记:从智能升级到紧急回退的教训 如果你也在考虑让 LLMs 接管基础设施里某个默默无闻的组件,我建议你先听完我这周的遭遇。我给我们团队的 log router 接上了一个大模型,想让它变得聪明一点,结果上线不到三天就紧急回退。标题那句话是我回退后的真心话:LLMs 太大了… · 2026/9/26 6:32:52
COMSOL相场模拟裂缝多孔介质渗吸:从单管到随机裂缝网络的实战指南 搞裂缝多孔介质渗吸的同行,十有八九都遇到过这种别扭:实验里测一条渗吸曲线很轻松,想用数值模拟重现过程却处处卡壳。用VOF做界面追踪,拓扑一变化就崩;用Level Set,接触角设置又不够细腻;把COMS… · 2026/9/26 6:32:52
基于COMSOL相场方法的裂缝性油气藏渗吸模拟:从单裂缝到多孔介质耦合 做裂缝性油气藏渗吸模拟的人,大多绕不开COMSOL的相场方法。我在尝试用COMSOL模拟裂缝多孔介质中的自发渗吸时,走过不少弯路——从最简单的直缝推进,一路做到随机裂缝网络与孔隙结构耦合。这篇文章就记录我“从简单到复杂”的完整探索过程&… · 2026/9/26 6:32:52
MCP协议详解:Model Context Protocol接口抽象原理与实战 1. 先别被缩写吓住:MCP不是新概念,而是老工具的新包装“MCP”这三个字母最近在开发者、设计师、测试工程师的朋友圈里高频刷屏——蓝湖MCP、Figma MCP、Playwright MCP、BurpSuite MCP、Cursor MCP……仿佛一夜之间,所有工具链都开始支持“MC… · 2026/9/26 6:32:46
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46