MindSpeed LLM是基于昇腾生态的大语言模型分布式训练框架,旨在为华为 昇腾芯片 生态合作伙伴提供端到端的大语言模型训练方案,包含分布式预训练、分布式指令微调以及对应的开发工具链,如:数据预处理、权重转换、在线推理、基线评估。
注 : 原仓名ModelLink更改为MindSpeed LLM,原包名modellink更改为mindspeed_llm
🚀🚀🚀DeepSeek-V3预训练已支持基于 MindSpore AI框架 运行!!!🚀🚀🚀
🚀🚀🚀Qwen3 系列模型同步首发支持!!!🚀🚀🚀
🚀🚀🚀DeepSeek-R1 系列功能逐步上线!!🚀🚀🚀
😊 DeepSeek-R1-ZERO Qwen-7B DeepSeek-R1-ZERO Qwen-32B
🚀🚀🚀 DeepSeek-V3-671B模型全家桶 已上线!!!🚀🚀🚀
😊支持数据集处理、权重转换、预训练、全参微调、lora微调、qlora微调
🚀🚀🚀DeepSeek-R1-Distill 系列模型已上线!!🚀🚀🚀
😊 DeepSeek-R1-Distill-Qwen DeepSeek-R1-Distill-LLaMA
注:当前qwen3系列模型功能完善、验证中,非商用版本。
MindSpeed LLM的依赖配套如下表,安装步骤参考安装指导。
依赖软件 | 版本 |
---|---|
昇腾NPU驱动 | 在研版本 |
昇腾NPU固件 | |
Toolkit(开发套件) | 在研版本 |
Kernel(算子包) | |
NNAL(Ascend Transformer Boost加速库) | |
Python | PT配套版本 |
PyTorch | 2.1,2.6 |
torch_npu插件 | 在研版本 |
apex |
注:由于master分支使用在研版本的驱动以及CANN包,因此master上的一些新特性老版本配套可能有不支持情况,要使用稳定版本,请切换到商发分支并下载对应依赖版本进行安装。
注:torch2.6 不支持python3.8;部分模型存在更高版本环境依赖,请检查预设模型章节链接的版本支持确认依赖关系。
MindSpeed LLM目前已内置支持百余个业界常用LLM大模型的预训练与微调,预置模型清单详见下表。
模型类别 | 模型列表 |
---|---|
稠密模型 | Dense |
MOE模型 | MOE |
SSM模型 | SSM |
MindSpeed LLM包含分布式预训练、分布式微调等训练方案。
基于MindSpeed LLM的实测预训练性能如下:
模型系列 | 实验模型 | 硬件信息 | 集群规模 | MFU |
---|---|---|---|---|
LLAMA2 | LLAMA2-7B | Atlas 900 A2 PODc | 1x8 | 69.0% |
LLAMA2-13B | Atlas 900 A2 PODc | 1x8 | 64.7% | |
LLAMA2-70B | Atlas 900 A2 PODc | 4x8 | 44.1% | |
Mixtral | Mixtral-8x7B | Atlas 900 A2 PODc | 8x8 | 31.7% |
方案类别 | Legacy | Mcore | Released | 贡献方 |
---|---|---|---|---|
多样本集预训练 | ✅ | ✅ | ✅ | 【Ascend】 |
多样本pack模式预训练 | ✅ | ✅ | ❌ |
场景 | 特性名称 | Mcore | Legacy | Released | 贡献方 |
---|---|---|---|---|---|
SPTD并行 | 张量并行 | ✅ | ✅ | ✅ | 【Ascend】 |
流水线并行 | ✅ | ✅ | ✅ | ||
虚拟流水并行 | ✅ | ✅ | ✅ | ||
序列并行 | ✅ | ✅ | ✅ | ||
noop layers | ✅ | ❌ | ✅ | ||
长序列并行 | Ascend Ring Attention 长序列并行 | ✅ | ❌ | ✅ | |
Ulysses 长序列并行 | ✅ | ❌ | ✅ | ||
混合长序列并行 | ✅ | ❌ | ✅ | ||
MOE | MOE 专家并行 | ✅ | ❌ | ✅ | |
MOE 重排通信优化 | ✅ | ❌ | ✅ | ||
显存优化 | 参数副本复用 | ✅ | ✅ | ✅ | |
分布式优化器 | ✅ | ✅ | ✅ | ||
Swap Attention | ✅ | ✅ | ✅ | ||
重计算 | ✅ | ✅ | ✅ | ||
Norm重计算 | ✅ | ❌ | ✅ | ||
O2 BF16 Optimizer | ✅ | ❌ | ❌ | ||
融合算子 | Flash attention | ✅ | ✅ | ✅ | |
Flash attention variable length | ✅ | ❌ | ✅ | ||
Fused rmsnorm | ✅ | ✅ | ✅ | ||
Fused swiglu | ✅ | ✅ | ✅ | ||
Fused rotary position embedding | ✅ | ✅ | ✅ | ||
GMM | ✅ | ❌ | ✅ | ||
Matmul Add | ✅ | ❌ | ✅ | ||
通信优化 | 梯度reduce通算掩盖 | ✅ | ✅ | ✅ | |
Recompute in advance | ✅ | ❌ | ✅ | ||
权重all-gather通算掩盖 | ✅ | ❌ | ✅ | ||
MC2 | ✅ | ✅ | ❌ | ||
CoC | ✅ | ✅ | ❌ | ||
Ascend Gloo 存档落盘优化 | ✅ | ✅ | ❌ |
基于MindSpeed LLM的实测指令微调性能如下:
模型 | 硬件 | 集群 | 方案 | 序列 | 性能 | MFU |
---|---|---|---|---|---|---|
llama2-7B | Atlas 900 A2 PODc | 1x8 | 全参 | dynamic | 15.87 samples/s | - |
全参 | 16K | 1.14 samples/s | 37.4% | |||
全参 | 32K | 0.51 samples/s | 48.4% | |||
llama2-13B | Atlas 900 A2 PODc | 1x8 | 全参 | dynamic | 50.4 samples/s | - |
llama2-70B | Atlas 900 A2 PODc | 1x8 | LoRA | dynamic | 15.2 samples/s | - |
方案名称 | Mcore | Legacy | LoRA | QLoRA | Released | 贡献方 |
---|---|---|---|---|---|---|
单样本微调 | ✅ | ✅ | ✅ | ✅ | ✅ | 【Ascend】 |
多样本pack微调 | ✅ | ✅ | ✅ | ❌ | ❌ | 【NAIE】 |
多轮对话微调 | ✅ | ✅ | ✅ | ❌ | ❌ | 【Ascend】 |
场景 | 特性 | Mcore | Legacy | Released | 贡献方 |
---|---|---|---|---|---|
LoRA微调 | CCLoRA | ✅ | ✅ | ✅ | 【Ascend】 |
Fused_MLP | ✅ | ✅ | ✅ | 【Ascend】 | |
QLoRA微调 | CCLoRA | ❌ | ❌ | ❌ | 【NAIE】 |
Fused_MLP | ❌ | ❌ | ❌ | 【NAIE】 | |
长序列微调 | 长序列CP | ✅ | ❌ | ❌ | 【Ascend】 |
特性 | Mcore | Legacy | Released | 贡献方 |
---|---|---|---|---|
流式推理 | ✅ | ✅ | ✅ | 【NAIE】 |
Chat对话 | ✅ | ✅ | ✅ | 【NAIE】 |
yarn上下文扩展 | ✅ | ❌ | ❌ | 【Ascend】 |
仓库模型基线见开源数据集评测基线
场景 | 数据集 | Mcore | Legacy | Released | 贡献方 |
---|---|---|---|---|---|
评测 | MMLU | ✅ | ✅ | ❌ | 【NAIE】 |
CEval | ✅ | ✅ | ❌ | 【NAIE】 | |
BoolQ | ✅ | ✅ | ❌ | 【NAIE】 | |
BBH | ✅ | ✅ | ❌ | 【NAIE】 | |
AGIEval | ✅ | ✅ | ❌ | 【NAIE】 | |
HumanEval | ✅ | ✅ | ❌ | 【NAIE】 |
MindSpeed LLM支持huggingface、megatron-core、megatron-legacy三种格式的权重互转,支持Lora权重合并。权重转换特性参数和使用说明参考权重转换。
源格式 | 目标格式 | 切分特性 | lora | 贡献方 | Released |
---|---|---|---|---|---|
huggingface | megatron-core | tp、pp、dpp、vpp、cp、ep、loop layer | ❌ | 【Ascend】 | ❌ |
megatron-legacy | ❌ | ||||
megatron-core | huggingface | ✅ | |||
megatron-legacy | tp、pp、dpp、vpp、cp、ep、loop layer | ✅ | |||
megatron-core | ✅ | ||||
megatron-legacy | huggingface | ✅ | |||
megatron-core | tp、pp、dpp、vpp、cp、ep、loop layer | ✅ | |||
megatron-legacy | ✅ |
MindSpeed LLM支持预训练、指令微调等多种任务的数据预处理。
任务场景 | 数据集 | Mcore | Legacy | Released | 贡献方 |
---|---|---|---|---|---|
预训练 | 预训练数据处理 | ✅ | ✅ | ✅ | 【Ascend】 |
微调 | Alpaca风格 | ✅ | ✅ | ✅ | |
ShareGPT风格 | ✅ | ✅ | ✅ |
场景 | 特性 | Mcore | Legacy | Released | 贡献方 |
---|---|---|---|---|---|
性能采集 | 基于昇腾芯片采集 profiling 数据 | ✅ | ✅ | ❌ | 【Ascend】 |
场景 | 特性 | Mcore | Legacy | Released | 贡献方 |
---|---|---|---|---|---|
高可用性 | 基于昇腾芯片开启确定性计算 | ✅ | ✅ | ❌ | 【Ascend】 |
MindSpeed LLM版本有以下五个维护阶段:
状态 | 时间 | 说明 |
---|---|---|
计划 | 1—3 个月 | 计划特性 |
开发 | 3 个月 | 开发特性 |
维护 | 6-12 个月 | 合入所有已解决的问题并发布版本,针对不同的MindSpeed LLM版本采取不同的维护策略,常规版本和长期支持版本维护周期分别为6个月和12个月 |
无维护 | 0—3 个月 | 合入所有已解决的问题,无专职维护人员,无版本发布 |
生命周期终止(EOL) | N/A | 分支不再接受任何修改 |
MindSpeed LLM已发布版本维护策略:
MindSpeed LLM版本 | 对应标签 | 维护策略 | 当前状态 | 发布时间 | 后续状态 | EOL日期 |
---|---|---|---|---|---|---|
2.0.0 | \ | 常规版本 | 维护 | 2025/3/30 | 预计2025/09/30起无维护 | |
1.0.0 | v1.0.0 | 常规版本 | 维护 | 2024/12/30 | 预计2025/06/30起无维护 | |
1.0.RC3 | v1.0.RC3.0 | 常规版本 | EOL | 2024/09/30 | 生命周期终止 | 2025/3/30 |
1.0.RC2 | v1.0.RC2.0 | 常规版本 | EOL | 2024/06/30 | 生命周期终止 | 2024/12/30 |
1.0.RC1 | v1.0.RC1.0 | 常规版本 | EOL | 2024/03/30 | 生命周期终止 | 2024/9/30 |
bk_origin_23 | \ | Demo | EOL | 2023 | 生命周期终止 | 2024/6/30 |
MindSpeed LLM由华为公司的下列部门以及昇腾生态合作伙伴联合贡献 :
华为公司:
生态合作伙伴:
感谢来自社区的每一个PR,欢迎贡献 MindSpeed LLM。
如果您不希望您的数据集在MindSpeed LLM中的模型被提及,或希望更新MindSpeed LLM中的模型关于您的数据集的描述,请在Gitee提交issue,我们将根据您的issue要求删除或更新您的数据集描述。衷心感谢您对MindSpeed LLM的理解和贡献。
Ascend MindSpeed LLM提供的模型,如模型目录下存在License的,以该License为准。如模型目录下不存在License的,以Apache 2.0许可证许可,对应许可证文本可查阅Ascend MindSpeed LLM根目录。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型