# ModelLink
**Repository Path**: fengliangjun66/ModelLink
## Basic Information
- **Project Name**: ModelLink
- **Description**: 昇腾大模型仓库
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: https://gitee.com/ascend/ModelLink/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1111
- **Created**: 2024-03-13
- **Last Updated**: 2025-03-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
MindSpeed-LLM是基于昇腾生态的大语言模型分布式训练框架,旨在为华为 [昇腾芯片](https://www.hiascend.com/) 生态合作伙伴提供端到端的大语言模型训练方案,包含分布式预训练、分布式指令微调、分布式偏好对齐以及对应的开发工具链,如:数据预处理、权重转换、在线推理、基线评估。
***注 : 原仓名ModelLink更改为MindSpeed-LLM,原包名modellink更改为mindspeed_llm ***
---
## NEWS !!! 📣📣📣
🚀🚀🚀**DeepSeek-R1** 系列功能逐步上线!!🚀🚀🚀
**[DeepSeek-R1-ZERO Qwen-7B](./examples/mcore/deepseek_r1_recipes/r1_zero/README.md)** 😊
包含数据处理、权重转换、在线推理、全参微调
🚀🚀🚀**DeepSeek-V3-671B** 模型全家桶已上线!!!🚀🚀🚀
**数据处理:[预训练](./examples/mcore/deepseek3/data_convert_deepseek3_pretrain.sh)、
[指令微调](./examples/mcore/deepseek3/data_convert_deepseek3_instruction.sh)** 😊
**[权重转换(支持HuggingFace转Megatron)](./examples/mcore/deepseek3/ckpt_convert_deepseek3_hf2mcore.sh)** 😊
**[预训练](./examples/mcore/deepseek3/pretrain_deepseek3_671b_4k_ptd.sh)** 😊
**微调:
[全参微调](./examples/mcore/deepseek3/tune_deepseek3_671b_4k_full_ptd.sh)、
[LoRA微调](./examples/mcore/deepseek3/tune_deepseek3_671b_4k_lora_ptd.sh)、
[QLoRA微调](./examples/mcore/deepseek3/tune_deepseek3_671b_4k_qlora_ptd.sh)** 😊
🚀🚀🚀**DeepSeek-R1-Distill** 系列模型已上线!!🚀🚀🚀
**[DeepSeek-R1-Distill-Qwen](./examples/mcore/deepseek_r1_distill_qwen/)** 😊
**[DeepSeek-R1-Distill-LLaMA](./examples/mcore/deepseek_r1_distill_llama/)** 😊
## COMING SOON !!! 📣📣📣
🚀🚀 **DeepSeek-R1-Zero** 👋👋
🚀🚀 **DeepSeek-R1**:SFT、GRPO、Reward、Rejection Sampling 👋👋
🚀🚀 **[MindSpeed-RL](https://gitee.com/ascend/MindSpeed-RL)** 👋👋
---
## 版本配套表
MindSpeed-LLM的以来配套如下表,安装步骤参考[安装指导](./docs/features/install_guide.md)。
依赖软件 |
版本 |
昇腾NPU驱动 |
在研版本 |
昇腾NPU固件 |
Toolkit(开发套件) |
在研版本 |
Kernel(算子包) |
NNAL(Ascend Transformer Boost加速库) |
Python |
>=3.8 |
PyTorch |
2.1 |
torch_npu插件 |
在研版本 |
apex |
注:由于master分支使用在研版本的驱动以及CANN包,因此master上的一些新特性老版本配套可能有不支持情况,要使用稳定版本,请切换到商发分支并下载对应依赖版本进行安装。
## 预置模型
MindSpeed-LLM目前已内置支持百余个业界常用稠密和MOE大模型的预训练、微调和偏好对齐,预置模型清单详见下表。
## 训练方案与特性
MindSpeed-LLM包含分布式预训练、分布式微调、分布式偏好对齐等训练方案。
- legacy是megatron早期方案,与新的mcore方案在代码设计上存在差异,legacy方案不支持moe模型以及长序列CP切分方案,我们建议优先使用mcore方案。
- Released表示是否商用发布,未商用发布特性处于内部开发状态,不推荐开发者使用。
### 分布式预训练
基于MindSpeed-LLM的实测预训练性能如下:
模型系列 |
实验模型 |
硬件信息 |
集群规模 |
MFU |
LLAMA2 |
LLAMA2-7B |
Atlas 900 A2 PODc |
1x8 |
68.8% |
LLAMA2-13B |
Atlas 900 A2 PODc |
1x8 |
62.2% |
LLAMA2-70B |
Atlas 900 A2 PODc |
4x8 |
55.8% |
Mixtral |
Mixtral-8x7B |
Atlas 900 A2 PODc |
8x8 |
31.0% |
基于 `GPT3-175B` 稠密大模型,从128颗 NPU 扩展到 7968颗 NPU 进行 MFU 与线性度实验,下图是实验数据:
图中呈现了对应集群规模下的 `MFU` 值与集群整体的 `线性度`情况. 计算公式已经放到社区,点击链接可进行参考:[MFU计算公式](https://gitee.com/ascend/ModelLink/wikis/%E6%9C%AF%E8%AF%AD%E5%AE%9A%E4%B9%89/%E5%A4%A7%E6%A8%A1%E5%9E%8B%20MFU%20%E8%AE%A1%E7%AE%97%E5%85%AC%E5%BC%8F),[线性度计算公式](https://gitee.com/ascend/ModelLink/wikis/%E6%9C%AF%E8%AF%AD%E5%AE%9A%E4%B9%89/%E7%BA%BF%E6%80%A7%E5%BA%A6%E5%85%AC%E5%BC%8F).
#### 预训练方案
方案类别 |
Legacy |
Mcore |
Released |
贡献方 |
样本拼接 |
✅ |
✅ |
✅ |
【Ascend】 |
样本pack |
✅ |
✅ |
❌ |
#### 加速特性
### 分布式微调
基于MindSpeed-LLM的实测指令微调性能如下:
#### 微调方案
#### 加速特性
### 分布式偏好对齐
基于MindSpeed-LLM的实测偏好对齐性能如下:
#### 偏好对齐方案
#### 加速特性
## 开发工具链
### 权重转换
MindSpeed-LLM支持huggingface、megatron-core、megatron-legacy三种格式的权重互转,支持Lora权重合并。权重转换特性参数和使用说明参考[权重转换](./docs/features/checkpoint.md)。
源格式 |
目标格式 |
切分特性 |
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支持预训练、指令微调、RLHF等多种任务的数据预处理。
### 在线推理
特性 |
Mcore |
Legacy |
Released |
贡献方 |
流式推理 |
✅ |
✅ |
✅ |
【NAIE】 |
Chat对话 |
✅
| ✅
| ✅ |
【NAIE】 |
### 开源数据集评测
### 性能采集
### 高可用性
场景 |
特性 |
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日期** |
| --------------------- | ------------ | ------------ | ------------ | ------------ | ---------------------- | ----------- |
| 1.0.0 | \ | 常规版本 | 维护 | 2024/12/30 | 预计2025/06/30起无维护 | |
| 1.0.RC3 | v1.0.RC3.0 | 常规版本 | 维护 | 2024/09/30 | 预计2025/03/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由华为公司的下列部门以及昇腾生态合作伙伴联合贡献 :
华为公司:
- 计算产品线:Ascend
- 公共开发部:NAIE
- 全球技术服务部:GTS
- 华为云计算:Cloud
生态合作伙伴:
- 移动云(China Mobile Cloud):大云震泽智算平台
感谢来自社区的每一个PR,欢迎贡献 MindSpeed-LLM。
## 安全声明
[MindSpeed-LLM安全声明](https://gitee.com/ascend/ModelLink/wikis/%E5%AE%89%E5%85%A8%E7%9B%B8%E5%85%B3/%E5%AE%89%E5%85%A8%E5%A3%B0%E6%98%8E)
# 免责声明
## 致MindSpeed-LLM使用者
1. MindSpeed-LLM提供的模型仅供您用于非商业目的。
2. 对于各模型,MindSpeed-LLM平台仅提示性地向您建议可用于训练的数据集,华为不提供任何数据集,如您使用这些数据集进行训练,请您特别注意应遵守对应数据集的License,如您因使用数据集而产生侵权纠纷,华为不承担任何责任。
3. 如您在使用MindSpeed-LLM模型过程中,发现任何问题(包括但不限于功能问题、合规问题),请在Gitee提交issue,我们将及时审视并解决。
## 致数据集所有者
如果您不希望您的数据集在MindSpeed-LLM中的模型被提及,或希望更新MindSpeed-LLM中的模型关于您的数据集的描述,请在Gitee提交issue,我们将根据您的issue要求删除或更新您的数据集描述。衷心感谢您对MindSpeed-LLM的理解和贡献。
## License声明
Ascend MindSpeed-LLM提供的模型,如模型目录下存在License的,以该License为准。如模型目录下不存在License的,以Apache 2.0许可证许可,对应许可证文本可查阅Ascend MindSpeed-LLM根目录。