MindSpeed-MM是面向大规模分布式训练的昇腾多模态大模型套件,同时支持多模态生成及多模态理解,旨在为华为 昇腾芯片 提供端到端的多模态训练解决方案, 包含预置业界主流模型,数据工程,分布式训练及加速,预训练、微调、在线推理任务等特性。
当前MindSpeed-MM支撑大模型使用功能:
- 生成类多模态大模型 【昇腾】【NAIE】
- 理解类多模态大模型 【昇腾】【NAIE】【GTS】
- 预训练/全参微调/低参微调/在线推理 【昇腾】【NAIE】
- 数据工程: 多模数据预处理及加载/数据分桶策略 【昇腾】
- 分布式训练: TP/PP/CP/DSP/分布式优化器/重计算 【昇腾】
- 昇腾工具链: Profiling采集【昇腾】
更多多模态模型持续研发中....
MindSpeed-MM版本有以下五个维护阶段:
状态 | 时间 | 说明 |
---|---|---|
计划 | 1—3 个月 | 计划特性 |
开发 | 3 个月 | 开发特性 |
维护 | 6-12 个月 | 合入所有已解决的问题并发布版本,针对不同的MindSpeed-MM版本采取不同的维护策略,常规版本和长期支持版本维护周期分别为6个月和12个月 |
无维护 | 0—3 个月 | 合入所有已解决的问题,无专职维护人员,无版本发布 |
生命周期终止(EOL) | N/A | 分支不再接受任何修改 |
MindSpeed-MM已发布版本维护策略:
MindSpeed-MM版本 | 维护策略 | 当前状态 | 发布时间 | 后续状态 | EOL日期 |
---|---|---|---|---|---|
1.0.RC3 | 常规版本 | 维护 | 2024/09/30 | 预计2025/03/30起无维护 |
【版本配套环境】
软件 | 版本 | 安装指南 |
---|---|---|
Python | 3.8, 3.10 | |
Driver | AscendHDK 24.1.RC3 | 《驱动固件安装指南 》 |
Firmware | AscendHDK 24.1.RC3 | |
CANN | CANN 8.0.RC3 | 《CANN 软件安装指南 》 |
Torch | 2.1.0 | 《Ascend Extension for PyTorch 配置与安装 》 |
Torch_npu | release v6.0.RC3 |
【现版本实测性能(硬件信息:Atlas 900 A2 PODc)】
下述列表中支持的模型,我们在各模型的README
文件中提供了相应的使用说明,里面有详细的模型训练、推理、微调等流程
模型
列中的超链接指向各模型的文件夹地址, 参数量
列中的超链接指向模型的社区资源地址
认证
【Pass】表示已经过测试的模型,【Test】表示测试中的模型
模型任务 | 模型 | 参数量 | 任务 | 集群 | 精度格式 | NPU性能 | 参考性能 | 贡献方 | 认证 |
---|---|---|---|---|---|---|---|---|---|
视频生成 | OpenSora 1.0 | 5.5B | 预训练 | 1x8 | BF16 | 3.18 (Samples per Second) | 2.04 (Samples per Second) | 【昇腾】 | 【Pass】 |
OpenSora 1.2 | 5.2B | 预训练 | 1x8 | BF16 | 7.31 (Samples per Second) | 8.15 (Samples per Second) | 【昇腾】 | 【Test】 | |
OpenSoraPlan 1.2 | 8.7B | 预训练 | 1x8 | BF16 | 0.42 (Samples per Second) | 0.37 (Samples per Second) | 【昇腾】 | 【Pass】 | |
图像生成 | SDXL | 3.5B | 预训练 | 1x8 | BF16 | 29.92 (FPS) | 30.65 (FPS) | 【昇腾】【NAIE】 | 【Pass】 |
3.5B | 预训练 | 1x8 | FP16 | 28.51 (FPS) | 30.23 (FPS) | 【昇腾】【NAIE】 | 【Pass】 | ||
SD3 | 2B | 全参微调 | 1x8 | BF16 | 17.08 (FPS) | 17.51 (FPS) | 【昇腾】【NAIE】 | 【Pass】 | |
2B | 全参微调 | 1x8 | FP16 | 16.57 (FPS) | 16.36 (FPS) | 【昇腾】【NAIE】 | 【Pass】 | ||
Kolors | 2.6B | 推理 | 1x1 | FP16 | / | / | 【NAIE】 | 【Test】 | |
多模态理解 | LLaVA 1.5 | 7B | 预训练 | 1x8 | BF16 | 48.30 (FPS) | 49.49 (FPS) | 【昇腾】【NAIE】 | 【Test】 |
模型 | 参数量 | 任务 | 集群 | 精度格式 | NPU性能 | 参考性能 | 贡献方 | 认证 |
---|---|---|---|---|---|---|---|---|
CogVLM-2 | 8B | 微调 | 1x8 | BF16 | 3.9 (s/it) | 3.3 (s/it) | 【GTS】 | 【Pass】 |
PLLaVA | 7B | 预训练 | 1x8 | BF16 | 0.841 (s/step) | 0.935 (s/step) | 【NAIE】 | 【Pass】 |
7B | 预训练 | 1x8 | FP32 | 0.935 (s/step) | 1.08 (s/step) | 【NAIE】 | 【Pass】 | |
miniCPM-V 2.5 | 8B | 全参微调 | 1x8 | BF16 | 1046 (s)/50-200steps | 847 (s)/50-200steps | 【昇腾】 | 【Pass】 |
8B | Lora微调 | 1x8 | BF16 | 603 (s)/50-200steps | 490 (s)/50-200steps | 【昇腾】 | 【Pass】 | |
HunYuanDiT | 1.5B | 预训练 | 1x8 | BF16 | 1099.5 (ms/step) | 1059.3 (ms/step) | 【昇腾】 | 【Pass】 |
Intern-VL-1.5 | 26B | 微调训练 | 1x8 | BF16 | 4.952 (FPS) | 5.151 (FPS) | 【昇腾】 | 【Pass】 |
MindSpeed-MM集成了昇腾profiling采集工具,以提供对模型运行情况的分析。该工具能够依照配置采集模型的算子、显存等关键信息,同时支持动静态两种采集方式,协助开发者分析模型瓶颈,并可根据实际场景需求选择使用。
具体方法见 README 的profiling章节
针对大模型集群场景的性能调优,这里推荐一款优秀的可视化调优工具MindStudio Insight。 MindStudio Insight提供了包括Timeline视图、通信分析、计算耗时等的可视化呈现,以便用户分析潜在的性能瓶颈,并指导如何采取措施消除或减少这些瓶颈。
具体使用方法见《MindStudio Insight操作指南》,下载地址《MindStudio Insight》
MindSpeed-MM 由华为公司的下列部门联合贡献 :
- 昇腾计算产品部
- 公共开发部:NAIE
- 全球技术服务部:GTS
- 计算技术开发部
感谢来自社区的每一个PR,欢迎贡献 MindSpeed-MM
- MindSpeed-MM提供的模型仅供您用于非商业目的。
- 对于各模型,MindSpeed-MM平台仅提示性地向您建议可用于训练的数据集,华为不提供任何数据集,如您使用这些数据集进行训练,请您特别注意应遵守对应数据集的License,如您因使用数据集而产生侵权纠纷,华为不承担任何责任。
- 如您在使用MindSpeed-MM模型过程中,发现任何问题(包括但不限于功能问题、合规问题),请在Gitee提交issue,我们将及时审视并解决。
如果您不希望您的数据集在MindSpeed-MM中的模型被提及,或希望更新MindSpeed-MM中的模型关于您的数据集的描述,请在Gitee提交issue,我们将根据您的issue要求删除或更新您的数据集描述。衷心感谢您对MindSpeed-MM的理解和贡献。