AngelSlim mcore_qad进阶:基于Megatron-Core的分布式量化感知训练架构解析
人工智能大模型模型压缩模型量化模型蒸馏模型优化【免费下载链接】AngelSlimModel compression toolkit engineered for enhanced usability, comprehensiveness, and efficiency.项目地址https://gitcode.com/gh_mirrors/an/AngelSlim点击查看免费下载AngelSlim是一个面向大模型的开源压缩工具包覆盖量化、稀疏、投机采样等压缩算法。它的mcore_qad模块是一个独立的后端基于Megatron-Core实现分布式量化感知训练QAT与量化感知蒸馏QAD冻结原始 BF16 权重、注入伪量化、只训练量化器Quantizer中的 scale 参数从而以极小的参数开销让大模型适配 NVFP4、FP8、W4A16 等低比特部署格式。本文带你完整解析这套架构的设计思路与使用方法。一、为什么只训练 scale就够传统的量化感知训练QAT会微调模型的全部参数显存开销大、训练成本高。mcore_qad 的思路更极致权重完全冻结BF16 权重原封不动来自 Megatron 分布式 checkpoint伪量化Fake-Quant前向前向传播时权重和激活被量化-反量化模拟真实低比特部署的数值损失只优化 scale量化器的缩放因子scale是唯一可训练的参数数量比权重少几个数量级优化器状态极小训练收敛快。FP8 等低比特格式中scale 直接决定了量化精度下图直观展示了权重分布与 scale 的关系——这正是 mcore_qad 通过训练 scale 来修复量化损失的依据当开启蒸馏时distill_weight 0同一个冻结模型关闭量化后再前向一次即可得到教师teacherlogits无需额外加载一份教师模型——teacher 就是自己这是 scale-only 训练天然的福利。二、训练全流程架构解析mcore_qad 由 angelslim/compressor/mcore_qad/ 目录组织Trainer.setup()按以下管线装配见 train/trainer.py1. 自动转换 HF 权重为 Megatron 分布式 checkpoint这是新手最省心的一步。如果配置中的checkpoint_path不存在checkpoint/prepare.py 会协调所有 torchrun rank仅全局 rank 0 执行 tools/hf_to_megatron.py 转换其他 rank 等待并通过 NCCL 广播结果。多机训练需使用共享存储路径。2. 并行初始化与模型构建通过 mcore/dist.py 初始化 Megatron 并行拓扑支持TP张量并行、EP专家并行、CP上下文并行、SP序列并行与 DP数据并行当前要求pipeline_parallel1。世界规模必须能被TP×PP×CP和EP×PP同时整除启动时会做拓扑校验runner.py。3. 伪量化注入不改 forward透明替换权重mcore/quantize.py 是核心注入点权重利用 PyTorch 的parametrization机制注册WeightFakeQuant让module.weight透明返回伪量化后的权重Megatron 原生的 TP 感知 forward 无需任何改动梯度自然流向 scale激活用forward_pre_hook在矩阵乘法前对输入做伪量化router 与 output_layer 保持高精度不参与量化。4. 分组专家Grouped Experts加速 MoEMoE 模型逐专家执行量化会产生数千个碎 GEMM 调用是实测瓶颈。mcore/grouped_experts.py 把每个 MoE 层的专家替换为3D 堆叠权重整栈一次性向量化伪量化再用单个 grouped GEMM 完成所有专家计算。专家仅按 EP 切分ETP 固定为 1既省显存又快。5. 损失函数与分布式梯度同步损失设计在 train/loss.pytotal lm_weight × lm_loss distill_weight × distill_lossdistill_type支持kl前向 KL、rkl反向 KL和cakld按教师置信度自适应混合两者distill_topk 0时只在教师 top-k token 上计算 KL避免物化[tokens, vocab]大张量是大词表蒸馏能跑通的关键TP1 时自动切换为vocab-parallel losslogits 保持 TP 分片数值与稠密 loss 一致且显存友好。梯度同步分两层parallel/grad_sync.py 在 DPCP 组上平均 scale 梯度MoE 专家使用 expert-DP 组parallel/scale_parallel.py 处理 TP 副本间的一致性——被切分的 scale 打上 tensor-parallel 标记被复制的 scale 注册 backward hook 做 all-reduce防止副本静默漂移。6. 只保存 scale训练结束及可选的每 N 步快照只保存各 rank 的可训练 scale 张量scales_rankR.pt权重仍是那份冻结的 FP checkpoint见 checkpoint/scales.py。整个产物体积极小。三、支持的模型与量化格式速查项目内容支持模型Qwen3-MoEqwen3_moe、HunYuan-3hy_v3量化格式nvfp4W4A4、nvfp4a16、w4a16INT4、w8a8INT8、fp8W8A8、w4afp8参考环境PyTorch 2.10 Megatron-Core 0.18 Transformer Engine ≥2.16H100输出各 rank 的 scale 快照 angelslim_config.json所有格式定义集中在 quant/presets.py格式名与部署侧vLLM/compressed-tensors的布局 1:1 对应新增格式只需在此登记一处。四、快速上手一条命令启动 QAD 训练pip install -e .[mcore-qad] torchrun --nproc_per_node8 tools/run.py \ -c configs/qwen3/mcore_qad/qwen3_moe_nvfp4.yaml现成启动脚本可直接参考 scripts/mcore_qad/run_mcore_qad_for_hy3.sh。以 Qwen3-30B-A3B 的 configs/qwen3/mcore_qad/qwen3_moe_nvfp4.yaml 为例关键配置项如下配置项作用建议值format量化格式nvfp4checkpoint_pathMegatron checkpoint缺失时自动从 HF 转换本地路径lm_weight/distill_weightLM 损失与蒸馏损失权重1.0/0.0不蒸馏distill_type/distill_topk蒸馏类型 / top-k 裁剪kl、大词表设0experts_only只量化 MoE 路由专家骨干保持 BF16falseparallel.expert_parallel专家并行度MoE 常用8parallel.context_parallel长上下文并行需seq_len被2×CP整除1recompute全量激活重算大模型必开trueoptim.lrscale-only 训练通常可用更高学习率2.0e-4dataset.data_path省略时自动使用随机 token便于冒烟测试HunYuan-3 需提供带applied_message字段的 JSONLdataset/hy_applied.py。五、源码导读核心模块路径后端入口与生命周期runner.py训练配置与 Trainertrain/config.py、train/trainer.py伪量化注入mcore/quantize.py格式预设quant/presets.py、quant/spec.py分组专家mcore/grouped_experts.py、quant/grouped_quant.py蒸馏损失与 vocab-parallel losstrain/loss.py、train/loss_vp.pycheckpoint 自动转换与 scale 存取checkpoint/prepare.py、checkpoint/scales.py并行拓扑mcore/dist.py、parallel/grad_sync.py官方使用文档见 docs/source/features/qad/mcore_qad.md另有 Hy3 与 Qwen3-MoE 的多格式配置示例configs/Hy3/mcore_qad/hy_v3_nvfp4.yaml、configs/qwen3/mcore_qad/qwen3_moe_w4afp8.yaml。六、总结mcore_qad 用冻结权重 只训 scale的极简范式把量化感知训练搬上了 Megatron-Core 的分布式体系省心HF 权重自动转 Megatron checkpoint无需手工准备省资源可训练参数只有 scale优化器状态极小配合激活重算可训超大 MoE 模型高效grouped GEMM 消除 MoE 碎 GEMM 瓶颈CP 支持长上下文可插拔格式、scheme、量化源learnable/dynamic/calibrated均注册化扩展新格式只需改一处。它是 AngelSlim 中面向部署级低比特训练的进阶路径与 HF/DeepSpeed 路线的 QAD 模块 互补并存可按模型规模与并行需求自由选择。赞分享人工智能大模型模型压缩模型量化模型蒸馏模型优化【免费下载链接】AngelSlimModel compression toolkit engineered for enhanced usability, comprehensiveness, and efficiency.项目地址https://gitcode.com/gh_mirrors/an/AngelSlim点击查看免费下载相关推荐PyTorch分布式训练进阶FSDP与RPC框架PyTorch分布式训练进阶FSDP与RPC框架 本文深入探讨了PyTorch中两种关键的分布式训练技术完全分片数据并行 FSDP 和远程过程调用 RPC示例工程高效构建足球数据分析系统的终极完整指南SoccerData专业配置与实战应用高效构建足球数据分析系统的终极完整指南SoccerData专业配置与实战应用 SoccerData 是一个强大的Python足球数据抓取库能够从Club E网页爬虫数据分析GitHub_Trending/se/self-llm进阶模型量化感知训练技术实践GitHub_Trending/se/self llm进阶模型量化感知训练技术实践 量化训练技术概述 在大语言模型LLM应用中量化技术Quantiza教程大模型本地部署微调创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

