news 2026/9/25 8:28:17

拆解MindSpeed LLM:4层架构与核心模块,看懂昇腾大模型训练框架的设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
拆解MindSpeed LLM:4层架构与核心模块,看懂昇腾大模型训练框架的设计

拆解MindSpeed LLM:4层架构与核心模块,看懂昇腾大模型训练框架的设计

【免费下载链接】MindSpeed-LLM昇腾LLM分布式训练框架项目地址: https://gitcode.com/Ascend/MindSpeed-LLM

MindSpeed LLM 是面向昇腾生态的LLM 分布式训练框架,为昇腾硬件上的大语言模型训练提供端到端方案,涵盖分布式预训练、指令微调以及权重转换、推理、评估等完整工具链。这篇文章将带你逐层拆解它的4 层架构与核心代码模块,帮助新手快速看懂这个昇腾大模型训练框架的设计思路。

如上图所示,整个框架自上而下分为LLM 大模型层 → 训练算法层 → 训练后端层 → 功能模块层四个层次,底部再叠加 PyTorch、CANN 与昇腾系列硬件的基础底座。官方对架构的详细描述可参考 docs/zh/introduction.md。

第1层:模型层,内置 100+ 主流开源大模型

最上层是框架支持的LLM 大模型,按架构类型分为两大族:

  • Transformer 族:包含 Dense 模型(Qwen3 系列等)与 MoE 模型(DeepSeek、Qwen3、GLM 系列等)
  • Transformer-Next 族:包含 SSM 模型(Mamba2 等)与 Linear 模型(Qwen3-Next、Bailing 系列等)

框架预置了100 余个主流开源模型的高性能训练脚本,开箱即用。支持的完整模型清单见 docs/zh/pytorch/models/supported_models.md,各模型的训练脚本则集中在 examples/ 目录中,按mcore/(Megatron 后端)与fsdp2/(FSDP2 后端)分类组织。

第2层:训练算法层,预训练与指令微调双通路

这一层定义了框架支持的两大训练场景:

场景覆盖能力
分布式预训练数据处理、From Scratch 从头训练、断点继续训练
分布式指令微调微调数据处理、全参微调 SFT、低参微调 LoRA、量化微调 QLoRA

微调链路遵循业界主流流程——数据格式化、模板套入、训练循环,整体流程如下图所示:

在并行策略上,框架提供 TP(张量并行)、PP(流水线并行)、DP(数据并行)、CP(上下文并行)、EP(专家并行)等多维并行组合,并创新支持逐层分离训练(LDT)等昇腾大模型训练优化方案:

对应入口脚本包括 pretrain_gpt.py(预训练)、posttrain_gpt.py(后训练/微调)与 rlhf_gpt.py(RLHF 训练)。

第3层:训练后端层,Megatron 与 FSDP 双引擎

这是框架设计中最关键的一层——双训练后端,让不同开发习惯的团队都能以最低成本接入新模型:

  • Megatron 训练后端(开启 MindSpeed Core 加速):以 Megatron-LM 为基座,基于 ModelSpec 模板做模型增量开发,支持 TP/PP/VP/EP/CP/DP 全并行策略,适合追求极致性能的大规模预训练;
  • FSDP 训练后端(开启 FSDP Turbo 加速):以 MindSpeed-FSDP 为基座,直接接入 HuggingFace Transformers 模型定义,支持 FSDP+EP / FSDP+CP 组合,新模型以天为单位即可适配,适合快速实验与中小规模训练。

FSDP2 后端的训练入口为 train_fsdp2.py,两套后端的使用差异与选型建议可在 项目导读 的模型运行样例中找到。

第4层:功能模块层,覆盖训练全流程的工具链

最底层的功能模块分为两类,把训练之外的"脏活累活"全部封装好:

  • 训练开发模块:权重转换(Megatron ↔ HuggingFace)、在线推理、在线评估
  • 易用性模块:训练 Profiling 性能分析、确定性计算、断点续训、最终权重保存

以 Profiling 为例,框架可直接采集昇腾硬件上的时间线、显存与算子级别数据,用于定位训练性能瓶颈:

对应根目录工具脚本:convert_ckpt.py(权重转换)、inference.py(模型推理)、evaluation.py(模型评估)、preprocess_data.py(数据预处理)。

核心代码模块:mindspeed_llm 的 5 大子模块

看懂宏观架构后,再看代码。核心代码全部位于 mindspeed_llm/ 目录,由 5 个子模块协同工作,协作关系为core/→features_manager/→training/→tasks/,fsdp2/作为独立后端平行存在:

子模块职责代表内容
core/底层核心能力张量/流水线/上下文并行、Transformer 与 MoE 实现、优化器、高可用断点续训
features_manager/特性注册与管理通过补丁机制按需注入 Flash Attention、LoRA、MoE 路由、量化感知训练等特性
training/训练生命周期管理参数解析、分布式初始化、检查点管理与训练主循环
tasks/业务执行层评估、推理、微调、权重转换等具体任务实现
fsdp2/FSDP2 独立后端完整的模型定义、数据管道、分布式策略与推理引擎

其中features_manager/的特性补丁机制值得特别一提:各项训练特性(如 moe_router.py、lora.py)以插件形式注入训练流程,可自由组合开关,这正是框架能同时支撑上百个模型的工程基础。更细粒度的说明见 项目导读。

总结:如何快速上手昇腾大模型训练框架

回顾 MindSpeed LLM 的设计脉络:

  1. 模型层解决"支持哪些模型"——100+ 开源 LLM 开箱即用
  2. 训练算法层解决"怎么训"——预训练 + 指令微调,多维并行策略加持
  3. 训练后端层解决"用什么训"——Megatron 高性能后端 + FSDP 快适配后端双引擎
  4. 功能模块层解决"配套工具"——权重转换、推理、评估、Profiling 一应俱全

对新手而言,建议的上手路径是:先读 项目导读 建立全局认知,再选择 examples/ 中一个与自身模型相近的示例脚本(如 pretrain_qwen3_8b_4k_fsdp2_A3.sh),配合 docs/zh/pytorch/training/ 下的快速入门文档跑通第一个训练任务,即可完整体验这套昇腾 LLM 分布式训练框架的能力。

【免费下载链接】MindSpeed-LLM昇腾LLM分布式训练框架项目地址: https://gitcode.com/Ascend/MindSpeed-LLM

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

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

Docker部署OnlyOffice中文乱码?一文搞定容器中文字体配置

我先把话放在这儿:如果你在Linux服务器上用Docker部署OnlyOffice,打开中文docx文档看到满屏方块、转PDF中文变“豆腐块”,十有八九不是软件坏了,而是容器里压根没有中文字体。这个坑几乎每个部署OnlyOffice的人都会踩一遍&#xf…

作者头像 李华
网站建设 2026/9/25 8:15:23

Agent 时代的运行时抽象层:从 Kubernetes 调度到动态任务编排

1. 从"ax"这个标题说起:一个被低估的运行时抽象层第一次看到"ax"这个标题,很多人会一头雾水——两个字母,没有上下文,没有正文,没有关键词。但如果你把相关热搜词摊开来看,脉络就清楚了…

作者头像 李华
网站建设 2026/9/25 8:13:15

基于DSH的面试评估插件:多智能体编排与Skill机制实战

1. 从"百万级插件"说起:这个项目到底在解决什么问题第一次看到"百万级别插件,居然被我开源了"这个标题,我脑子里冒出来的第一个念头是:又是一个标题党。但点进去把代码拉下来跑了一遍之后,我改主意…

作者头像 李华