mirror of
https://gitee.com/ascend/MindSpeed-LLM.git
synced 2025-12-06 11:28:59 +08:00
11 KiB
11 KiB
MindSpore后端支持说明
MindSpeed-LLM已支持接入华为自研AI框架MindSpore,旨在提供华为全栈易用的端到端的大语言模型训练解决方案,以此获得更极致的性能体验。MindSpore后端提供了一套对标PyTorch的API,用户无需进行额外代码适配即可无缝切换。
NEWS !!! 📣📣📣
🚀🚀🚀MindSpore后端已支持 DeepSeek-V3预训练 !!!🚀🚀🚀
版本配套表
MindSpeed-LLM + MindSpore后端的依赖配套如下表,安装步骤参考基础安装指导。
| 依赖软件 | |
|---|---|
| 昇腾NPU驱动固件 | 在研版本 |
| 昇腾 CANN | 在研版本 |
| MindSpore | 2.7.0 |
| Python | >=3.9 |
模型支持
MindSpore后端仅支持以 mcore 方式实现的模型,当前模型支持详情见下表,更多模型支持将逐步上线,敬请期待!
| 模型类别 | 模型列表 |
|---|---|
| 稠密模型 | Dense |
| MOE模型 | MOE |
特性支持
MindSpore后端对MindSpeed的重要加速特性的支持情况如下表所示,部分不支持的特性将在后续迭代中逐步支持,敬请期待。
| 场景 | 特性名称 | 支持情况 |
|---|---|---|
| SPTD并行 | 张量并行 | ✅ |
| 流水线并行 | ✅ | |
| 虚拟流水并行 | ✅ | |
| 序列并行 | ✅ | |
| Noop Layers | ✅ | |
| 长序列并行 | Ascend Ring Attention 长序列并行 | ✅ |
| Ulysses 长序列并行 | ✅ | |
| 混合长序列并行 | ❌ | |
| MOE | MOE 专家并行 | ✅ |
| MOE 重排通信优化 | 仅支持alltoall | |
| 显存优化 | 参数副本复用 | 须和分布式优化器特性一起使用 |
| 分布式优化器 | ✅ | |
| 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 存档落盘优化 | ❌ |
在线推理
| 特性 | 是否支持 | Released |
|---|---|---|
| 流式推理 | 上线中 | ❌ |
| Chat对话 | 上线中 | ❌ |
| yarn上下文扩展 | ✅ | ❌ |
开源数据集评测
即将上线,敬请期待!
开发工具链
数据预处理
MindSpore后端已完全支持MindSpeed-LLM的预训练、指令微调、RLHF等多种任务的数据预处理。
| 任务场景 | 数据集 | Mcore | Released | 贡献方 |
|---|---|---|---|---|
| 预训练 | 预训练数据处理 | ✅ | ✅ | 【Ascend】 |
| 微调 | Alpaca风格 | ✅ | ✅ | |
| ShareGPT风格 | ✅ | ✅ | ||
| DPO | Pairwise数据集处理 | ✅ | ✅ | 【NAIE】 |
| SimPO | ✅ | ❌ | ||
| ORM | ✅ | ❌ | ||
| PRM | PRM数据集处理 | ✅ | ❌ | 【Ascend】 |
权重转换
MindSpeed MindSore后端的权重转换与PyTorch后端保持了一致,当前支持huggingface、megatron-core两种格式的权重互转,暂不支持Lora权重合并且无megatron-legacy格式支持计划。权重转换特性参数和使用说明参考权重转换。
| 源格式 | 目标格式 | 切分特性 | lora | 贡献方 | Released |
|---|---|---|---|---|---|
| huggingface | megatron-core | tp、pp、dpp、vpp、cp、ep、loop layer | ❌ | 【Ascend】 | ❌ |
| megatron-core | huggingface | ❌ | |||
| megatron-core | tp、pp、dpp、vpp、cp、ep、loop layer | ❌ |
性能采集
| 场景 | 特性 | Mcore | Released | 贡献方 |
|---|---|---|---|---|
| 性能采集 | 基于昇腾芯片采集 profiling 数据 | ✅ | ❌ | 【Ascend】 |
高可用性
| 场景 | 特性 | Mcore | Released | 贡献方 |
|---|---|---|---|---|
| 高可用性 | 基于昇腾芯片开启确定性计算 | ✅ | ❌ | 【Ascend】 |