火车轨道检测数据集实战:VOC转YOLO训练与避坑指南

火车轨道检测数据集实战:VOC转YOLO训练与避坑指南

简介:火车轨道检测数据集是一份面向目标检测任务的专业标注资源,聚焦火车轨道与障碍物识别,适合轨道交通安全监测、智能巡检等场景,可供算法工程师、研究人员及学习者直接用于模型训练和效果验证。压缩包共2000个文件,…

2026/10/10 22:41:25 阅读更多 →
EEMD-LSTM非平稳时间序列预测:Python实现与避坑指南

EEMD-LSTM非平稳时间序列预测:Python实现与避坑指南

简介:这是一套基于Python实现的EEMD-LSTM时间序列预测完整源码与配套数据,面向计算机、电子信息工程、数学等专业学生,可满足课程设计、期末大作业及毕业设计需求。项目在Anaconda、PyCharm环境下以Python与TensorFlow构建,采用集…

2026/10/10 22:41:25 阅读更多 →
567MB 的开源多模态嵌入模型,谷歌这次开源动了谁的奶酪

567MB 的开源多模态嵌入模型,谷歌这次开源动了谁的奶酪

567MB 的开源多模态嵌入模型,谷歌这次开源动了谁的奶酪 【免费下载链接】embeddinggemma-2-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/embeddinggemma-2-GGUF 2026 年 10 月,谷歌 DeepMind 正式发布 EmbeddingGemma 2——一款把…

2026/10/10 22:41:24 阅读更多 →

最新新闻

BFO-XGBoost超参数优化:Matlab实现与避坑指南

BFO-XGBoost超参数优化:Matlab实现与避坑指南

简介:本资源面向计算机、电子信息工程、数学等专业的大学生及算法初学者,提供一套基于鳑鲏鱼优化算法(BFO)优化XGBoost的分类预测完整方案,可用于课程设计、期末大作业或毕业设计。压缩包共18个文件,约53.6…

2026/10/10 23:29:04 阅读更多 →
LSTM+Transformer混合模型实战:原理、代码与避坑全解析

LSTM+Transformer混合模型实战:原理、代码与避坑全解析

简介:面向时间序列预测学习者的一份LSTM与Transformer混合建模实战资源,定位于帮助读者掌握用深度学习组合模型处理非线性时序数据的完整流程。压缩包共13个文件,包含Python训练脚本、CSV格式的数据集、需求说明文档、预测结果对比图以及IDE辅…

2026/10/10 23:29:04 阅读更多 →
Word高效使用指南:公式冲突、文献插入与格式转换全攻略

Word高效使用指南:公式冲突、文献插入与格式转换全攻略

1. 先解决公式插入的"神仙打架":AxMath、MathType与Word自带公式打开Word写理工科论文,最让人头大的往往不是内容本身,而是公式编辑器。你在搜索引擎里搜"为什么电脑里同时安装了AxMath和MathType,在Word内用AxMat…

2026/10/10 23:29:04 阅读更多 →
ModuleNotFoundError: No module named ‘torchaudio‘ 的成因与修复策略

ModuleNotFoundError: No module named ‘torchaudio‘ 的成因与修复策略

你正在做语音数据处理或者跑一个开源AI项目,环境都配好了,pip install也执行得很顺利,结果一运行代码,屏幕啪地甩出一行红字:ModuleNotFoundError: No module named torchaudio这一行字我太熟了,做Python开…

2026/10/10 23:29:03 阅读更多 →
扩展卡尔曼与无迹卡尔曼滤波:电力系统动态状态估计实战解析

扩展卡尔曼与无迹卡尔曼滤波:电力系统动态状态估计实战解析

电力系统状态估计从“静态断面”走向“动态过程”,正在成为调度自动化里越来越绕不开的一项技术。尤其是同步相量量测单元(PMU)普及之后,量测数据的时间分辨率从秒级提升到几十毫秒级,如果仍然用传统的加权最小二乘静态…

2026/10/10 23:29:03 阅读更多 →
红外目标检测数据集:格式转换与YOLO训练避坑指南

红外目标检测数据集:格式转换与YOLO训练避坑指南

简介:YOLO红外多目标检测数据集面向目标检测学习与算法验证场景,提供1000张真实场景高质量红外图片,经LabelImg标注后附带voc(xml)、coco(json)、yolo(txt)三种格式标签,分别存放于独立文件夹,并确保标注框质量较高&am…

2026/10/10 23:28:02 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →