已合并
[Modify] Fix document formatting and broken links #2346
且奏长歌创建于 3月31日
[Modify] Fix document formatting and broken links #2346
已合并
且奏长歌创建于 3月31日
70 个文件变更+1136-1140
MREADME.md+1-1
@@ -263,7 +263,7 @@ MindSpeed MM将以Qwen2.5-VL-3B和Wan2.1-T2V-1.3B模型为例,引导开发者
263- VPP: [Virtual Pipeline Parallel](https://arxiv.org/abs/2104.04473)263- VPP: [Virtual Pipeline Parallel](https://arxiv.org/abs/2104.04473)
264- PP: [Pipeline Parallel](https://arxiv.org/abs/2104.04473)264- PP: [Pipeline Parallel](https://arxiv.org/abs/2104.04473)
265- DSP: [Dynamic Sequence Parallel](https://arxiv.org/abs/2403.10266)265- DSP: [Dynamic Sequence Parallel](https://arxiv.org/abs/2403.10266)
266- CP (Ulysses): [Context Parallel](https://docs.nvidia.com/megatron-core/developer-guide/latest/api-guide/context_parallel.html) by leveraging [Deepspeed Ulysses](https://arxiv.org/abs/2309.14509) with Sequence Parallel266- CP (Ulysses): [Context Parallel](https://docs.nvidia.com/megatron-core/developer-guide/latest/user-guide/features/context_parallel.html) by leveraging [Deepspeed Ulysses](https://arxiv.org/abs/2309.14509) with Sequence Parallel
267- CP (Ring Attention): Context Parallel with [Ring Attention](https://arxiv.org/abs/2310.01889)267- CP (Ring Attention): Context Parallel with [Ring Attention](https://arxiv.org/abs/2310.01889)
268- Distributed Optimizer: [Zero Redundancy Optimizer](https://arxiv.org/abs/1910.02054) (ZeRO)268- Distributed Optimizer: [Zero Redundancy Optimizer](https://arxiv.org/abs/1910.02054) (ZeRO)
269- Recomputation: Reducing Activation [Recomputation](https://arxiv.org/abs/2205.05198)269- Recomputation: Reducing Activation [Recomputation](https://arxiv.org/abs/2205.05198)
Mdocs/zh/FAQ.md+1-1
@@ -1,4 +1,4 @@
1## MindSpeed MM FAQ1# MindSpeed MM FAQ
2 2 
3| 序号 | 问题简述 | 影响 | 当前方案 | 后续计划 | 相关链接 |3| 序号 | 问题简述 | 影响 | 当前方案 | 后续计划 | 相关链接 |
4|:------:|:------:|:------:|:------:|:------:|:------:|4|:------:|:------:|:------:|:------:|:------:|:------:|
Mdocs/zh/SECURITYNOTE.md+11-11
@@ -1,6 +1,6 @@
1## 安全声明1# 安全声明
2 2 
3### 系统安全加固3## 系统安全加固
4 4 
51. 建议用户在系统中配置开启ASLR(级别2),又称**全随机地址空间布局随机化**,可参考以下方式进行配置:51. 建议用户在系统中配置开启ASLR(级别2),又称**全随机地址空间布局随机化**,可参考以下方式进行配置:
6 6 
@@ -8,11 +8,11 @@
8 echo 2 > /proc/sys/kernel/randomize_va_space8 echo 2 > /proc/sys/kernel/randomize_va_space
9 ```9 ```
10 10 
11### 运行用户建议11## 运行用户建议
12 12 
13出于安全性及权限最小化角度考虑,不建议使用root等管理员类型账户使用MindSpeed MM。13出于安全性及权限最小化角度考虑,不建议使用root等管理员类型账户使用MindSpeed MM。
14 14 
15### 文件权限控制15## 文件权限控制
16 16 
171. 建议用户在主机(包括宿主机)及容器中设置运行系统umask值为0027及以上,保障新增文件夹默认最高权限为750,新增文件默认最高权限为640。171. 建议用户在主机(包括宿主机)及容器中设置运行系统umask值为0027及以上,保障新增文件夹默认最高权限为750,新增文件默认最高权限为640。
182. 建议用户对个人数据、商业资产、源文件、训练过程中保存的各类文件等敏感内容做好权限管控。涉及场景如MindSpeed MM安装目录权限管控、多用户使用共享数据集权限管控,管控权限可参考表1进行设置。182. 建议用户对个人数据、商业资产、源文件、训练过程中保存的各类文件等敏感内容做好权限管控。涉及场景如MindSpeed MM安装目录权限管控、多用户使用共享数据集权限管控,管控权限可参考表1进行设置。
@@ -40,7 +40,7 @@
40| 密钥组件、私钥、证书、加密密文 | 600(rw-------) |40| 密钥组件、私钥、证书、加密密文 | 600(rw-------) |
41| 加解密接口、加解密脚本 | 500(r-x------) |41| 加解密接口、加解密脚本 | 500(r-x------) |
42 42 
43### 数据安全声明43## 数据安全声明
44 44 
451. 风险概述:451. 风险概述:
46 MindSpeed MM 模型框架执行模型的加载与保存操作。需要特别注意的是,其底层实现可能使用 [Python pickle](https://docs.python.org/3/library/pickle.html)模块进行部分文件的序列化/反序列化操作,该模块存在固有的安全风险。 46 MindSpeed MM 模型框架执行模型的加载与保存操作。需要特别注意的是,其底层实现可能使用 [Python pickle](https://docs.python.org/3/library/pickle.html)模块进行部分文件的序列化/反序列化操作,该模块存在固有的安全风险。
@@ -79,7 +79,7 @@
792. MindSpeed MM内部用到了Pytorch和torch_npu,可能会因为版本不匹配导致运行错误,具体可参考Pytorch及torch_npu[安全声明](https://gitcode.com/Ascend/pytorch/blob/master/SECURITYNOTE.md)。792. MindSpeed MM内部用到了Pytorch和torch_npu,可能会因为版本不匹配导致运行错误,具体可参考Pytorch及torch_npu[安全声明](https://gitcode.com/Ascend/pytorch/blob/master/SECURITYNOTE.md)。
803. MindSpeed MM的依赖库transformers和datasets在使用from_pretrained方法时,存在配置trust_remote_code=True的情况。此设置会直接执行从远程仓库下载的代码,可能包含恶意逻辑或后门程序,导致系统面临代码注入攻击等安全威胁。用户需要确保自己下载的模型和数据的安全性。803. MindSpeed MM的依赖库transformers和datasets在使用from_pretrained方法时,存在配置trust_remote_code=True的情况。此设置会直接执行从远程仓库下载的代码,可能包含恶意逻辑或后门程序,导致系统面临代码注入攻击等安全威胁。用户需要确保自己下载的模型和数据的安全性。
81 81 
82## 公开接口声明82# 公开接口声明
83 83 
84MindSpeed MM 暂时未发布wheel包,无正式对外公开接口,所有功能均通过shell脚本调用。19个入口脚本分别为:84MindSpeed MM 暂时未发布wheel包,无正式对外公开接口,所有功能均通过shell脚本调用。19个入口脚本分别为:
85 85 
@@ -103,21 +103,21 @@ MindSpeed MM 暂时未发布wheel包,无正式对外公开接口,所有功
103- [pretrain_vlm](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/pretrain_vlm.py)103- [pretrain_vlm](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/pretrain_vlm.py)
104- [pretrain_whisper](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/pretrain_whisper.py)104- [pretrain_whisper](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/pretrain_whisper.py)
105 105 
106## 通信安全加固106# 通信安全加固
107 107 
108[通信安全加固说明](https://gitcode.com/Ascend/pytorch/blob/master/SECURITYNOTE.md#%E9%80%9A%E4%BF%A1%E5%AE%89%E5%85%A8%E5%8A%A0%E5%9B%BA108[通信安全加固说明](https://gitcode.com/Ascend/pytorch/blob/master/SECURITYNOTE.md#%E9%80%9A%E4%BF%A1%E5%AE%89%E5%85%A8%E5%8A%A0%E5%9B%BA
109)109)
110 110 
111## 通信矩阵111# 通信矩阵
112 112 
113[通信矩阵说明](https://gitcode.com/Ascend/pytorch/blob/master/SECURITYNOTE.md#%E9%80%9A%E4%BF%A1%E7%9F%A9%E9%98%B5%E4%BF%A1%E6%81%AF)113[通信矩阵说明](https://gitcode.com/Ascend/pytorch/blob/master/SECURITYNOTE.md#%E9%80%9A%E4%BF%A1%E7%9F%A9%E9%98%B5%E4%BF%A1%E6%81%AF)
114 114 
115## 特殊场景115# 特殊场景
116 116 
117| 场景 | 使用方法 | 端口 | 可能的风险 |117| 场景 | 使用方法 | 端口 | 可能的风险 |
118|--------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------| -------------- | ------------------------------------------------------------ |118|--------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------| -------------- | ------------------------------------------------------------ |
119| 使用MindSpeed MM进行训练任务时,在Megatron后端场景下每次初始化模型并行组时,默认新增(3 * NPU数量)个随机端口,开启多个分布式优化器时再额外新增(分布式优化器数量 * NPU数量)个随机端口,同时配置1个master-port端口(该端口与torch_npu的master-port端口一致) | MindSpeed MM 调用 Megatron 原生函数 `mpu.initialize_model_parallel` 来初始化模型并行组,并通过使用 PyTorch 分布式训练相关的 API 来启动任意任务。 | [1024,65520]内 | 网络配置错误可能引发端口冲突或连接问题,影响训练效率。 |119| 使用MindSpeed MM进行训练任务时,在Megatron后端场景下每次初始化模型并行组时,默认新增(3 * NPU数量)个随机端口,开启多个分布式优化器时再额外新增(分布式优化器数量 * NPU数量)个随机端口,同时配置1个master-port端口(该端口与torch_npu的master-port端口一致) | MindSpeed MM 调用 Megatron 原生函数 `mpu.initialize_model_parallel` 来初始化模型并行组,并通过使用 PyTorch 分布式训练相关的 API 来启动任意任务。 | [1024,65520]内 | 网络配置错误可能引发端口冲突或连接问题,影响训练效率。|
120 120 
121### 公网地址声明121## 公网地址声明
122 122 
123代码涉及公网地址参考 [public_address_statement.md](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/public_address_statement.md)123代码涉及公网地址参考 [public_address_statement.md](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/public_address_statement.md)
Mdocs/zh/features/automatic_parallelism_mm.md+1-1
@@ -1,4 +1,4 @@
1## Automatic Parallelism For Multi-Modal1# Automatic Parallelism For Multi-Modal
2 2 
3## 问题分析3## 问题分析
4 4 
Mdocs/zh/features/bucket_reordering.md+5-5
@@ -1,6 +1,6 @@
1## 数据负载均衡(数据分桶重排序)1# 数据负载均衡(数据分桶重排序)
2 2 
3### 数据分桶训练3## 数据分桶训练
4 4 
5对数据进行分桶重排序,使得数据层的负载达到更好的均衡。5对数据进行分桶重排序,使得数据层的负载达到更好的均衡。
6 6 
@@ -10,9 +10,9 @@
10 10 
11​ 2. 数据重排:精度优先,"priority_mode"配置为 "data_reordering_img"11​ 2. 数据重排:精度优先,"priority_mode"配置为 "data_reordering_img"
12 12 
13### 使用方法(Qwen2VL 已支持)13## 使用方法(Qwen2VL 已支持)
14 14 
15#### Qwen2VL的数据分桶使用方法15### Qwen2VL的数据分桶使用方法
16 16 
17在examples/qwen2vl/data_2b.json中,修改dataloader_param下的sampler_type为"BucketBatchSampler",且"priority_mode"配置为 "data_reordering_img",如下:17在examples/qwen2vl/data_2b.json中,修改dataloader_param下的sampler_type为"BucketBatchSampler",且"priority_mode"配置为 "data_reordering_img",如下:
18 18 
@@ -28,4 +28,4 @@
28 "pin_memory": true,28 "pin_memory": true,
29 "data_sharding": true,29 "data_sharding": true,
30 "shuffle": true30 "shuffle": true
31 }31 }
Mdocs/zh/features/deterministic_computing.md+1-1
@@ -36,7 +36,7 @@
36 36 
372. **使用msprobe工具** 372. **使用msprobe工具**
38 通过MindStudio Training Tools工具链中的msprobe包启用确定性计算。 38 通过MindStudio Training Tools工具链中的msprobe包启用确定性计算。
39 使用说明请参考:[msprobe文档](https://gitcode.com/Ascend/mstt/blob/master/debug/accuracy_tools/msprobe/docs/05.data_dump_PyTorch.md#18-seed_all)39 使用说明请参考:[msprobe文档](https://gitcode.com/Ascend/mstt/blob/master/debug/accuracy_tools/msprobe/docs/zh/dump/pytorch_data_dump_instruct.md#18-seed_all)
40 40 
41## 必需的环境变量配置41## 必需的环境变量配置
42 42 
Mdocs/zh/features/dynamic_dpcp.md+1-1
@@ -1,4 +1,4 @@
1## Dynamic DP/CP switch1# Dynamic DP/CP switch
2 2 
3## 问题分析3## 问题分析
4 4 
Mdocs/zh/features/hetero_parallel.md+34-34
@@ -36,48 +36,48 @@ hetero-parallel(异构并行)通过解耦多模态模型的并行方案配
36 36 
371. 训练启动脚本添加如下参数371. 训练启动脚本添加如下参数
38 38 
39```shell39 ```shell
40GPT_ARGS="40 GPT_ARGS="
41 ...41 ...
42 --hetero-parallel \42 --hetero-parallel \
43 --hetero-encoder-mbs-scale {num} \ # 将图像/音频编码器的mbs调整为文本解码器的num倍,提升计算效率g43 --hetero-encoder-mbs-scale {num} \ # 将图像/音频编码器的mbs调整为文本解码器的num倍,提升计算效率g
44"44 "
45```45 ```
46 46 
472. 在对应`model.json`中需要异构并行的子模块添加`tp/pp/cp、mbs`等参数, 注意,骨干网络不再支持通过shell脚本来initial 并行策略,并且shell脚本中的并行策略都要设为1。472. 在对应`model.json`中需要异构并行的子模块添加`tp/pp/cp、mbs`等参数, 注意,骨干网络不再支持通过shell脚本来initial 并行策略,并且shell脚本中的并行策略都要设为1。
48 48 
49```txt49 ```txt
50{50 {
51 ...51 ...
52 "image_encoder": {52 "image_encoder": {
53 "vision_encoder": {53 "vision_encoder": {
54 ...
55 "tp":1,
56 "pp":1,
57 "cp":1
58 },
59 },
60 "audio_encoder": {
54 ...61 ...
55 "tp":1,62 "tp":1,
56 "pp":1,63 "pp":1,
57 "cp":164 "cp":1
58 },65 },
59 },66 "text_decoder": {
60 "audio_encoder": {67 ...
61 ...68 "tp":1,
62 "tp":1,69 "pp":1,
63 "pp":1,70 "cp":1
64 "cp":171 },
65 },72 ...
66 "text_decoder": {73 }
67 ...74 ```
68 "tp":1,
69 "pp":1,
70 "cp":1
71 },
72 ...
73}
74```
75 75 
76```shell76 ```shell
77TP=177 TP=1
78PP=178 PP=1
79CP=179 CP=1
80```80 ```
81 81 
82### 适用范围82### 适用范围
83 83 
Mdocs/zh/features/unaligned_ulysses_cp.md+7-7
@@ -17,12 +17,12 @@ Ulysses CP算法基于All2All算子,对All2All算子的Input List与Output Lis
17 17 
181. examples/qwen2vl/finetune_qwen2vl_72b.sh中设置CP大小,默认脚本中为1181. examples/qwen2vl/finetune_qwen2vl_72b.sh中设置CP大小,默认脚本中为1
19 19 
20```shell20 ```shell
21CP=121 CP=1
22```22 ```
23 23 
242. examples/qwen2vl/finetune_qwen2vl_72b.sh中的GPT_ARGS添加 242. examples/qwen2vl/finetune_qwen2vl_72b.sh中的GPT_ARGS添加
25 25 
26```shell26 ```shell
27 --context-parallel-algo ulysses_cp_algo27 --context-parallel-algo ulysses_cp_algo
28```28 ```
Mdocs/zh/mindspore/model_migration_mindspore.md+1-1
@@ -30,7 +30,7 @@ MindSpore使用[函数式自动微分](https://www.mindspore.cn/tutorials/zh-CN/
30 30 
31+ MSAdapter工具介绍31+ MSAdapter工具介绍
32 32 
33[MSAdapter](https://openi.pcl.ac.cn/OpenI/MSAdapter.git)是一款MindSpore生态适配工具,在不改变用户原有使用习惯下,将PyTorch/JAX等三方框架代码快速迁移到MindSpore生态上,帮助用户高效使用昇腾算力。该工具的基本原理是使用MindSpore动态图算子来实现PyTorch API接口,由于框架的差异性,部分接口仍存在差异或者不支持,具体支持列表详见[torch接口支持列表](https://openi.pcl.ac.cn/OpenI/MSAdapter/src/branch/master/doc/readthedocs/source_zh/docs/SupportedList.md)。33[MSAdapter](https://openi.pcl.ac.cn/OpenI/MSAdapter.git)是一款MindSpore生态适配工具,在不改变用户原有使用习惯下,将PyTorch/JAX等三方框架代码快速迁移到MindSpore生态上,帮助用户高效使用昇腾算力。
34 34 
H
Hhtwang4月2日

这里删除这句话的原因是什么

likedislike
AZe_404
AZe_404
4月2日 评论:
likedislike
35## 软件安装35## 软件安装
36 36 
Mdocs/zh/mindspore/readme.md+7-7
@@ -1,4 +1,4 @@
1## MindSpore后端支持说明1# MindSpore后端支持说明
2 2 
3MindSpeed MM已支持接入华为自研AI套件MindSpore,旨在提供华为全栈易用的端到端的多模态模型训练解决方案,以此获得更极致的性能体验。MindSpore后端提供了一套对标PyTorch的API,用户无需进行额外代码适配即可无缝切换。3MindSpeed MM已支持接入华为自研AI套件MindSpore,旨在提供华为全栈易用的端到端的多模态模型训练解决方案,以此获得更极致的性能体验。MindSpore后端提供了一套对标PyTorch的API,用户无需进行额外代码适配即可无缝切换。
4 4 
@@ -6,7 +6,7 @@ MindSpeed MM已支持接入华为自研AI套件MindSpore,旨在提供华为全
6 6 
7## 🔥🔥🔥Latest News7## 🔥🔥🔥Latest News
8 8 
9🚀🚀🚀 MindSpore后端已支持[CogVideoX](../../examples/mindspore/cogvideox/)、[Qwen2.5VL](../../examples/mindspore/qwen2.5vl/README.md)、[Qwen25Omni](../../examples/mindspore/qwen2.5omni/README.md)、[Qwen3VL](../../examples/mindspore/qwen3vl/README.md)模型。9🚀🚀🚀 MindSpore后端已支持[CogVideoX](../../../examples/mindspore/cogvideox/)、[Qwen2.5VL](../../../examples/mindspore/qwen2.5vl/README.md)、[Qwen25Omni](../../../examples/mindspore/qwen2.5omni/README.md)、[Qwen3VL](../../../examples/mindspore/qwen3vl/README.md)模型。
10 10 
11## 版本配套11## 版本配套
12 12 
@@ -33,7 +33,7 @@ MindSpeed MM + MindSpore后端的依赖配套如下表,安装步骤参考[基
33 33 
34### 已支持特性概览34### 已支持特性概览
35 35 
36| 模型 \ 特性 | [TP](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/tensor-parallel.md) | [TP-SP](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/sequence-parallel.md) | [VPP](docs/zh/features/virtual_pipeline_parallel.md) | [PP](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/pipeline-parallel.md) | CP | EP | [Distributed Optimizer](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/distributed-optimizer.md) | [Recomputation](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/recomputation.md) | [LoRA](./docs/zh/features/lora_finetune.md) |36| 模型 \ 特性 | [TP](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/tensor-parallel.md) | [TP-SP](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/sequence-parallel.md) | [VPP](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/features/virtual_pipeline_parallel.md) | [PP](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/pipeline-parallel.md) | CP | EP | [Distributed Optimizer](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/distributed-optimizer.md) | [Recomputation](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/recomputation.md) | [LoRA](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/features/lora_finetune.md) |
37|:-------------------:|:------:|:------:|:------:|:---------------------------------------------------------------------------------------:|:------:|:-------:|:------:|:------:|:------:|37|:-------------------:|:------:|:------:|:------:|:---------------------------------------------------------------------------------------:|:------:|:-------:|:------:|:------:|:------:|
38| CogVideoX系列-T2V | ✔ | ✔ | | | CP (Ulysses) | | ✔ | ✔ | |38| CogVideoX系列-T2V | ✔ | ✔ | | | CP (Ulysses) | | ✔ | ✔ | |
39| CogVideoX系列-I2V | ✔ | ✔ | | | CP (Ulysses) | | ✔ | ✔ | |39| CogVideoX系列-I2V | ✔ | ✔ | | | CP (Ulysses) | | ✔ | ✔ | |
@@ -50,7 +50,7 @@ MindSpeed MM + MindSpore后端的依赖配套如下表,安装步骤参考[基
50* VPP: [Virtual Pipeline Parallel](https://arxiv.org/abs/2104.04473)50* VPP: [Virtual Pipeline Parallel](https://arxiv.org/abs/2104.04473)
51* PP: [Pipeline Parallel](https://arxiv.org/abs/2104.04473)51* PP: [Pipeline Parallel](https://arxiv.org/abs/2104.04473)
52* DSP: [Dynamic Sequence Parallel](https://arxiv.org/abs/2403.10266)52* DSP: [Dynamic Sequence Parallel](https://arxiv.org/abs/2403.10266)
53* CP (Ulysses): [Context Parallel](https://docs.nvidia.com/megatron-core/developer-guide/latest/api-guide/context_parallel.html) by leveraging [Deepspeed Ulysses](https://arxiv.org/abs/2309.14509) with Sequence Parallel53* CP (Ulysses): [Context Parallel](https://docs.nvidia.com/megatron-core/developer-guide/latest/user-guide/features/context_parallel.html) by leveraging [Deepspeed Ulysses](https://arxiv.org/abs/2309.14509) with Sequence Parallel
54* CP (Ring Attention): Context Parallel with [Ring Attention](https://arxiv.org/abs/2310.01889)54* CP (Ring Attention): Context Parallel with [Ring Attention](https://arxiv.org/abs/2310.01889)
55* Distributed Optimizer: [Zero Redundancy Optimizer](https://arxiv.org/abs/1910.02054) (ZeRO)55* Distributed Optimizer: [Zero Redundancy Optimizer](https://arxiv.org/abs/1910.02054) (ZeRO)
56* Recomputation: Reducing Activation [Recomputation](https://arxiv.org/abs/2205.05198)56* Recomputation: Reducing Activation [Recomputation](https://arxiv.org/abs/2205.05198)
@@ -149,7 +149,7 @@ MindSpeed MM + MindSpore后端的依赖配套如下表,安装步骤参考[基
149 <td>支持中</td>149 <td>支持中</td>
150 </tr>150 </tr>
151 <tr>151 <tr>
152 <td rowspan="1"><a href="https://gitcode.com/Ascend/MindSpeed-MM/blob/master/examples/mindspore/wan2.1">Wan2.1-I2V</a></td>152 <td rowspan="1"><a href="https://gitcode.com/Ascend/MindSpeed-MM/tree/master/examples/mindspore/wan2.1">Wan2.1-I2V</a></td>
153 <td><a href="https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B-Diffusers"> 1.3B </a></td>153 <td><a href="https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B-Diffusers"> 1.3B </a></td>
154 <td> 预训练 </td>154 <td> 预训练 </td>
155 <td> 1x8 </td>155 <td> 1x8 </td>
@@ -161,7 +161,7 @@ MindSpeed MM + MindSpore后端的依赖配套如下表,安装步骤参考[基
161 <td><a href="https://gitcode.com/Ascend/MindSpeed-MM/tree/2.3.0"> 2.3.0 </a></td>161 <td><a href="https://gitcode.com/Ascend/MindSpeed-MM/tree/2.3.0"> 2.3.0 </a></td>
162 </tr>162 </tr>
163 <tr>163 <tr>
164 <td rowspan="2"><a href="https://gitcode.com/Ascend/MindSpeed-MM/blob/master/examples/mindspore/wan2.1">Wan2.1-T2V</a></td>164 <td rowspan="2"><a href="https://gitcode.com/Ascend/MindSpeed-MM/tree/master/examples/mindspore/wan2.1">Wan2.1-T2V</a></td>
165 <td><a href="https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B-Diffusers"> 1.3B </a></td>165 <td><a href="https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B-Diffusers"> 1.3B </a></td>
166 <td> 预训练 </td>166 <td> 预训练 </td>
167 <td> 1x8 </td>167 <td> 1x8 </td>
@@ -276,7 +276,7 @@ MindSpeed MM + MindSpore后端的依赖配套如下表,安装步骤参考[基
276 276 
277MindSpeed MM集成了昇腾profiling采集工具,以提供对模型运行情况的分析。该工具能够依照配置采集模型的算子、显存等关键信息,同时支持动静态两种采集方式,协助开发者分析模型瓶颈,并可根据实际场景需求选择使用。277MindSpeed MM集成了昇腾profiling采集工具,以提供对模型运行情况的分析。该工具能够依照配置采集模型的算子、显存等关键信息,同时支持动静态两种采集方式,协助开发者分析模型瓶颈,并可根据实际场景需求选择使用。
278 278 
279具体方法见 [README](../../mindspeed_mm/tools/README.md) 的profiling章节。279具体方法见 [README](../tools.md) 的profiling章节。
280 280 
281## MindStudio Insight性能分析工具281## MindStudio Insight性能分析工具
282 282 
Mdocs/zh/public_address_statement.md+9-9
@@ -1,4 +1,4 @@
1### MindSpeed MM 公网地址声明1# MindSpeed MM 公网地址声明
2 2 
3- MindSpeed MM 代码中包含公网地址声明如下表所示:3- MindSpeed MM 代码中包含公网地址声明如下表所示:
4 4 
@@ -20,7 +20,7 @@
20| 开发引入 | / | .mindspeed_mm/data/data_utils/utils.py | <https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if.py> | 开源代码参考指引 |20| 开发引入 | / | .mindspeed_mm/data/data_utils/utils.py | <https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/deepfloyd_if/pipeline_if.py> | 开源代码参考指引 |
21| 开发引入 | / | .mindspeed_mm/data/dataloader/dataloader.py | <https://github.com/hpcaitech/Open-Sora/tree/main/opensora/datasets> | 开源代码参考指引 |21| 开发引入 | / | .mindspeed_mm/data/dataloader/dataloader.py | <https://github.com/hpcaitech/Open-Sora/tree/main/opensora/datasets> | 开源代码参考指引 |
22| 开发引入 | / | .mindspeed_mm/data/dataloader/sampler.py | <https://github.com/hpcaitech/Open-Sora/tree/main/opensora/datasets> | 开源代码参考指引 |22| 开发引入 | / | .mindspeed_mm/data/dataloader/sampler.py | <https://github.com/hpcaitech/Open-Sora/tree/main/opensora/datasets> | 开源代码参考指引 |
23| 开源引入 | <https://raw.githubusercontent.com/huggingface/diffusers/main/examples/test_to_image/train_text_to_image_sdxl.py> | ./train_text_to_image_sdxl.py | <https://github.com/huggingface/diffusers> | 开源代码参考指引 |23| 开源引入 | <https://raw.githubusercontent.com/huggingface/diffusers/main/examples/text_to_image/train_text_to_image_sdxl.py> | ./train_text_to_image_sdxl.py | <https://github.com/huggingface/diffusers> | 开源代码参考指引 |
24| 开源引入 | <https://raw.githubusercontent.com/huggingface/diffusers/main/examples/dreambooth/train_dreambooth_sd3.py> | ./train_dreambooth_sd3.py | <https://github.com/huggingface/diffusers> | 开源代码参考指引 |24| 开源引入 | <https://raw.githubusercontent.com/huggingface/diffusers/main/examples/dreambooth/train_dreambooth_sd3.py> | ./train_dreambooth_sd3.py | <https://github.com/huggingface/diffusers> | 开源代码参考指引 |
25| 开发引入 | <https://github.com/PKU-YuanGroup/Open-Sora-Plan/blob/main/opensora/sample/pipeline_opensora.py> | mindspeed_mm/tasks/inference/pipeline/opensoraplan_pipeline.py | <https://arxiv.org/abs/2010.02502> | 开源代码参考指引 |25| 开发引入 | <https://github.com/PKU-YuanGroup/Open-Sora-Plan/blob/main/opensora/sample/pipeline_opensora.py> | mindspeed_mm/tasks/inference/pipeline/opensoraplan_pipeline.py | <https://arxiv.org/abs/2010.02502> | 开源代码参考指引 |
26| 开发引入 | / | mindspeed_mm/models/diffusion/diffusers_scheduler.py | <https://arxiv.org/pdf/2205.11487.pdf> | 参考论文地址 |26| 开发引入 | / | mindspeed_mm/models/diffusion/diffusers_scheduler.py | <https://arxiv.org/pdf/2205.11487.pdf> | 参考论文地址 |
@@ -40,10 +40,10 @@
40| 开发引入 | / | ./mindspeed_mm/models/predictor/dits/pt_dit_diffusers.py | <https://github.com/PixArt-alpha/PixArt-alpha/blob/0f55e922376d8b797edd44d25d0e7464b260dcab/diffusion/model/nets/PixArtMS.py#L164C9-L168C29> | 开源代码参考指引 |40| 开发引入 | / | ./mindspeed_mm/models/predictor/dits/pt_dit_diffusers.py | <https://github.com/PixArt-alpha/PixArt-alpha/blob/0f55e922376d8b797edd44d25d0e7464b260dcab/diffusion/model/nets/PixArtMS.py#L164C9-L168C29> | 开源代码参考指引 |
41| 开发引入 | / | ./mindspeed_mm/models/predictor/dits/pt_dit_diffusers.py | <https://arxiv.org/abs/2310.00426> | 参考论文地址 |41| 开发引入 | / | ./mindspeed_mm/models/predictor/dits/pt_dit_diffusers.py | <https://arxiv.org/abs/2310.00426> | 参考论文地址 |
42| 开发引入 | / | ./mindspeed_mm/models/predictor/dits/pt_dit_diffusers.py | <https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py> | 开源代码参考指引 |42| 开发引入 | / | ./mindspeed_mm/models/predictor/dits/pt_dit_diffusers.py | <https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py> | 开源代码参考指引 |
43| 开源引入 | <https://github.com/deepseek-ai/DeepSeek-VL2/deepseek_vl2/models/modeling_deepseek_vl_v2.py> | mindspeed_mm/models/vision/vision_encoders/siglip_vit_model.py | <https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/vision_transformer.py> | 开源代码参考指引 |43| 开源引入 | <https://github.com/deepseek-ai/DeepSeek-VL2/blob/main/deepseek_vl2/models/modeling_deepseek_vl_v2.py> | mindspeed_mm/models/vision/vision_encoders/siglip_vit_model.py | <https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/vision_transformer.py> | 开源代码参考指引 |
44| 开源引入 | <https://github.com/deepseek-ai/DeepSeek-VL2/deepseek_vl2/models/modeling_deepseek_vl_v2.py> | mindspeed_mm/models/vision/vision_encoders/siglip_vit_model.py | <https://people.sc.fsu.edu/~jburkardt/presentations/truncated_normal.pdf> | 开源代码参考指引 |44| 开源引入 | <https://github.com/deepseek-ai/DeepSeek-VL2/blob/main/deepseek_vl2/models/modeling_deepseek_vl_v2.py> | mindspeed_mm/models/vision/vision_encoders/siglip_vit_model.py | <https://people.sc.fsu.edu/~jburkardt/presentations/truncated_normal.pdf> | 开源代码参考指引 |
45| 开源引入 | <https://github.com/deepseek-ai/DeepSeek-VL2/deepseek_vl2/models/modeling_deepseek_vl_v2.py> | mindspeed_mm/models/vision/vision_encoders/siglip_vit_model.py | <https://arxiv.org/abs/2010.11929> | 开源代码参考指引 |45| 开源引入 | <https://github.com/deepseek-ai/DeepSeek-VL2/blob/main/deepseek_vl2/models/modeling_deepseek_vl_v2.py> | mindspeed_mm/models/vision/vision_encoders/siglip_vit_model.py | <https://arxiv.org/abs/2010.11929> | 开源代码参考指引 |
46| 开源引入 | <https://github.com/deepseek-ai/DeepSeek-VL2/deepseek_vl2/models/modeling_deepseek_vl_v2.py> | mindspeed_mm/models/vision/vision_encoders/siglip_vit_model.py | <https://github.com/huggingface/transformers/blob/78b2929c0554b79e0489b451ce4ece14d265ead2/src/transformers/models/siglip/configuration_siglip.py#L191> | 开源代码参考指引 |46| 开源引入 | <https://github.com/deepseek-ai/DeepSeek-VL2/blob/main/deepseek_vl2/models/modeling_deepseek_vl_v2.py> | mindspeed_mm/models/vision/vision_encoders/siglip_vit_model.py | <https://github.com/huggingface/transformers/blob/78b2929c0554b79e0489b451ce4ece14d265ead2/src/transformers/models/siglip/configuration_siglip.py#L191> | 开源代码参考指引 |
47| 开源引入 | <https://github.com/XueZeyue/DanceGRPO/blob/main/fastvideo/dataset/latent_flux_rl_datasets.py> | mindspeed_mm/tasks/rl/soragrpo/dataset/latent_flux_rl_datasets.py | <https://github.com/hao-ai-lab/FastVideo/blob/main/LICENSE> | 开源代码参考链接 |47| 开源引入 | <https://github.com/XueZeyue/DanceGRPO/blob/main/fastvideo/dataset/latent_flux_rl_datasets.py> | mindspeed_mm/tasks/rl/soragrpo/dataset/latent_flux_rl_datasets.py | <https://github.com/hao-ai-lab/FastVideo/blob/main/LICENSE> | 开源代码参考链接 |
48| 开源引入 | <https://github.com/XueZeyue/DanceGRPO/blob/main/fastvideo/data_preprocess/preprocess_flux_embedding.py> | mindspeed_mm/tasks/rl/soragrpo/preprocess/data_preprocess.py | <https://github.com/hao-ai-lab/FastVideo/blob/main/LICENSE> | 开源代码参考链接 |48| 开源引入 | <https://github.com/XueZeyue/DanceGRPO/blob/main/fastvideo/data_preprocess/preprocess_flux_embedding.py> | mindspeed_mm/tasks/rl/soragrpo/preprocess/data_preprocess.py | <https://github.com/hao-ai-lab/FastVideo/blob/main/LICENSE> | 开源代码参考链接 |
49| 开源引入 | <https://github.com/XueZeyue/DanceGRPO/blob/main/fastvideo/data_preprocess/preprocess_flux_embedding.py> | mindspeed_mm/tasks/rl/soragrpo/preprocess/flux_data_preprocess.py | <https://github.com/hao-ai-lab/FastVideo/blob/main/LICENSE> | 开源代码参考链接 |49| 开源引入 | <https://github.com/XueZeyue/DanceGRPO/blob/main/fastvideo/data_preprocess/preprocess_flux_embedding.py> | mindspeed_mm/tasks/rl/soragrpo/preprocess/flux_data_preprocess.py | <https://github.com/hao-ai-lab/FastVideo/blob/main/LICENSE> | 开源代码参考链接 |
@@ -56,9 +56,9 @@
56| 开源引入 | <https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5/blob/main/hyvideo/models/transformers/hunyuanvideo_1_5_transformer.py> | mindspeed_mm/models/predictor/dits/hunyuan_video_15_dit.py | <http://arxiv.org/abs/2406.11831> | 参考论文地址 |56| 开源引入 | <https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5/blob/main/hyvideo/models/transformers/hunyuanvideo_1_5_transformer.py> | mindspeed_mm/models/predictor/dits/hunyuan_video_15_dit.py | <http://arxiv.org/abs/2406.11831> | 参考论文地址 |
57| 开源引入 | <https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5/blob/main/hyvideo/models/text_encoders/byT5/__init__.py> | mindspeed_mm/models/text_encoder/byt5/__init__.py | <https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5/blob/main/LICENSE> | 开源代码参考链接 |57| 开源引入 | <https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5/blob/main/hyvideo/models/text_encoders/byT5/__init__.py> | mindspeed_mm/models/text_encoder/byt5/__init__.py | <https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5/blob/main/LICENSE> | 开源代码参考链接 |
58| 开源引入 | <https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5/blob/main/hyvideo/models/text_encoders/byT5/format_prompt.py> | mindspeed_mm/models/text_encoder/byt5/format_prompt.py | <https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5/blob/main/LICENSE> | 开源代码参考链接 |58| 开源引入 | <https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5/blob/main/hyvideo/models/text_encoders/byT5/format_prompt.py> | mindspeed_mm/models/text_encoder/byt5/format_prompt.py | <https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5/blob/main/LICENSE> | 开源代码参考链接 |
59| 开源引入 | <https://github.com/huggingface/diffusers/models/transformers/transformer_hidream_image.py> | mindspeed_mm/examples/diffusers/hidream/transformer_patches.py | <https://github.com/huggingface/diffusers> | 开源代码参考指引 |59| 开源引入 | <https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_hidream_image.py> | mindspeed_mm/examples/diffusers/hidream/transformer_patches.py | <https://github.com/huggingface/diffusers> | 开源代码参考指引 |
60| 开源引入 | <https://github.com/huggingface/diffusers/models/transformers/transformer_flux.py> | mindspeed_mm/examples/diffusers/flux-kontext/transformer_patches.py | <https://github.com/huggingface/diffusers> | 开源代码参考指引 |60| 开源引入 | <https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_flux.py> | mindspeed_mm/examples/diffusers/flux-kontext/transformer_patches.py | <https://github.com/huggingface/diffusers> | 开源代码参考指引 |
61| 开源引入 | <https://github.com/huggingface/diffusers/models/transformers/transformer_flux2.py> | mindspeed_mm/examples/diffusers/flux2/transformer_patches.py | <https://github.com/huggingface/diffusers> | 开源代码参考指引 |61| 开源引入 | <https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_flux2.py> | mindspeed_mm/examples/diffusers/flux2/transformer_patches.py | <https://github.com/huggingface/diffusers> | 开源代码参考指引 |
62| 开发引入 | / | scripts/install.sh | <https://download.pytorch.org/whl/cu124> | 开源软件安装地址 |62| 开发引入 | / | scripts/install.sh | <https://download.pytorch.org/whl/cu124> | 开源软件安装地址 |
63| 开发引入 | / | scripts/install.sh | <https://download.pytorch.org/whl/cu121> | 开源软件安装地址 |63| 开发引入 | / | scripts/install.sh | <https://download.pytorch.org/whl/cu121> | 开源软件安装地址 |
64| 开发引入 | / | scripts/install.sh | <https://download.pytorch.org/whl/cu120> | 开源软件安装地址 |64| 开发引入 | / | scripts/install.sh | <https://download.pytorch.org/whl/cu120> | 开源软件安装地址 |
Mdocs/zh/pytorch/args_readme.md+3-3
@@ -48,7 +48,7 @@
48 48 
49--calculate-per-token-loss:按 token 粒度计算 loss。[详细介绍]( https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/features/vlm_model_loss_calculate_type.md)49--calculate-per-token-loss:按 token 粒度计算 loss。[详细介绍]( https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/features/vlm_model_loss_calculate_type.md)
50 50 
51--ckpt-format torch_dcp: 保存时使用dcp格式。[详细介绍](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/torch_dcp.md)51--ckpt-format torch_dcp: 保存时使用dcp格式。[详细介绍](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/fsdp2.md)
52 52 
53--init-model-with-meta-device: 使用fsdp2的meta初始化模型,目前仅qwen3vl模型支持,详细使用请参考examples下具体模型readme.md界面。53--init-model-with-meta-device: 使用fsdp2的meta初始化模型,目前仅qwen3vl模型支持,详细使用请参考examples下具体模型readme.md界面。
54 54 
@@ -72,7 +72,7 @@
72 72 
73#### 重计算73#### 重计算
74 74 
75[详细介绍](https://gitcode.com/Ascend/MindSpeed-LLM/blob/master/docs/pytorch/features/recompute_relative.md)75[详细介绍](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/recomputation.md)
76 76 
77--recompute-granularity: 目前仅支持配置full用于开启全量重计算。77--recompute-granularity: 目前仅支持配置full用于开启全量重计算。
78 78 
@@ -115,7 +115,7 @@
115--save : 取值来自SAVE_PATH,权重保存路径。115--save : 取值来自SAVE_PATH,权重保存路径。
116注:仅有该值配置时才会进行权重保存116注:仅有该值配置时才会进行权重保存
117 117 
118--ckpt-format: 支持配置列表[torch,torch_dcp],权重保存方式。推荐优先使用[torch_dcp](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/torch_dcp.md)。118--ckpt-format: 支持配置列表[torch,torch_dcp],权重保存方式。推荐优先使用[torch_dcp](https://gitcode.com/Ascend/MindSpeed/blob/master/docs/zh/features/fsdp2.md)。
119 119 
120注:1、当在使用fsdp2进行模型训练时,仅支持使用torch_dcp配置。120注:1、当在使用fsdp2进行模型训练时,仅支持使用torch_dcp配置。
1212、OUTPUT_ARGS下设置--ckpt-format为torch_dcp与GPT_ARGS下使能--ckpt-format torch_dcp二者作用相同,择一即可。1212、OUTPUT_ARGS下设置--ckpt-format为torch_dcp与GPT_ARGS下使能--ckpt-format torch_dcp二者作用相同,择一即可。
Mdocs/zh/pytorch/model-migration.md+74-73
@@ -54,7 +54,7 @@ NVIDIA GPU采用CUDA(Compute Unified Device Architecture)的并行计算架
54目前已知的不支持场景:54目前已知的不支持场景:
55 55 
56当前不支持使用DP(Data Parallel,数据并行)模式的模型迁移。若用户训练脚本中包含NPU平台不支持的torch.nn.parallel.DataParallel接口,则需手动修改该接口为torch.nn.parallel.DistributedDataParallel接口,以执行多卡训练。原脚本需要在GPU环境下基于Python3.10 及以上跑通。56当前不支持使用DP(Data Parallel,数据并行)模式的模型迁移。若用户训练脚本中包含NPU平台不支持的torch.nn.parallel.DataParallel接口,则需手动修改该接口为torch.nn.parallel.DistributedDataParallel接口,以执行多卡训练。原脚本需要在GPU环境下基于Python3.10 及以上跑通。
57APEX库中的FusedAdam融合优化器,目前不支持使用自动迁移或PyTorch GPU2Ascend工具迁移该优化器,需用户手工进行迁移,具体修改方法可单击[Link](https://gitcode.com/Ascend/apex#apexoptimizers)。57APEX库中的FusedAdam融合优化器,目前不支持使用自动迁移或PyTorch GPU2Ascend工具迁移该优化器,需用户手工进行迁移,具体修改方法[Link](https://gitcode.com/Ascend/apex#apexoptimizers)。
58大模型迁移暂不支持bmtrain框架的迁移。58大模型迁移暂不支持bmtrain框架的迁移。
59bitsandbytes已支持在昇腾上进行安装,具体可单击[Supported Backends](https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/docs/source/installation.mdx#supported-backendsmulti-backend-supported-backends)进行参考,目前仅支持NF4量化/反量化迁移,用于LLM QLoRA微调,其余功能暂不支持。59bitsandbytes已支持在昇腾上进行安装,具体可单击[Supported Backends](https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/docs/source/installation.mdx#supported-backendsmulti-backend-supported-backends)进行参考,目前仅支持NF4量化/反量化迁移,用于LLM QLoRA微调,其余功能暂不支持。
60大模型迁移暂不支持colossai三方库中HybridAdam优化器相关接口的迁移。60大模型迁移暂不支持colossai三方库中HybridAdam优化器相关接口的迁移。
@@ -158,95 +158,96 @@ export CPU_AFFINITY_CONF=<mode>,npu<value1>:<value2>-<value3>
158 158 
1591. 仓库拉取1591. 仓库拉取
160 160 
161 ```shell161 ```shell
162 git clone https://gitcode.com/Ascend/MindSpeed-MM.git162 git clone https://gitcode.com/Ascend/MindSpeed-MM.git
163 git clone https://github.com/NVIDIA/Megatron-LM.git163 git clone https://github.com/NVIDIA/Megatron-LM.git
164 cd Megatron-LM164 cd Megatron-LM
165 git checkout core_v0.12.1165 git checkout core_v0.12.1
166 cp -r megatron ../MindSpeed-MM/166 cp -r megatron ../MindSpeed-MM/
167 cd ..167 cd ..
168 cd MindSpeed-MM168 cd MindSpeed-MM
169 mkdir logs169 mkdir logs
170 mkdir data170 mkdir data
171 mkdir ckpt171 mkdir ckpt
172 ```172 ```
173 173 
1742. 环境搭建1742. 环境搭建
175 MindSpeed MM套件基于MindSpeed Core构建,采用类Megatron框架,安装方式如下:
176 175 
177 ```bash176 MindSpeed MM套件基于MindSpeed Core构建,采用类Megatron框架,安装方式如下:
178 # python3.10
179 conda create -n test python=3.10
180 conda activate test
181 177 
182 # 安装 torch 和 torch_npu,注意要选择对应python版本、x86或arm的torch、torch_npu及apex包178 ```bash
183 # 下载路径参考 https://www.hiascend.com/document/detail/zh/Pytorch/730/configandinstg/instg/insg_0001.html179 # python3.10
184 pip install torch-2.7.1-cp310-cp310-manylinux_2_28_aarch64.whl180 conda create -n test python=3.10
185 pip install torch_npu-2.7.1*-cp310-cp310-manylinux_2_28_aarch64.whl181 conda activate test
186 182 
187 # apex for Ascend 参考 https://gitcode.com/Ascend/apex183 # 安装 torch torch_npu,注意要选择对应python版本、x86或arm的torch、torch_npu及apex
188 # 建议从原仓编译安装184 # 下载路径参考 https://www.hiascend.com/document/detail/zh/Pytorch/730/configandinstg/instg/insg_0001.html
185 pip install torch-2.7.1-cp310-cp310-manylinux_2_28_aarch64.whl
186 pip install torch_npu-2.7.1*-cp310-cp310-manylinux_2_28_aarch64.whl
189 187 
190 # 安装加速库188 # apex for Ascend 参考 https://gitcode.com/Ascend/apex
191 git clone https://gitcode.com/Ascend/MindSpeed.git189 # 建议从原仓编译安装
192 cd MindSpeed190 
193 # checkout commit from MindSpeed core_v0.12.1191 # 安装加速库
194 git checkout 5176c6f5f133111e55a404d82bd2dc14a809a6ab192 git clone https://gitcode.com/Ascend/MindSpeed.git
195 # 安装mindspeed及依赖193 cd MindSpeed
196 pip install -e .194 # checkout commit from MindSpeed core_v0.12.1
197 cd ..195 git checkout 5176c6f5f133111e55a404d82bd2dc14a809a6ab
198 # 安装mindspeed mm及依赖196 # 安装mindspeed及依赖
199 pip install -e .197 pip install -e .
200 ```198 cd ..
199 # 安装mindspeed mm及依赖
200 pip install -e .
201 ```
201 202 
202### 权重下载及转换203### 权重下载及转换
203 204 
2041. 权重下载2051. 权重下载
205 206 
206 从Hugging Face库下载对应的模型权重:207 从Hugging Face库下载对应的模型权重:
207 208 
208 模型地址: [Qwen2-VL-7B](https://huggingface.co/Qwen/Qwen2-VL-7B-Instruct/tree/main),209 模型地址: [Qwen2-VL-7B](https://huggingface.co/Qwen/Qwen2-VL-7B-Instruct/tree/main),
209 将下载的模型权重保存到本地的`ckpt/hf_path/Qwen2-VL-*B-Instruct`目录下。210 将下载的模型权重保存到本地的`ckpt/hf_path/Qwen2-VL-*B-Instruct`目录下。
210 注意:(*表示对应的尺寸)。211 注意:(*表示对应的尺寸)。
211 212 
2122. 权重转换(hf2mm)2132. 权重转换(hf2mm)
213
214 MindSpeed MM修改了部分原始网络的结构名称,使用`mm-convert`工具对原始预训练权重进行转换。该工具实现了Hugging Face权重和MindSpeed MM权重的互相转换以及PP(Pipeline Parallel)权重的重切分。参考[权重转换工具](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/features/mm_convert.md)
215 214 
216 ```bash215 MindSpeed MM修改了部分原始网络的结构名称,使用`mm-convert`工具对原始预训练权重进行转换。该工具实现了Hugging Face权重和MindSpeed MM权重的互相转换以及PP(Pipeline Parallel)权重的重切分。参考[权重转换工具](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/features/mm_convert.md)
217 # 7b
218 mm-convert Qwen2VLConverter hf_to_mm \
219 --cfg.mm_dir "ckpt/mm_path/Qwen2-VL-7B-Instruct" \
220 --cfg.hf_config.hf_dir "ckpt/hf_path/Qwen2-VL-7B-Instruct" \
221 --cfg.parallel_config.llm_pp_layers [[1,10,10,7]] \
222 --cfg.parallel_config.vit_pp_layers [[32,0,0,0]] \
223 --cfg.parallel_config.tp_size 1
224 ```
225 216 
226 如果需要用转换后模型训练的话,同步修改`examples/qwen2vl/finetune_qwen2vl_7b.sh`中的`LOAD_PATH`参数,该路径为转换后或者切分后的权重,注意与原始权重 `ckpt/hf_path/Qwen2-VL-7B-Instruct`进行区分。217 ```bash
218 # 7b
219 mm-convert Qwen2VLConverter hf_to_mm \
220 --cfg.mm_dir "ckpt/mm_path/Qwen2-VL-7B-Instruct" \
221 --cfg.hf_config.hf_dir "ckpt/hf_path/Qwen2-VL-7B-Instruct" \
222 --cfg.parallel_config.llm_pp_layers [[1,10,10,7]] \
223 --cfg.parallel_config.vit_pp_layers [[32,0,0,0]] \
224 --cfg.parallel_config.tp_size 1
225 ```
227 226 
228 ```shell227 如果需要用转换后模型训练的话,同步修改`examples/qwen2vl/finetune_qwen2vl_7b.sh`中的`LOAD_PATH`参数,该路径为转换后或者切分后的权重,注意与原始权重 `ckpt/hf_path/Qwen2-VL-7B-Instruct`进行区分。
229 LOAD_PATH="ckpt/mm_path/Qwen2-VL-7B-Instruct"228 
230 ```229 ```shell
230 LOAD_PATH="ckpt/mm_path/Qwen2-VL-7B-Instruct"
231 ```
231 232 
2323. 训练后权重转回Hugging Face格式2333. 训练后权重转回Hugging Face格式
233 234 
234 ```bash235 ```bash
235 mm-convert Qwen2VLConverter mm_to_hf \236 mm-convert Qwen2VLConverter mm_to_hf \
236 --cfg.save_hf_dir "ckpt/mm_to_hf/Qwen2-VL-7B-Instruct" \237 --cfg.save_hf_dir "ckpt/mm_to_hf/Qwen2-VL-7B-Instruct" \
237 --cfg.mm_dir "ckpt/mm_path/Qwen2-VL-7B-Instruct" \238 --cfg.mm_dir "ckpt/mm_path/Qwen2-VL-7B-Instruct" \
238 --cfg.hf_config.hf_dir "ckpt/hf_path/Qwen2-VL-7B-Instruct" \239 --cfg.hf_config.hf_dir "ckpt/hf_path/Qwen2-VL-7B-Instruct" \
239 --cfg.parallel_config.llm_pp_layers [1,10,10,7] \240 --cfg.parallel_config.llm_pp_layers [1,10,10,7] \
240 --cfg.parallel_config.vit_pp_layers [32,0,0,0] \241 --cfg.parallel_config.vit_pp_layers [32,0,0,0] \
241 --cfg.parallel_config.tp_size 1242 --cfg.parallel_config.tp_size 1
242 # 其中:243 # 其中:
243 # save_hf_dir: mm微调后转换回hf模型格式的目录244 # save_hf_dir: mm微调后转换回hf模型格式的目录
244 # mm_dir: 微调后保存的权重目录245 # mm_dir: 微调后保存的权重目录
245 # hf_dir: Hugging Face权重目录246 # hf_dir: Hugging Face权重目录
246 # llm_pp_layers: llm在每个卡上切分的层数,注意要和微调时model.json中配置的pipeline_num_layers一致247 # llm_pp_layers: llm在每个卡上切分的层数,注意要和微调时model.json中配置的pipeline_num_layers一致
247 # vit_pp_layers: vit在每个卡上切分的层数,注意要和微调时model.json中配置的pipeline_num_layers一致248 # vit_pp_layers: vit在每个卡上切分的层数,注意要和微调时model.json中配置的pipeline_num_layers一致
248 # tp_size: tp并行数量,注意要和微调启动脚本中的配置一致249 # tp_size: tp并行数量,注意要和微调启动脚本中的配置一致
249 ```250 ```
250 251 
251### 数据集准备252### 数据集准备
252 253 
Mexamples/bagel/README.md+30-30
@@ -7,18 +7,18 @@
7 7 
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10- [环境安装](#jump1)10- [环境安装](#环境安装)
11 - [环境搭建](#jump1.1)11 - [环境搭建](#1-环境搭建)
12- [权重下载及转换](#jump2)12- [权重下载及转换](#权重下载及转换)
13 - [权重下载](#jump2.1)13 - [权重下载](#1-权重下载)
14 - [权重转换](#jump2.2)14 - [权重转换](#2-权重转换hf2mm)
15- [数据集准备及处理](#jump3)15- [数据集准备及处理](#数据集准备及处理)
16 - [数据集下载](#jump3.1)16 - [数据集下载](#1-数据集下载)
17- [微调](#jump4)17- [微调](#微调)
18 - [准备工作](#jump4.1)18 - [准备工作](#1-准备工作)
19 - [配置参数](#jump4.2)19 - [配置参数](#2-配置参数)
20 - [启动微调](#jump4.3)20 - [启动微调](#3-启动微调)
21- [环境变量声明](#jump10)21- [环境变量声明](#环境变量声明)
22 22 
23## 版本说明23## 版本说明
24 24 
@@ -26,7 +26,7 @@
26 26 
27【训练】27【训练】
28 28 
29```shell29```bash
30url=https://github.com/bytedance-seed/BAGEL30url=https://github.com/bytedance-seed/BAGEL
31commit_id = 57c39031commit_id = 57c390
32```32```
@@ -62,32 +62,35 @@ bash scripts/install.sh --arch x86 --msid 93c45456c7044bacddebc5072316c01006c938
62 62 
63```bash63```bash
64bash scripts/install.sh --arch arm --msid 93c45456c7044bacddebc5072316c01006c938f964bash scripts/install.sh --arch arm --msid 93c45456c7044bacddebc5072316c01006c938f9
65```
65 66 
66---67---
67<a id="jump2"></a>68<a id="jump2"></a>
69 
68## 权重下载及转换70## 权重下载及转换
69 71 
70<a id="jump2.1"></a>72<a id="jump2.1"></a>
73 
71### 1. 权重下载74### 1. 权重下载
72 75 
73从Huggingface库下载对应的模型权重:76从Huggingface库下载对应的模型权重:
77 
74- 模型地址: [BAGEL-7B-MoT](https://huggingface.co/ByteDance-Seed/BAGEL-7B-MoT/tree/main);78- 模型地址: [BAGEL-7B-MoT](https://huggingface.co/ByteDance-Seed/BAGEL-7B-MoT/tree/main);
75 79 
76 将下载的模型权重保存到本地的`ckpt/hf_path/BAGEL-7B-MoT`目录下。80 将下载的模型权重保存到本地的`ckpt/hf_path/BAGEL-7B-MoT`目录下。
77 81 
78 <a id="jump2.2"></a>82<a id="jump2.2"></a>
83 
79### 2. 权重转换(hf2mm)84### 2. 权重转换(hf2mm)
80 85 
81Bagel模型需要对下载后的权重进行权重转换,运行权重转换脚本:86Bagel模型需要对下载后的权重进行权重转换,运行权重转换脚本:
82```
83 87 
88```bash
84# Bagel89# Bagel
85 
86mm-convert BagelConverter hf_to_mm \90mm-convert BagelConverter hf_to_mm \
87 --cfg.source_path <./ckpt/hf_path/BAGEL-7B-MoT/> \91 --cfg.source_path <./ckpt/hf_path/BAGEL-7B-MoT/> \
88 --cfg.target_path <./ckpt/mm_path/BAGEL-7B-MoT/> \92 --cfg.target_path <./ckpt/mm_path/BAGEL-7B-MoT/> \
89 93```
90```shell
91 94 
92权重转换脚本的参数说明如下:95权重转换脚本的参数说明如下:
93 96 
@@ -105,15 +108,15 @@ mm-convert BagelConverter hf_to_mm \
105 108 
106### 1. 数据集下载109### 1. 数据集下载
107 110 
108```111```bash
109 112 
110<https://lf3-static.bytednsdoc.com/obj/eden-cn/nuhojubrps/bagel_example.zip>113<https://lf3-static.bytednsdoc.com/obj/eden-cn/nuhojubrps/bagel_example.zip>
111 114 
112```shell115```
113 116 
114将数据处理成如下格式117将数据处理成如下格式
115 118 
116```119```bash
117 120 
118</dataset>121</dataset>
119bagel_example122bagel_example
@@ -121,7 +124,7 @@ bagel_example
121└── vlm/124└── vlm/
122 ├── images/ # JPEG / PNG frames125 ├── images/ # JPEG / PNG frames
123 └── llava_ov_si.jsonl # vision‑language SFT conversations126 └── llava_ov_si.jsonl # vision‑language SFT conversations
124```shell127```
125 128 
126若需要自行添加数据集,请将数据处理成与上述数据统一格式129若需要自行添加数据集,请将数据处理成与上述数据统一格式
127 130 
@@ -156,15 +159,14 @@ bagel_example
156 "num_total_samples": 2000159 "num_total_samples": 2000
157 },160 },
158 ......161 ......
159```shell162```
160 163 
161【权重路径配置】164【权重路径配置】
162 165 
163| 配置文件 | 修改字段 | 修改说明 |166| 配置文件 | 修改字段 | 修改说明 |
164|-----------------------------------------------------| :---: |:------------------------------------|167|-----------------------------------------------------| :---: |:------------------------------------|
165| examples/bagel/data.json | model_path | 修改为下载的tokenizer的权重所对应的路径 |168| examples/bagel/data.json | model_path | 修改为下载的tokenizer的权重所对应的路径 |
166| examples/bagel/model.json | from_pretrained | 修改为权重转换后的权重路径 |169| examples/bagel/model.json | from_pretrained | 修改为权重转换后的权重路径 |
167 
168 170 
169<a id="jump4.3"></a>171<a id="jump4.3"></a>
170 172 
@@ -182,11 +184,9 @@ bagel_example
182 184 
183启动训练185启动训练
184 186 
185```187 ```bash
186 188 bash examples/bagel/finetune_bagel.sh
187bash examples/bagel/finetune_bagel.sh189 ```
188 
189```shell
190 190 
191## 环境变量声明191## 环境变量声明
192 192 
Mexamples/cogvideox/README.md+76-76
@@ -286,19 +286,19 @@ CogvideoX训练阶段的启动文件为shell脚本,主要分为如下4个:
286 286 
2871. 权重配置2871. 权重配置
288 288 
289 需根据实际任务情况在启动脚本文件(如`pretrain_cogvideox_i2v.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径,如`LOAD_PATH="./CogVideoX-5B-Converted"`,其中`./CogVideoX-5B-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。289 需根据实际任务情况在启动脚本文件(如`pretrain_cogvideox_i2v.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径,如`LOAD_PATH="./CogVideoX-5B-Converted"`,其中`./CogVideoX-5B-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。
290 290 
291根据需要填写`SAVE_PATH`变量中的路径,用以保存训练后的权重。291 根据需要填写`SAVE_PATH`变量中的路径,用以保存训练后的权重。
292 292 
2932. 数据集路径配置2932. 数据集路径配置
294 294 
295 根据实际情况修改`data.json`中的数据集路径,分别为`"data_path":"/data_path/data.jsonl"`、`"data_folder":"/data_path/"`,替换`"/data_path/"`为实际的数据集路径。295 根据实际情况修改`data.json`中的数据集路径,分别为`"data_path":"/data_path/data.jsonl"`、`"data_folder":"/data_path/"`,替换`"/data_path/"`为实际的数据集路径。
296 296 
2973. VAE及T5模型路径配置2973. VAE及T5模型路径配置
298 298 
299 根据实际情况修改模型参数配置文件(如`model_cogvideox_i2v.json`)以及`data.json`文件中VAE及T5模型文件的实际路径。其中,T5文件的路径字段为`"from_pretrained": "5b-cogvideo/tokenizer"`及`"from_pretrained": "5b-cogvideo"`,替换`5b-cogvideo`为实际的路径;VAE模型文件的路径字段为`"from_pretrained": "3d-vae.pt"`,替换`3d-vae.pt`为实际的路径。299 根据实际情况修改模型参数配置文件(如`model_cogvideox_i2v.json`)以及`data.json`文件中VAE及T5模型文件的实际路径。其中,T5文件的路径字段为`"from_pretrained": "5b-cogvideo/tokenizer"`及`"from_pretrained": "5b-cogvideo"`,替换`5b-cogvideo`为实际的路径;VAE模型文件的路径字段为`"from_pretrained": "3d-vae.pt"`,替换`3d-vae.pt`为实际的路径。
300 300 
301 当需要卸载VAE和T5时,将模型参数配置文件中的`"load_video_features": false`及`"load_text_features": false`字段中的值分别改为`true`。将`data.json`中的`"use_feature_data"`字段的值改为`true`。301 当需要卸载VAE和T5时,将模型参数配置文件中的`"load_video_features": false`及`"load_text_features": false`字段中的值分别改为`true`。将`data.json`中的`"use_feature_data"`字段的值改为`true`。
302 302 
3034. 切分策略配置3034. 切分策略配置
304 304 
@@ -311,54 +311,54 @@ CogvideoX训练阶段的启动文件为shell脚本,主要分为如下4个:
311* 当开启Encoder-DP时,需要将[model_cogvideox_i2v_1.5.json](i2v_1.5/model_cogvideox_i2v_1.5.json) 或者[model_cogvideox_t2v_1.5.json](t2v_1.5/model_cogvideox_t2v_1.5.json)中的`enable_encoder_dp`选项改为`true`。注意:需要在开启CP/TP,并且`load_video_features``false``load_text_features``false`才能启用,不兼容PP场景、VAE-CP、分层Zero。311* 当开启Encoder-DP时,需要将[model_cogvideox_i2v_1.5.json](i2v_1.5/model_cogvideox_i2v_1.5.json) 或者[model_cogvideox_t2v_1.5.json](t2v_1.5/model_cogvideox_t2v_1.5.json)中的`enable_encoder_dp`选项改为`true`。注意:需要在开启CP/TP,并且`load_video_features``false``load_text_features``false`才能启用,不兼容PP场景、VAE-CP、分层Zero。
312 312 
313* 当开启分层Zero时,需要在[pretrain_cogvideox_t2v_1.5.sh](t2v_1.5/pretrain_cogvideox_t2v_1.5.sh)或者[pretrain_cogvideox_i2v_1.5.sh](i2v_1.5/pretrain_cogvideox_i2v_1.5.sh)里面添加下面的参数。313* 当开启分层Zero时,需要在[pretrain_cogvideox_t2v_1.5.sh](t2v_1.5/pretrain_cogvideox_t2v_1.5.sh)或者[pretrain_cogvideox_i2v_1.5.sh](i2v_1.5/pretrain_cogvideox_i2v_1.5.sh)里面添加下面的参数。
314 注意:不兼容Encoder-DP特性、TP场景、PP场景,与VAE-CP效果未验证。314 注意:不兼容Encoder-DP特性、TP场景、PP场景,与VAE-CP效果未验证。
315 315 
316 ```shell316 ```shell
317 --layerzero \317 --layerzero \
318 --layerzero-config ./zero_config.yaml \318 --layerzero-config ./zero_config.yaml \
319 ```319 ```
320 320 
321 参数里面的yaml文件如下面所示:321 参数里面的yaml文件如下面所示:
322 322 
323 ```yaml323 ```yaml
324 zero3_size: 8 324 zero3_size: 8
325 transformer_layers:325 transformer_layers:
326 - mindspeed_mm.models.predictor.dits.sat_dit.VideoDiTBlock326 - mindspeed_mm.models.predictor.dits.sat_dit.VideoDiTBlock
327 backward_prefetch: 'BACKWARD_PRE'327 backward_prefetch: 'BACKWARD_PRE'
328 param_dtype: "bf16"328 param_dtype: "bf16"
329 reduce_dtype: "fp32"329 reduce_dtype: "fp32"
330 forward_prefetch: True330 forward_prefetch: True
331 limit_all_gathers: True331 limit_all_gathers: True
332 ignored_modules:332 ignored_modules:
333 - ae333 - ae
334 - text_encoder334 - text_encoder
335 ```335 ```
336 336 
337 该特性和TP不能兼容,开启时TP必须设置为1,使用该特性训练时,保存的权重需要使用下面的转换脚本进行后处理才能用于推理:337 该特性和TP不能兼容,开启时TP必须设置为1,使用该特性训练时,保存的权重需要使用下面的转换脚本进行后处理才能用于推理:
338 338
339 ```bash339 ```bash
340 source /usr/local/Ascend/cann/set_env.sh340 source /usr/local/Ascend/cann/set_env.sh
341 # your_mindspeed_path和your_megatron_path分别替换为之前下载的mindspeed和megatron的路径341 # your_mindspeed_path和your_megatron_path分别替换为之前下载的mindspeed和megatron的路径
342 export PYTHONPATH=$PYTHONPATH:<your_mindspeed_path>342 export PYTHONPATH=$PYTHONPATH:<your_mindspeed_path>
343 export PYTHONPATH=$PYTHONPATH:<your_megatron_path>343 export PYTHONPATH=$PYTHONPATH:<your_megatron_path>
344 # cfg.source_path为layerzero训练保存权重的路径,cfg.target_path为输出的megatron格式权重的路径344 # cfg.source_path为layerzero训练保存权重的路径,cfg.target_path为输出的megatron格式权重的路径
345 mm-convert CogVideoConverter layerzero_to_mm \345 mm-convert CogVideoConverter layerzero_to_mm \
346 --cfg.source_path ./save_ckpt/cogvideo/ \346 --cfg.source_path ./save_ckpt/cogvideo/ \
347 --cfg.target_path ./save_ckpt/cogvideo_megatron_ckpt/347 --cfg.target_path ./save_ckpt/cogvideo_megatron_ckpt/
348 ```348 ```
349 349 
350模型参数配置文件中的`head_dim`字段原模型默认配置为64。此字段调整为128会更加亲和昇腾。350模型参数配置文件中的`head_dim`字段原模型默认配置为64。此字段调整为128会更加亲和昇腾。
351 351 
352在sh启动脚本中可以修改运行卡数(NNODES为节点数,GPUS_PER_NODE为每个节点的卡数,相乘即为总运行卡数):352在sh启动脚本中可以修改运行卡数(NNODES为节点数,GPUS_PER_NODE为每个节点的卡数,相乘即为总运行卡数):
353 353 
354```shell354 ```shell
355GPUS_PER_NODE=8355 GPUS_PER_NODE=8
356MASTER_ADDR=localhost356 MASTER_ADDR=localhost
357MASTER_PORT=29501357 MASTER_PORT=29501
358NNODES=1 358 NNODES=1
359NODE_RANK=0 359 NODE_RANK=0
360WORLD_SIZE=$(($GPUS_PER_NODE * $NNODES))360 WORLD_SIZE=$(($GPUS_PER_NODE * $NNODES))
361```361 ```
362 362 
363### 启动预训练363### 启动预训练
364 364 
@@ -412,22 +412,22 @@ CogvideoX推理启动文件为shell脚本,主要分为如下4个:
412 412 
4131. 权重配置4131. 权重配置
414 414 
415 需根据实际任务情况在启动脚本文件(如`inference_cogvideox_i2v.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径,如`LOAD_PATH="./CogVideoX-5B-Converted"`,其中`./CogVideoX-5B-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。415 需根据实际任务情况在启动脚本文件(如`inference_cogvideox_i2v.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径,如`LOAD_PATH="./CogVideoX-5B-Converted"`,其中`./CogVideoX-5B-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。
416 416 
4172. VAE及T5模型路径配置4172. VAE及T5模型路径配置
418 418 
419 根据实际情况修改模型参数配置文件(如`inference_model_i2v.json`)中VAE及T5模型文件的实际路径。其中,T5文件的路径字段为`"from_pretrained": "5b-cogvideo"`,替换`5b-cogvideo`为实际的路径;VAE模型文件的路径字段为`"from_pretrained": "3d-vae.pt"`,替换`3d-vae.pt`为实际的路径。419 根据实际情况修改模型参数配置文件(如`inference_model_i2v.json`)中VAE及T5模型文件的实际路径。其中,T5文件的路径字段为`"from_pretrained": "5b-cogvideo"`,替换`5b-cogvideo`为实际的路径;VAE模型文件的路径字段为`"from_pretrained": "3d-vae.pt"`,替换`3d-vae.pt`为实际的路径。
420 420 
4213. prompts配置4213. prompts配置
422 422 
423| t2v prompts配置文件 | 修改字段 | 修改说明 |423 | t2v prompts配置文件 | 修改字段 | 修改说明 |
424|----------------------------------------|:--------------------------------:|:-----------------------------------:|424 |----------------------------------------|:--------------------------------:|:-----------------------------------:|
425| examples/cogvideox/samples_prompts.txt | 文件内容 | 自定义prompt |425 | examples/cogvideox/samples_prompts.txt | 文件内容 | 自定义prompt |
426 426 
427| i2v prompts配置文件 | 修改字段 | 修改说明 |427 | i2v prompts配置文件 | 修改字段 | 修改说明 |
428|--------------------------------------------|:--------------------------------:|:----------------:|428 |--------------------------------------------|:--------------------------------:|:----------------:|
429| examples/cogvideox/samples_i2v_images.txt | 文件内容 | 图片路径 |429 | examples/cogvideox/samples_i2v_images.txt | 文件内容 | 图片路径 |
430| examples/cogvideox/samples_i2v_prompts.txt | 文件内容 | 自定义prompt |430 | examples/cogvideox/samples_i2v_prompts.txt | 文件内容 | 自定义prompt |
431 431 
432如果使用训练后保存的权重改变模型切分策略进行推理,需要使用命令进行转换,权重转换source_path参数请配置训练时的保存路径432如果使用训练后保存的权重改变模型切分策略进行推理,需要使用命令进行转换,权重转换source_path参数请配置训练时的保存路径
433 433 
@@ -475,34 +475,34 @@ bash examples/cogvideox/i2v_1.5/inference_cogvideox_i2v_1.5.sh
475 475 
4761. 权重下载及转换4761. 权重下载及转换
477 477 
478 模型权重下载链接(链接下包含模型权重以及tokenizer和text_encoder):478 模型权重下载链接(链接下包含模型权重以及tokenizer和text_encoder):
479 479 
480 + [t2v下载链接](https://huggingface.co/THUDM/CogVideoX1.5-5B/tree/main)480 + [t2v下载链接](https://huggingface.co/THUDM/CogVideoX1.5-5B/tree/main)
481 + [i2v下载链接](https://huggingface.co/THUDM/CogVideoX1.5-5B-I2V/tree/main)481 + [i2v下载链接](https://huggingface.co/THUDM/CogVideoX1.5-5B-I2V/tree/main)
482
483 lora微调功能的权重转换使用`mm-convert`命令。
484 482 
485```bash483 lora微调功能的权重转换使用`mm-convert`命令。
486mm-convert CogVideoConverter --version <t2v or i2v> hf_to_mm \
487 --cfg.source_path <your source path> \
488 --cfg.target_path <target path>
489```
490 484 
491 VAE权重下载485 ```bash
486 mm-convert CogVideoConverter --version <t2v or i2v> hf_to_mm \
487 --cfg.source_path <your source path> \
488 --cfg.target_path <target path>
489 ```
492 490 
493+ [VAE下载链接](https://huggingface.co/zai-org/CogVideoX1.5-5B-SAT/tree/main/vae)491 VAE权重下载
492 
493 + [VAE下载链接](https://huggingface.co/zai-org/CogVideoX1.5-5B-SAT/tree/main/vae)
494 494 
4952. 数据集准备及处理4952. 数据集准备及处理
496 496 
497[lora数据集下载链接](https://huggingface.co/datasets/Wild-Heart/Disney-VideoGeneration-Dataset)497 [lora数据集下载链接](https://huggingface.co/datasets/Wild-Heart/Disney-VideoGeneration-Dataset)
498
499原始数据集不包含MM套件所需的data.jsonl文件形式,需要将原始数据集中prompt.txt和videos.txt合并生成data.jsonl文件。
500
501推荐使用提供的`cogvideox_lora_dataset_convert.py`脚本完成转换:
502 498 
503```bash499 原始数据集不包含MM套件所需的data.jsonl文件形式,需要将原始数据集中prompt.txt和videos.txt合并生成data.jsonl文件。
504python examples/cogvideox/cogvideox_lora_dataset_convert.py --video_path '/data_path/videos.txt' --prompt_path '/data_path/prompt.txt' --output_path '/data_path/data.jsonl'500 
505```501 推荐使用提供的`cogvideox_lora_dataset_convert.py`脚本完成转换:
502 
503 ```bash
504 python examples/cogvideox/cogvideox_lora_dataset_convert.py --video_path '/data_path/videos.txt' --prompt_path '/data_path/prompt.txt' --output_path '/data_path/data.jsonl'
505 ```
506 506 
507### 配置参数507### 配置参数
508 508 
@@ -524,20 +524,20 @@ CogvideoX lora微调阶段的启动文件为shell脚本,主要分为如下2个
524 524 
5251. 权重配置5251. 权重配置
526 526 
527 权重转换完成后根据实际任务情况在启动脚本文件(如`finetune_cogvideox_lora_i2v_1.5.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径,如`LOAD_PATH="./CogVideoX-5B-Converted"`,其中`./CogVideoX-5B-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。527 权重转换完成后根据实际任务情况在启动脚本文件(如`finetune_cogvideox_lora_i2v_1.5.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径,如`LOAD_PATH="./CogVideoX-5B-Converted"`,其中`./CogVideoX-5B-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。
528 根据需要填写`SAVE_PATH`变量中的路径,用以保存训练后的lora权重。528 根据需要填写`SAVE_PATH`变量中的路径,用以保存训练后的lora权重。
529 529 
5302. 数据集路径配置5302. 数据集路径配置
531 531 
532 准备好数据集后,根据实际情况修改`data.json`中的数据集路径,分别为`"data_path":"/data_path/data.jsonl"`、`"data_folder":"/data_path/"`,替换`"/data_path/"`为实际的数据集路径。532 准备好数据集后,根据实际情况修改`data.json`中的数据集路径,分别为`"data_path":"/data_path/data.jsonl"`、`"data_folder":"/data_path/"`,替换`"/data_path/"`为实际的数据集路径。
533 533 
5343. VAE及T5模型路径配置5343. VAE及T5模型路径配置
535 535 
536 请参考预训练相同章节536 请参考预训练相同章节
537 537 
5384. 切分策略配置5384. 切分策略配置
539 539 
540 请参考预训练相同章节540 请参考预训练相同章节
541 541 
542### 启动lora微调542### 启动lora微调
543 543 
Mexamples/cosyvoice3/README.md+1-1
@@ -43,7 +43,7 @@ commit_id=1822c5c
43 43 
44【模型开发时推荐使用配套的环境版本】44【模型开发时推荐使用配套的环境版本】
45 45 
46请参考[安装指南](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/user-guide/installation.md),完成昇腾软件安装。46请参考[安装指南](https://gitcode.com/Ascend/MindSpeed-MM/tree/master/docs/zh/pytorch/installation.md),完成昇腾软件安装。
47 47 
48### 2. 环境搭建48### 2. 环境搭建
49 49 
Mexamples/dancegrpo/README.md+51-50
@@ -5,17 +5,18 @@
5 5 
6## 目录6## 目录
7 7 
8- [简介](#jump0)8- [简介](#简介)
9- [环境安装](#jump1)9- [环境安装](#环境安装)
10 - [仓库拉取](#jump1.1)10 - [仓库拉取](#1-仓库拉取)
11 - [环境搭建](#jump1.2)11 - [环境搭建](#2-环境搭建)
12- [权重下载](#jump2)12- [权重下载](#权重下载)
13- [数据集准备及处理](#jump3)13- [数据集准备及处理](#数据集准备及处理)
14- [训练](#jump4)14- [训练](#训练)
15 - [准备工作](#jump4.1)15 - [准备工作](#1-准备工作)
16 - [启动训练](#jump4.2)16 - [三方库修改](#2-三方库修改)
17 - [启动训练](#3-启动训练)
17- [性能数据](#性能数据)18- [性能数据](#性能数据)
18- [FAQ](#jump5)19- [FAQ](#faq)
19 20 
20<a id="jump0"></a>21<a id="jump0"></a>
21 22 
@@ -174,61 +175,61 @@ echo $(conda info --envs | grep test) | awk '{print $NF}'
174 175 
1751. 将文件`lib/python3.10/site-packages/diffusers/models/embeddings.py``FluxPosEmbed`类的`forward`函数的如下代码:1761. 将文件`lib/python3.10/site-packages/diffusers/models/embeddings.py``FluxPosEmbed`类的`forward`函数的如下代码:
176 177 
177```python178 ```python
178is_mps = ids.device.type == "mps"179 is_mps = ids.device.type == "mps"
179freqs_dtype = torch.float32 if is_mps else torch.float64180 freqs_dtype = torch.float32 if is_mps else torch.float64
180```181 ```
181 182 
182修改为:183 修改为:
183 184 
184```python185 ```python
185is_mps = ids.device.type == "mps"186 is_mps = ids.device.type == "mps"
186is_npu = ids.device.type == "npu"187 is_npu = ids.device.type == "npu"
187freqs_dtype = torch.float32 if is_mps or is_npu else torch.float64188 freqs_dtype = torch.float32 if is_mps or is_npu else torch.float64
188```189 ```
189 190 
1902. 将文件`lib/python3.10/site-packages/diffusers/models/embeddings.py`中的`get_1d_rotary_pos_embed`函数的如下代码:1912. 将文件`lib/python3.10/site-packages/diffusers/models/embeddings.py`中的`get_1d_rotary_pos_embed`函数的如下代码:
191 192 
192```python193 ```python
193freqs_cos = freqs.cos().repeat_interleave(2, dim=1).float() # [S, D]194 freqs_cos = freqs.cos().repeat_interleave(2, dim=1).float() # [S, D]
194freqs_sin = freqs.sin().repeat_interleave(2, dim=1).float() # [S, D]195 freqs_sin = freqs.sin().repeat_interleave(2, dim=1).float() # [S, D]
195```196 ```
196 197 
197修改为:198 修改为:
198 199 
199```python200 ```python
200freqs_cos = freqs.cos().T.repeat_interleave(2, dim=0).T.contiguous().float()201 freqs_cos = freqs.cos().T.repeat_interleave(2, dim=0).T.contiguous().float()
201freqs_sin = freqs.sin().T.repeat_interleave(2, dim=0).T.contiguous().float()202 freqs_sin = freqs.sin().T.repeat_interleave(2, dim=0).T.contiguous().float()
202```203 ```
203 204 
2043. 将文件`lib/python3.10/site-packages/diffusers/models/attention_processor.py``Attention`类的`__init__`函数的如下代码:2053. 将文件`lib/python3.10/site-packages/diffusers/models/attention_processor.py``Attention`类的`__init__`函数的如下代码:
205 206 
206```python207 ```python
207elif qk_norm == "rms_norm":208 elif qk_norm == "rms_norm":
208 self.norm_q = RMSNorm(dim_head, eps=eps)209 self.norm_q = RMSNorm(dim_head, eps=eps)
209 self.norm_k = RMSNorm(dim_head, eps=eps)210 self.norm_k = RMSNorm(dim_head, eps=eps)
210```211 ```
211 212 
212修改为:213 修改为:
213 214 
214```python215 ```python
215elif qk_norm == "rms_norm":216 elif qk_norm == "rms_norm":
216 self.norm_q = NpuFusedRMSNorm(dim_head, eps=eps)217 self.norm_q = NpuFusedRMSNorm(dim_head, eps=eps)
217 self.norm_k = NpuFusedRMSNorm(dim_head, eps=eps)218 self.norm_k = NpuFusedRMSNorm(dim_head, eps=eps)
218```219 ```
219 220 
220增加如下类:221 增加如下类:
221 222 
222```python223 ```python
223class NpuFusedRMSNorm(torch.nn.Module):224 class NpuFusedRMSNorm(torch.nn.Module):
224 def __init__(self, hidden_size, eps=1e-6):225 def __init__(self, hidden_size, eps=1e-6):
225 super().__init__()226 super().__init__()
226 self.weight = nn.Parameter(torch.ones(hidden_size))227 self.weight = nn.Parameter(torch.ones(hidden_size))
227 self.eps = eps228 self.eps = eps
228 229 
229 def forward(self, x):230 def forward(self, x):
230 return torch_npu.npu_rms_norm(x.to(self.weight.dtype), self.weight, epsilon=self.eps)[0]231 return torch_npu.npu_rms_norm(x.to(self.weight.dtype), self.weight, epsilon=self.eps)[0]
231```232 ```
232 233 
233### 3. 启动训练234### 3. 启动训练
234 235 
Mexamples/deepseekocr/README.md+18-18
@@ -5,16 +5,16 @@
5 5 
6## 目录6## 目录
7 7 
8- [简介](#jump0)8- [简介](#简介)
9- [环境安装](#jump1)9- [环境安装](#环境安装)
10 - [仓库拉取](#jump1.1)10 - [仓库拉取](#1-仓库拉取)
11 - [环境搭建](#jump1.2)11 - [环境搭建](#2-环境搭建)
12- [权重下载](#jump2)12- [权重下载](#权重下载)
13- [数据集准备及处理](#jump3)13- [数据集准备及处理](#数据集准备及处理)
14- [训练](#jump4)14- [训练](#训练)
15 - [准备工作](#jump4.1)15 - [准备工作](#1-准备工作)
16 - [启动训练](#jump4.2)16 - [启动训练](#2-启动训练)
17- [环境变量声明](#jump6)17- [环境变量声明](#环境变量声明)
18 18 
19<a id="jump0"></a>19<a id="jump0"></a>
20 20 
@@ -134,11 +134,11 @@ $playground
134 134 
1351. 以图文理解的微调任务为例,可根据实际情况修改[启动脚本](../../examples/deepseekocr/finetune_ocr.sh)的配置,以下配置必须修改:1351. 以图文理解的微调任务为例,可根据实际情况修改[启动脚本](../../examples/deepseekocr/finetune_ocr.sh)的配置,以下配置必须修改:
136 136 
137``` shell137 ``` shell
138DATA_PATH="./data/output.jsonl" # 数据集的文件138 DATA_PATH="./data/output.jsonl" # 数据集的文件
139DATA_DIR="./data" # 数据集依赖图文等文件的目录139 DATA_DIR="./data" # 数据集依赖图文等文件的目录
140LOAD_PATH="./ckpt/deepseek-ai/DeepSeek-OCR" # huggingface下载的权重路径140 LOAD_PATH="./ckpt/deepseek-ai/DeepSeek-OCR" # huggingface下载的权重路径
141```141 ```
142 142 
1432. 根据使用机器的情况,修改`NNODES``NPUS_PER_NODE`配置, 例如单机 A2 可设置`NNODES`为 1 、`NPUS_PER_NODE`为8;1432. 根据使用机器的情况,修改`NNODES``NPUS_PER_NODE`配置, 例如单机 A2 可设置`NNODES`为 1 、`NPUS_PER_NODE`为8;
144 144 
@@ -146,9 +146,9 @@ LOAD_PATH="./ckpt/deepseek-ai/DeepSeek-OCR" # huggingface下载的权重路径
146 146 
1474. 上述注意点修改完毕后,可启动脚本开启训练:1474. 上述注意点修改完毕后,可启动脚本开启训练:
148 148 
149```bash149 ```bash
150bash examples/deepseekocr/finetune_ocr.sh150 bash examples/deepseekocr/finetune_ocr.sh
151```151 ```
152 152 
153<a id="jump6"></a>153<a id="jump6"></a>
154 154 
Mexamples/deepseekocr2/README.md+18-18
@@ -5,16 +5,16 @@
5 5 
6## 目录6## 目录
7 7 
8- [简介](#jump0)8- [简介](#简介)
9- [环境安装](#jump1)9- [环境安装](#环境安装)
10 - [仓库拉取](#jump1.1)10 - [仓库拉取](#1-仓库拉取)
11 - [环境搭建](#jump1.2)11 - [环境搭建](#2-环境搭建)
12- [权重下载](#jump2)12- [权重下载](#权重下载)
13- [数据集准备及处理](#jump3)13- [数据集准备及处理](#数据集准备及处理)
14- [训练](#jump4)14- [训练](#训练)
15 - [准备工作](#jump4.1)15 - [准备工作](#1-准备工作)
16 - [启动训练](#jump4.2)16 - [启动训练](#2-启动训练)
17- [环境变量声明](#jump6)17- [环境变量声明](#环境变量声明)
18 18 
19<a id="jump0"></a>19<a id="jump0"></a>
20 20 
@@ -125,11 +125,11 @@ $playground
125 125 
1261. 以图文理解的微调任务为例,可根据实际情况修改[启动脚本](../../examples/deepseekocr/finetune_ocr.sh)的配置,以下配置必须修改:1261. 以图文理解的微调任务为例,可根据实际情况修改[启动脚本](../../examples/deepseekocr/finetune_ocr.sh)的配置,以下配置必须修改:
127 127 
128``` shell128 ``` shell
129DATA_PATH="./data/output.jsonl" # 数据集的文件129 DATA_PATH="./data/output.jsonl" # 数据集的文件
130DATA_DIR="./data" # 数据集依赖图文等文件的目录130 DATA_DIR="./data" # 数据集依赖图文等文件的目录
131LOAD_PATH="./ckpt/deepseek-ai/DeepSeek-OCR-2" # huggingface下载的权重路径131 LOAD_PATH="./ckpt/deepseek-ai/DeepSeek-OCR-2" # huggingface下载的权重路径
132```132 ```
133 133 
1342. 根据使用机器的情况,修改`NNODES``NPUS_PER_NODE`配置, 例如可设置`NNODES`为 1 、`NPUS_PER_NODE`为8;1342. 根据使用机器的情况,修改`NNODES``NPUS_PER_NODE`配置, 例如可设置`NNODES`为 1 、`NPUS_PER_NODE`为8;
135 135 
@@ -137,9 +137,9 @@ LOAD_PATH="./ckpt/deepseek-ai/DeepSeek-OCR-2" # huggingface下载的权重路径
137 137 
1384. 上述注意点修改完毕后,可启动脚本开启训练:1384. 上述注意点修改完毕后,可启动脚本开启训练:
139 139 
140```bash140 ```bash
141bash examples/deepseekocr2/finetune_ocr2.sh141 bash examples/deepseekocr2/finetune_ocr2.sh
142```142 ```
143 143 
144<a id="jump6"></a>144<a id="jump6"></a>
145 145 
Mexamples/diffsynth/qwen_image_edit/README.md+41-39
@@ -3,14 +3,14 @@
3<p align="left">3<p align="left">
4</p>4</p>
5 5 
6- [Qwen Image Edit](#jump1)6- [Qwen Image Edit](#qwen-image-edit)
7 - [模型介绍](#模型介绍)7 - [模型介绍](#模型介绍)
8 - [版本说明](#版本说明)8 - [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11 - [微调](#微调)11 - [微调](#微调)
12 - [环境搭建](#环境搭建)12 - [环境搭建](#环境搭建)
13 - [微调](#jump2)13 - [微调](#微调-1)
14 - [推理](#推理)14 - [推理](#推理)
15 - [环境搭建及运行](#环境搭建及运行)15 - [环境搭建及运行](#环境搭建及运行)
16 - [环境变量声明](#环境变量声明)16 - [环境变量声明](#环境变量声明)
@@ -243,11 +243,11 @@ Qwen Image Edit 在 **昇腾芯片** 和 **参考芯片** 上的性能对比:
243 243 
244【Qwen Image Edit模型推理】244【Qwen Image Edit模型推理】
245 245 
246 ```shell246 ```shell
247 vim ./examples/qwen_image/model_inference/inference_qwen_image_edit_bf16.py # 进入运行推理的Python文件247 vim ./examples/qwen_image/model_inference/inference_qwen_image_edit_bf16.py # 进入运行推理的Python文件
248 ```248 ```
249 249 
250 1. 修改路径2501. 修改路径
251 251 
252 ```python252 ```python
253 transformer_path = "Qwen/Qwen-Image-Edit/transformer"253 transformer_path = "Qwen/Qwen-Image-Edit/transformer"
@@ -268,41 +268,42 @@ Qwen Image Edit 在 **昇腾芯片** 和 **参考芯片** 上的性能对比:
268 ```python268 ```python
269 transformer_path = "Qwen/Qwen-Image-Edit/transformer"269 transformer_path = "Qwen/Qwen-Image-Edit/transformer"
270 transformer_files = [270 transformer_files = [
271 "${transformer_path}/diffusion_pytorch_model-00001-of-00005.safetensors",271 "${transformer_path}/diffusion_pytorch_model-00001-of-00005.safetensors",
272 "${transformer_path}/diffusion_pytorch_model-00002-of-00005.safetensors",272 "${transformer_path}/diffusion_pytorch_model-00002-of-00005.safetensors",
273 "${transformer_path}/diffusion_pytorch_model-00003-of-00005.safetensors",273 "${transformer_path}/diffusion_pytorch_model-00003-of-00005.safetensors",
274 "${transformer_path}/diffusion_pytorch_model-00004-of-00005.safetensors",274 "${transformer_path}/diffusion_pytorch_model-00004-of-00005.safetensors",
275 "${transformer_path}/diffusion_pytorch_model-00005-of-00005.safetensors"275 "${transformer_path}/diffusion_pytorch_model-00005-of-00005.safetensors"
276 ]276 ]
277 277 
278 text_encoder_path = "Qwen/Qwen-Image-Edit/text_encoder"278 text_encoder_path = "Qwen/Qwen-Image-Edit/text_encoder"
279 text_encoder_files = [279 text_encoder_files = [
280 "${text_encoder_path}/model-00001-of-00004.safetensors",280 "${text_encoder_path}/model-00001-of-00004.safetensors",
281 "${text_encoder_path}/model-00002-of-00004.safetensors",281 "${text_encoder_path}/model-00002-of-00004.safetensors",
282 "${text_encoder_path}/model-00003-of-00004.safetensors",282 "${text_encoder_path}/model-00003-of-00004.safetensors",
283 "${text_encoder_path}/model-00004-of-00004.safetensors"283 "${text_encoder_path}/model-00004-of-00004.safetensors"
284 ]284 ]
285 ```285 ```
286 286 
287 2. 创建推理结果路径2872. 创建推理结果路径
288 ```shell
289 mkdir -p inference
290 ```
291 288 
292 3. 运行代码289 ```shell
290 mkdir -p inference
291 ```
293 292 
294 ```shell2933. 运行代码
295 source /usr/local/Ascend/cann/set_env.sh294 
296 python examples/qwen_image/model_inference/inference_qwen_image_edit_bf16.py295 ```shell
297 ```296 source /usr/local/Ascend/cann/set_env.sh
297 python examples/qwen_image/model_inference/inference_qwen_image_edit_bf16.py
298 ```
298 299 
299【lora微调Qwen Image Edit模型推理】300【lora微调Qwen Image Edit模型推理】
300 301 
301 ```shell302 ```shell
302 vim ./examples/qwen_image/model_inference/inference_qwen_image_edit_lora_bf16.py303 vim ./examples/qwen_image/model_inference/inference_qwen_image_edit_lora_bf16.py
303 ```304 ```
304 305 
305 1. 修改路径3061. 修改路径
306 307 
307 ```python308 ```python
308 transformer_path = "Qwen/Qwen-Image-Edit/transformer"309 transformer_path = "Qwen/Qwen-Image-Edit/transformer"
@@ -322,17 +323,18 @@ Qwen Image Edit 在 **昇腾芯片** 和 **参考芯片** 上的性能对比:
322 323 
323 `lora_path`是存放 lora 权重的绝对路径,其他权重同上324 `lora_path`是存放 lora 权重的绝对路径,其他权重同上
324 325 
325 2. 创建推理结果路径3262. 创建推理结果路径
326 ```shell
327 mkdir -p inference
328 ```
329 327 
330 3. 运行代码328 ```shell
329 mkdir -p inference
330 ```
331 331 
332 ```shell3323. 运行代码
333 source /usr/local/Ascend/cann/set_env.sh333 
334 python examples/qwen_image/model_inference/inference_qwen_image_edit_lora_bf16.py334 ```shell
335 ```335 source /usr/local/Ascend/cann/set_env.sh
336 python examples/qwen_image/model_inference/inference_qwen_image_edit_lora_bf16.py
337 ```
336 338
337<a id="jump3"></a>339<a id="jump3"></a>
338 340 
Mexamples/diffusers/flux-kontext/README.md+3-3
@@ -3,15 +3,15 @@
3<p align="left">3<p align="left">
4</p>4</p>
5 5 
6- [FLUX-Kontext](#jump1)6- [FLUX-Kontext](#flux-kontext)
7 - [模型介绍](#模型介绍)7 - [模型介绍](#模型介绍)
8 - [微调](#微调)8 - [微调](#微调)
9 - [环境搭建](#环境搭建)9 - [环境搭建](#环境搭建)
10 - [微调](#jump2)10 - [微调](#微调-1)
11 - [性能](#性能)11 - [性能](#性能)
12 - [推理](#推理)12 - [推理](#推理)
13 - [环境搭建及运行](#环境搭建及运行)13 - [环境搭建及运行](#环境搭建及运行)
14 - [性能](#jump3)14 - [性能](#性能-1)
15 - [环境变量声明](#环境变量声明)15 - [环境变量声明](#环境变量声明)
16- [引用](#引用)16- [引用](#引用)
17 - [公网地址说明](#公网地址说明)17 - [公网地址说明](#公网地址说明)
Mexamples/diffusers/flux/README.md+3-3
@@ -3,15 +3,15 @@
3<p align="left">3<p align="left">
4</p>4</p>
5 5 
6- [FLUX](#jump1)6- [FLUX](#flux)
7 - [模型介绍](#模型介绍)7 - [模型介绍](#模型介绍)
8 - [微调](#微调)8 - [微调](#微调)
9 - [环境搭建](#环境搭建)9 - [环境搭建](#环境搭建)
10 - [微调](#jump2)10 - [微调](#微调-1)
11 - [性能](#性能)11 - [性能](#性能)
12 - [推理](#推理)12 - [推理](#推理)
13 - [环境搭建及运行](#环境搭建及运行)13 - [环境搭建及运行](#环境搭建及运行)
14 - [性能](#jump3)14 - [性能](#性能-1)
15 - [环境变量声明](#环境变量声明)15 - [环境变量声明](#环境变量声明)
16- [引用](#引用)16- [引用](#引用)
17 - [公网地址说明](#公网地址说明)17 - [公网地址说明](#公网地址说明)
Mexamples/diffusers/flux2/README.md+10-10
@@ -3,20 +3,20 @@
3<p align="left">3<p align="left">
4</p>4</p>
5 5 
6- [FLUX2](#jump1)6- [FLUX2](#flux2)
7 - [模型介绍](#模型介绍)7 - [模型介绍](#模型介绍)
8 - [环境搭建](#环境搭建)8 - [环境搭建](#环境搭建)
9 - [微调T2I](#jump2)9 - [微调T2I](#微调t2i)
10 - [准备工作](#jump3)10 - [准备工作](#准备工作)
11 - [性能](#jump4)11 - [性能](#性能)
12 - [微调Img2Img](#jump5)12 - [微调Img2Img](#微调img2img)
13 - [准备工作](#jump6)13 - [准备工作](#准备工作-1)
14 - [性能](#jump7)14 - [性能](#性能-1)
15 - [推理](#推理)15 - [推理](#推理)
16 - [环境搭建及运行](#环境搭建及运行)16 - [环境搭建及运行](#环境搭建及运行)
17 - [推理T2I](#jump8)17 - [推理T2I](#推理t2i)
18 - [推理I2I](#jump9)18 - [推理I2I](#推理i2i)
19 - [性能](#jump10)19 - [性能](#性能-2)
20 - [环境变量声明](#环境变量声明)20 - [环境变量声明](#环境变量声明)
21- [引用](#引用)21- [引用](#引用)
22 - [公网地址说明](#公网地址说明)22 - [公网地址说明](#公网地址说明)
Mexamples/diffusers/hidream/README.md+3-3
@@ -3,18 +3,18 @@
3<p align="left">3<p align="left">
4</p>4</p>
5 5 
6- [HiDream](#jump1)6- [HiDream](#hidream-i1)
7 - [模型介绍](#模型介绍)7 - [模型介绍](#模型介绍)
8 - [版本说明](#版本说明)8 - [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11 - [微调](#微调)11 - [微调](#微调)
12 - [环境搭建](#环境搭建)12 - [环境搭建](#环境搭建)
13 - [微调](#jump2)13 - [微调](#微调-1)
14 - [微调性能](#微调性能)14 - [微调性能](#微调性能)
15 - [推理](#推理)15 - [推理](#推理)
16 - [环境搭建及运行](#环境搭建及运行)16 - [环境搭建及运行](#环境搭建及运行)
17 - [推理性能](#jump3)17 - [推理性能](#推理性能)
18 - [环境变量声明](#环境变量声明)18 - [环境变量声明](#环境变量声明)
19- [引用](#引用)19- [引用](#引用)
20 - [公网地址说明](#公网地址说明)20 - [公网地址说明](#公网地址说明)
Mexamples/diffusers/kolors/README.md+1-1
@@ -5,7 +5,7 @@
5 - [推理](#推理)5 - [推理](#推理)
6 - [环境搭建](#环境搭建)6 - [环境搭建](#环境搭建)
7 - [推理](#推理)7 - [推理](#推理)
8- [引用](#jump1)8- [引用](#引用)
9 - [公网地址说明](#公网地址说明)9 - [公网地址说明](#公网地址说明)
10 10 
11# kolors11# kolors
Mexamples/diffusers/qwen_image/README.md+2-2
@@ -3,14 +3,14 @@
3<p align="left">3<p align="left">
4</p>4</p>
5 5 
6- [Qwen Image](#jump1)6- [Qwen Image](#qwen-image)
7 - [模型介绍](#模型介绍)7 - [模型介绍](#模型介绍)
8 - [版本说明](#版本说明)8 - [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11 - [微调](#微调)11 - [微调](#微调)
12 - [环境搭建](#环境搭建)12 - [环境搭建](#环境搭建)
13 - [微调](#jump2)13 - [微调](#微调-1)
14 - [推理](#推理)14 - [推理](#推理)
15 - [环境搭建及运行](#环境搭建及运行)15 - [环境搭建及运行](#环境搭建及运行)
16 - [环境变量声明](#环境变量声明)16 - [环境变量声明](#环境变量声明)
Mexamples/diffusers/sana/README.md+3-3
@@ -3,15 +3,15 @@
3<p align="left">3<p align="left">
4</p>4</p>
5 5 
6- [SANA](#jump1)6- [SANA](#sana)
7 - [模型介绍](#模型介绍)7 - [模型介绍](#模型介绍)
8 - [微调](#微调)8 - [微调](#微调)
9 - [环境搭建](#环境搭建)9 - [环境搭建](#环境搭建)
10 - [微调](#jump2)10 - [微调](#微调-1)
11 - [性能](#性能)11 - [性能](#性能)
12 - [推理](#推理)12 - [推理](#推理)
13 - [环境搭建及运行](#环境搭建及运行)13 - [环境搭建及运行](#环境搭建及运行)
14 - [性能](#jump3)14 - [性能](#性能-1)
15 - [环境变量声明](#环境变量声明)15 - [环境变量声明](#环境变量声明)
16- [引用](#引用)16- [引用](#引用)
17 - [公网地址说明](#公网地址说明)17 - [公网地址说明](#公网地址说明)
Mexamples/diffusers/sd3/README.md+3-3
@@ -3,11 +3,11 @@
3<p align="left">3<p align="left">
4</p>4</p>
5 5 
6- [SD3/SD3.5](#jump1)6- [SD3/SD3.5](#stable-diffusion-3--stable-diffusion-35)
7 - [模型介绍](#模型介绍)7 - [模型介绍](#模型介绍)
8 - [微调](#微调)8 - [微调](#微调)
9 - [环境搭建](#环境搭建)9 - [环境搭建](#环境搭建)
10 - [微调](#jump2)10 - [微调](#微调-1)
11 - [性能](#性能)11 - [性能](#性能)
12 - [推理](#推理)12 - [推理](#推理)
13 - [环境搭建及运行](#环境搭建及运行)13 - [环境搭建及运行](#环境搭建及运行)
@@ -89,7 +89,7 @@
89 89 
90<a id="jump2"></a>90<a id="jump2"></a>
91 91 
92## 微调92### 微调
93 93 
941. 【准备微调数据集】941. 【准备微调数据集】
95 95 
Mexamples/diffusers/sdxl/README.md+7-7
@@ -3,19 +3,19 @@
3<p align="left">3<p align="left">
4</p>4</p>
5 5 
6- [SDXL](#jump1)6- [SDXL](#stable-diffusion-xl)
7 - [模型介绍](#模型介绍)7 - [模型介绍](#模型介绍)
8 - [预训练](#预训练)8 - [预训练](#预训练)
9 - [环境搭建](#环境搭建)9 - [环境搭建](#环境搭建)
10 - [预训练](#jump2)10 - [预训练](#预训练-1)
11 - [性能](#性能)11 - [性能](#性能)
12 - [微调](#微调)12 - [微调](#微调)
13 - [环境搭建](#jump3)13 - [环境搭建](#环境搭建-1)
14 - [微调](#jump3.1)14 - [微调](#微调-1)
15 - [性能](#jump3.2)15 - [性能](#性能-1)
16 - [推理](#推理)16 - [推理](#推理)
17 - [环境搭建及运行](#环境搭建及运行)17 - [环境搭建及运行](#环境搭建及运行)
18 - [性能](#jump4)18 - [性能](#性能-2)
19 - [环境变量声明](#环境变量声明)19 - [环境变量声明](#环境变量声明)
20- [引用](#引用)20- [引用](#引用)
21 - [公网地址说明](#公网地址说明)21 - [公网地址说明](#公网地址说明)
@@ -205,7 +205,7 @@
205 config_gc()205 config_gc()
206 ```206 ```
207 207 
208 <a id="jump2.1"></a>208 <a id="jump2.1"></a>
209 209 
210 3. 【Optional】Ubuntu系统需在文件1216行附近添加 `accelerator.print("")`210 3. 【Optional】Ubuntu系统需在文件1216行附近添加 `accelerator.print("")`
211 211 
Mexamples/funasr/README.md+0-1
@@ -15,7 +15,6 @@
15 - [权重下载](#1-权重下载)15 - [权重下载](#1-权重下载)
16- [数据集准备及处理](#数据集准备及处理)16- [数据集准备及处理](#数据集准备及处理)
17 - [数据集下载](#1-数据集下载)17 - [数据集下载](#1-数据集下载)
18 - [数据预处理](#2-数据预处理)
19- [微调](#微调)18- [微调](#微调)
20 - [准备工作](#1-准备工作)19 - [准备工作](#1-准备工作)
21 - [启动微调](#2-启动微调)20 - [启动微调](#2-启动微调)
Mexamples/glm4.1v/README.md+18-19
@@ -5,23 +5,22 @@
5 5 
6## 目录6## 目录
7 7 
8- [环境安装](#jump1)8- [环境安装](#环境安装)
9 - [仓库拉取](#jump1.1)9 - [仓库拉取](#1-仓库拉取)
10 - [环境搭建](#jump1.2)10 - [环境搭建](#2-环境搭建)
11- [权重下载及转换](#jump2)11- [权重下载及转换](#权重下载及转换)
12 - [权重下载](#jump2.1)12 - [权重下载](#1-权重下载)
13 - [权重转换hf2mm](#jump2.2)13 - [权重转换hf2mm](#2-权重转换hf2mm)
14- [数据集准备及处理](#jump3)14- [数据集准备及处理](#数据集准备及处理)
15 - [数据集下载](#jump3.1)15- [微调](#微调)
16- [微调](#jump4)16 - [准备工作](#1-准备工作)
17 - [准备工作](#jump4.1)17 - [配置参数](#2-配置参数)
18 - [配置参数](#jump4.2)18 - [启动微调](#3-启动微调)
19 - [启动微调](#jump4.3)19- [推理](#推理)
20- [推理](#jump5)20 - [配置参数](#1-配置参数)
21 - [准备工作](#jump5.1)21 - [启动推理](#2-启动推理)
22 - [启动推理](#jump5.2)22- [环境变量声明](#环境变量声明)
23- [环境变量声明](#jump8)23- [注意事项](#注意事项)
24- [注意事项](#jump9)
25 24 
26---25---
27<a id="jump1"></a>26<a id="jump1"></a>
@@ -288,7 +287,7 @@ bash examples/glm4.1v/finetune_glm4.1v_9b.sh
288 287 
289<a id="jump5.1"></a>288<a id="jump5.1"></a>
290 289 
291### 1配置参数290### 1. 配置参数
292 291 
293根据实际情况修改examples/glm4.1v/inference_glm4.1v_9b.json和examples/glm4.1v/inference_glm4.1v_9b.sh中的路径配置,包括tokenizer的加载路径from_pretrained。需注意292根据实际情况修改examples/glm4.1v/inference_glm4.1v_9b.json和examples/glm4.1v/inference_glm4.1v_9b.sh中的路径配置,包括tokenizer的加载路径from_pretrained。需注意
294 293 
@@ -298,7 +297,7 @@ bash examples/glm4.1v/finetune_glm4.1v_9b.sh
298 297 
299<a id="jump5.2"></a>298<a id="jump5.2"></a>
300 299 
301### 2启动推理300### 2. 启动推理
302 301 
303```shell302```shell
304bash examples/glm4.1v/inference_glm4.1v_9b.sh303bash examples/glm4.1v/inference_glm4.1v_9b.sh
Mexamples/glm4.5v/README.md+15-15
@@ -8,21 +8,21 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16- [数据集准备及处理](#jump3)16- [数据集准备及处理](#数据集准备及处理)
17 - [数据集下载](#jump3.1)17 - [数据集下载](#1-数据集下载以coco2017数据集为例)
18 - [混合数据集处理](#jump3.2)18 - [混合数据集处理](#2纯文本或有图无图混合训练数据以llava-instruct-150k为例)
19- [微调](#jump4)19- [微调](#微调)
20 - [准备工作](#jump4.1)20 - [准备工作](#1-准备工作)
21 - [配置参数](#jump4.2)21 - [配置参数](#2-配置参数)
22 - [启动微调](#jump4.3)22 - [启动微调](#3-启动微调)
23 - [启动推理](#jump4.4)23 - [启动推理](#4-hf权重转换)
24- [环境变量声明](#jump10)24- [环境变量声明](#环境变量声明)
25- [注意事项](#jump11)25- [注意事项](#注意事项)
26 26 
27## 版本说明27## 版本说明
28 28 
Mexamples/hunyuanvideo_1.5/README.md+43-43
@@ -89,64 +89,64 @@ pip install decord==0.6.0
89 89 
901. 下载预训练的DiT和VAE权重901. 下载预训练的DiT和VAE权重
91 91 
92``` bash92 ``` bash
93mkdir HunyuanVideo1.593 mkdir HunyuanVideo1.5
94hf download tencent/HunyuanVideo-1.5 --local-dir ./HunyuanVideo1.594 hf download tencent/HunyuanVideo-1.5 --local-dir ./HunyuanVideo1.5
95```95 ```
96 96 
97离线链接:97 离线链接:
98 98 
99- [tencent/HunyuanVideo-1.5](https://huggingface.co/tencent/HunyuanVideo-1.5/tree/main)99 - [tencent/HunyuanVideo-1.5](https://huggingface.co/tencent/HunyuanVideo-1.5/tree/main)
100 100 
1012. 下载文本编码器1012. 下载文本编码器
102 102 
103``` bash103 ``` bash
104hf download Qwen/Qwen2.5-VL-7B-Instruct --local-dir ./HunyuanVideo1.5/text_encoder/llm104 hf download Qwen/Qwen2.5-VL-7B-Instruct --local-dir ./HunyuanVideo1.5/text_encoder/llm
105hf download google/byt5-small --local-dir ./HunyuanVideo1.5/text_encoder/byt5-small105 hf download google/byt5-small --local-dir ./HunyuanVideo1.5/text_encoder/byt5-small
106modelscope download --model AI-ModelScope/Glyph-SDXL-v2 --local_dir ./HunyuanVideo1.5/text_encoder/Glyph-SDXL-v2106 modelscope download --model AI-ModelScope/Glyph-SDXL-v2 --local_dir ./HunyuanVideo1.5/text_encoder/Glyph-SDXL-v2
107```107 ```
108 108 
109离线链接:109 离线链接:
110 110 
111- [Qwen/Qwen2.5-VL-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct/tree/main)111 - [Qwen/Qwen2.5-VL-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct/tree/main)
112- [google/byt5-small](https://huggingface.co/google/byt5-small/tree/main)112 - [google/byt5-small](https://huggingface.co/google/byt5-small/tree/main)
113- [AI-ModelScope/Glyph-SDXL-v2](https://modelscope.cn/models/AI-ModelScope/Glyph-SDXL-v2/files)113 - [AI-ModelScope/Glyph-SDXL-v2](https://modelscope.cn/models/AI-ModelScope/Glyph-SDXL-v2/files)
114 114 
1153. 下载视觉编码器1153. 下载视觉编码器
116 116 
117```bash117 ```bash
118hf download black-forest-labs/FLUX.1-Redux-dev --local-dir ./ckpts/vision_encoder/siglip --token <your_hf_token>118 hf download black-forest-labs/FLUX.1-Redux-dev --local-dir ./ckpts/vision_encoder/siglip --token <your_hf_token>
119```119 ```
120 120 
121离线链接:121 离线链接:
122 122 
123- [black-forest-labs/FLUX.1-Redux-dev](https://huggingface.co/black-forest-labs/FLUX.1-Redux-dev/tree/main)123 - [black-forest-labs/FLUX.1-Redux-dev](https://huggingface.co/black-forest-labs/FLUX.1-Redux-dev/tree/main)
124 124 
1254. 最终文件结构如下:1254. 最终文件结构如下:
126 126 
127```bash127 ```bash
128MindSpeed-MM/HunyuanVideo1.5128 MindSpeed-MM/HunyuanVideo1.5
129├── text_encoder129 ├── text_encoder
130│   ├── Glyph-SDXL-v2130 │   ├── Glyph-SDXL-v2
131│   │   ├── assets131 │   │   ├── assets
132│   │   │   ├── color_idx.json132 │   │   │   ├── color_idx.json
133│   │   │   ├── multilingual_10-lang_idx.json133 │   │   │   ├── multilingual_10-lang_idx.json
134│   │   │   └── ...134 │   │   │   └── ...
135│   │   └── checkpoints135 │   │   └── checkpoints
136│   │      ├── byt5_model.pt136 │   │      ├── byt5_model.pt
137│   │   └── ...137 │   │   └── ...
138│ ├── llm138 │ ├── llm
139│ └── byt5-small139 │ └── byt5-small
140└─ scheduler140 └─ scheduler
141└─ transformer141 └─ transformer
142│   ├── 720p_t2v142 │   ├── 720p_t2v
143│   │   ├── config.json143 │   │   ├── config.json
144│   │   ├── diffusion_pytorch_model.safetensors144 │   │   ├── diffusion_pytorch_model.safetensors
145└─ vae145 └─ vae
146└─ scheduler146 └─ scheduler
147└─ vision_encoder147 └─ vision_encoder
148└─ upsampler148 └─ upsampler
149```149 ```
150 150 
151---151---
152 152 
Mexamples/internvl3/README.md+14-14
@@ -8,20 +8,20 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [仓库拉取](#jump1.1)12 - [仓库拉取](#1-仓库拉取)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16- [数据集准备及处理](#jump3)16- [数据集准备及处理](#数据集准备及处理)
17 - [数据集下载](#jump3.1)17 - [数据集下载](#1-数据集下载)
18- [微调](#jump4)18- [微调](#微调)
19- [推理](#jump5)19- [推理](#推理)
20 - [准备工作](#jump5.1)20 - [准备工作](#1-准备工作)
21 - [配置参数](#jump5.2)21 - [配置参数](#2-配置参数)
22 - [启动推理](#jump5.3)22 - [启动推理](#3-启动推理)
23- [环境变量声明](#jump6)23- [环境变量声明](#环境变量声明)
24- [注意事项](#jump7)24- [注意事项](#注意事项)
25 25 
26## 版本说明26## 版本说明
27 27 
Mexamples/kimik2_5/README.md+12-12
@@ -8,17 +8,17 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [数据集准备及处理](#jump2)14- [数据集准备及处理](#数据集准备及处理)
15 - [数据集下载](#jump2.1)15 - [数据集下载](#1-数据集下载以coco2017数据集为例)
16 - [数据混合数据集处理](#jump2.2)16 - [数据混合数据集处理](#2纯文本或有图无图混合训练数据-以llava-instruct-150k为例)
17- [训练](#jump3)17- [训练](#训练)
18 - [准备工作](#jump3.1)18 - [准备工作](#1-准备工作)
19 - [启动训练](#jump3.2)19 - [启动训练](#2-启动训练)
20- [环境变量声明](#jump4)20- [环境变量声明](#环境变量声明)
21- [注意事项](#jump5)21- [注意事项](#注意事项)
22 22 
23## 版本说明23## 版本说明
24 24 
@@ -44,7 +44,7 @@ commit_id=3367c8d
44 44 
45【模型开发时推荐使用配套的环境版本】45【模型开发时推荐使用配套的环境版本】
46 46 
47请参考[安装指南](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/user-guide/installation.md),完成昇腾软件安装。47请参考[安装指南](https://gitcode.com/Ascend/MindSpeed-MM/tree/master/docs/zh/pytorch/installation.md),完成昇腾软件安装。
48 48 
49‼️ 部分特性依赖较新版本的CANN,请使用 8.5.0 以上版本:49‼️ 部分特性依赖较新版本的CANN,请使用 8.5.0 以上版本:
50 50 
Mexamples/ltx2/README.md+17-17
@@ -8,23 +8,23 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [前置准备](#jump0)11- [前置准备](#前置准备)
12 - [下载模型文件](#jump0.1)12 - [下载模型文件](#1-下载模型文件)
13- [环境安装](#jump1)13- [环境安装](#环境安装)
14 - [环境准备](#jump1.1)14 - [环境准备](#1-环境准备)
15 - [环境搭建](#jump1.2)15 - [环境搭建](#2-环境搭建)
16- [数据集准备及处理](#jump2)16- [数据集准备及处理](#数据集准备及处理)
17 - [数据格式(ltx2_precomputed)](#jump2.1)17 - [数据格式(ltx2_precomputed)](#1-数据格式ltx2_precomputed)
18 - [数据集元数据格式](#jump2.1.2)18 - [数据集元数据格式](#11-数据集数据格式)
19 - [预处理脚本(生成 .precomputed)](#jump2.2)19 - [预处理脚本(生成 .precomputed)](#2-预处理脚本生成-precomputed)
20 - [基本预处理(仅视频,t2v)](#jump2.2.1)20 - [基本预处理(仅视频,t2v)](#21-基本预处理仅视频t2v)
21 - [带音频的预处理(t2av)](#jump2.2.2)21 - [带音频的预处理(t2av)](#22-带音频的预处理t2av)
22 - [预处理目录结构](#jump2.1.1)22 - [预处理目录结构](#23-预处理目录结构)
23- [训练](#jump3)23- [训练](#训练)
24 - [准备工作](#jump3.1)24 - [准备工作](#1-准备工作)
25 - [配置文件说明](#jump3.2)25 - [配置文件说明](#2-配置文件说明)
26 - [启动训练(t2v / t2av)](#jump3.3)26 - [启动训练(t2v / t2av)](#3-启动训练t2v--t2av)
27- [环境变量声明](#jump4)27- [环境变量声明](#环境变量声明)
28 28 
29## 版本说明29## 版本说明
30 30 
Mexamples/magistral-2509/README.md+16-16
@@ -8,21 +8,21 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [仓库拉取](#jump1.1)12 - [仓库拉取](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#权重下载)
16 - [权重转换](#jump2.2)16 - [权重转换](#权重转换)
17- [数据集准备及处理](#jump3)17- [数据集准备及处理](#数据集准备及处理)
18 - [数据集下载](#jump3.1)18 - [数据集下载](#1-数据集下载以coco2017数据集为例)
19- [微调](#jump4)19- [微调](#微调)
20 - [准备工作](#jump4.1)20 - [准备工作](#1-准备工作)
21 - [配置参数](#jump4.2)21 - [配置参数](#2-配置参数)
22 - [启动微调](#jump4.3)22 - [启动微调](#3-启动微调)
23 - [启动推理](#jump4.4)23 - [启动推理](#4-启动推理)
24- [lora微调](#jump5)24- [lora微调](#lora微调)
25- [环境变量声明](#jump6)25- [环境变量声明](#环境变量声明)
26 26 
27## 版本说明27## 版本说明
28 28 
@@ -286,7 +286,7 @@ mm-convert Mistral3Converter merge_mm_lora_dcp_weight_to_base_hf \
286 286 
287## 环境变量声明287## 环境变量声明
288 288 
289以下列出常见的环境变量,详细的命令参数请见[详细变量声明](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/user-guide/args_readme.md)289以下列出常见的环境变量,详细的命令参数请见[详细变量声明](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/pytorch/args_readme.md)
290 290 
291| 环境变量 | 描述 | 取值说明 |291| 环境变量 | 描述 | 取值说明 |
292|-------------------------------|--------------------------------------------------------------------|----------------------------------------------------------------------------------------------|292|-------------------------------|--------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
Mexamples/mindspore/cogvideox/README.md+16-16
@@ -252,19 +252,19 @@ CogvideoX训练阶段的启动文件为shell脚本,主要分为如下4个:`
252 252 
2531. 权重配置2531. 权重配置
254 254 
255 需根据实际任务情况在启动脚本文件(如`pretrain_cogvideox_i2v.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径,如`LOAD_PATH="./CogVideoX-5B-Converted"`,其中`./CogVideoX-5B-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。255 需根据实际任务情况在启动脚本文件(如`pretrain_cogvideox_i2v.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径,如`LOAD_PATH="./CogVideoX-5B-Converted"`,其中`./CogVideoX-5B-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。
256 256 
257根据需要填写`SAVE_PATH`变量中的路径,用以保存训练后的权重。257 根据需要填写`SAVE_PATH`变量中的路径,用以保存训练后的权重。
258 258 
2592. 数据集路径配置2592. 数据集路径配置
260 260 
261 根据实际情况修改`data.json`中的数据集路径,分别为`"data_path":"/your_data_path/data.jsonl"`、`"data_folder":"/your_data_path/"`,替换`"/your_data_path/"`为实际的数据集路径。261 根据实际情况修改`data.json`中的数据集路径,分别为`"data_path":"/your_data_path/data.jsonl"`、`"data_folder":"/your_data_path/"`,替换`"/your_data_path/"`为实际的数据集路径。
262 262 
2633. VAE及T5模型路径配置2633. VAE及T5模型路径配置
264 264 
265 根据实际情况修改模型参数配置文件(如`model_cogvideox_i2v.json`)以及`data.json`文件中VAE及T5模型文件的实际路径。其中,T5文件的路径字段为`"from_pretrained": "5b-cogvideo/tokenizer"`及`"from_pretrained": "5b-cogvideo"`,替换`5b-cogvideo`为实际的路径;VAE模型文件的路径字段为`"from_pretrained": "3d-vae.pt"`,替换`3d-vae.pt`为实际的路径。265 根据实际情况修改模型参数配置文件(如`model_cogvideox_i2v.json`)以及`data.json`文件中VAE及T5模型文件的实际路径。其中,T5文件的路径字段为`"from_pretrained": "5b-cogvideo/tokenizer"`及`"from_pretrained": "5b-cogvideo"`,替换`5b-cogvideo`为实际的路径;VAE模型文件的路径字段为`"from_pretrained": "3d-vae.pt"`,替换`3d-vae.pt`为实际的路径。
266 266 
267 当需要卸载VAE和T5时,将模型参数配置文件中的`"load_video_features": false`及`"load_text_features": false`字段中的值分别改为`true`。将`data.json`中的`"use_feature_data"`字段的值改为`true`。267 当需要卸载VAE和T5时,将模型参数配置文件中的`"load_video_features": false`及`"load_text_features": false`字段中的值分别改为`true`。将`data.json`中的`"use_feature_data"`字段的值改为`true`。
268 268 
2694. 切分策略配置2694. 切分策略配置
270 270 
@@ -287,7 +287,7 @@ CogvideoX训练阶段的启动文件为shell脚本,主要分为如下4个:`
287 参数里面的yaml文件如下面所示:287 参数里面的yaml文件如下面所示:
288 288 
289 ```yaml289 ```yaml
290 zero3_size: 8 290 zero3_size: 8
291 transformer_layers:291 transformer_layers:
292 - mindspeed_mm.models.predictor.dits.sat_dit.VideoDiTBlock292 - mindspeed_mm.models.predictor.dits.sat_dit.VideoDiTBlock
293 backward_prefetch: 'BACKWARD_PRE'293 backward_prefetch: 'BACKWARD_PRE'
@@ -299,17 +299,17 @@ CogvideoX训练阶段的启动文件为shell脚本,主要分为如下4个:`
299 - ae299 - ae
300 - text_encoder300 - text_encoder
301 ```301 ```
302 302 
303 该特性和TP不能兼容,开启时TP必须设置为1,使用该特性训练时,保存的权重需要使用下面的转换脚本进行后处理才能用于推理:303 该特性和TP不能兼容,开启时TP必须设置为1,使用该特性训练时,保存的权重需要使用下面的转换脚本进行后处理才能用于推理:
304 304 
305 ```bash305 ```bash
306 source /usr/local/Ascend/cann/set_env.sh306 source /usr/local/Ascend/cann/set_env.sh
307 # your_mindspeed_path和your_megatron_path分别替换为之前通过MindSpeed-Core-MS一键脚本拉取的mindspeed和megatron仓库的具体路径。这两个路径通常位于MindSpeed-Core-MS目录的相应子目录中。307 # your_mindspeed_path和your_megatron_path分别替换为之前通过MindSpeed-Core-MS一键脚本拉取的mindspeed和megatron仓库的具体路径。这两个路径通常位于MindSpeed-Core-MS目录的相应子目录中。
308 export PYTHONPATH=$PYTHONPATH:<your_mindspeed_path>308 export PYTHONPATH=$PYTHONPATH:<your_mindspeed_path>
309 export PYTHONPATH=$PYTHONPATH:<your_megatron_path>309 export PYTHONPATH=$PYTHONPATH:<your_megatron_path>
310 # input_folder为layerzero训练保存权重的路径,output_folder为输出的megatron格式权重的路径310 # input_folder为layerzero训练保存权重的路径,output_folder为输出的megatron格式权重的路径
311 python <your_mindspeed_path>/mindspeed/core/distributed/layerzero/state/scripts/convert_to_megatron.py --input_folder ./save_ckpt/hunyuanvideo/iter_000xxxx/ --output_folder ./save_ckpt/hunyuanvideo_megatron_ckpt/iter_000xxxx/ --prefix predictor311 python <your_mindspeed_path>/mindspeed/core/distributed/layerzero/state/scripts/convert_to_megatron.py --input_folder ./save_ckpt/hunyuanvideo/iter_000xxxx/ --output_folder ./save_ckpt/hunyuanvideo_megatron_ckpt/iter_000xxxx/ --prefix predictor
312 ```312 ```
313 313 
314模型参数配置文件中的`head_dim`字段原模型默认配置为64。此字段调整为128会更加亲和昇腾。314模型参数配置文件中的`head_dim`字段原模型默认配置为64。此字段调整为128会更加亲和昇腾。
315 315 
Mexamples/mindspore/glm4.1v/README.md+17-17
@@ -5,23 +5,23 @@
5 5 
6## 目录6## 目录
7 7 
8- [环境安装](#jump1)8- [环境安装](#环境安装)
9 - [仓库拉取](#jump1.1)9 - [仓库拉取](#1-仓库拉取)
10 - [环境搭建](#jump1.2)10 - [环境搭建](#环境搭建)
11- [权重下载及转换](#jump2)11- [权重下载及转换](#权重下载及转换)
12 - [权重下载](#jump2.1)12 - [权重下载](#1-权重下载)
13 - [权重转换hf2mm](#jump2.2)13 - [权重转换hf2mm](#2-权重转换hf2mm)
14- [数据集准备及处理](#jump3)14- [数据集准备及处理](#数据集准备及处理)
15 - [数据集下载](#jump3.1)15 - [数据集下载](#1-数据集下载以coco2017数据集为例)
16- [微调](#jump4)16- [微调](#微调)
17 - [准备工作](#jump4.1)17 - [准备工作](#1-准备工作)
18 - [配置参数](#jump4.2)18 - [配置参数](#2-配置参数)
19 - [启动微调](#jump4.3)19 - [启动微调](#3-启动微调)
20- [推理](#jump5)20- [推理](#推理)
21 - [准备工作](#jump5.1)21 - [准备工作](#准备工作)
22 - [启动推理](#jump5.2)22 - [启动推理](#启动推理)
23- [环境变量声明](#jump6)23- [环境变量声明](#环境变量声明)
24- [注意事项](#jump7)24- [注意事项](#注意事项)
25 25 
26---26---
27<a id="jump1"></a>27<a id="jump1"></a>
Mexamples/mindspore/hunyuanvideo/README.md+4-5
@@ -5,8 +5,7 @@
5 - [参考实现](#参考实现)5 - [参考实现](#参考实现)
6 - [变更记录](#变更记录)6 - [变更记录](#变更记录)
7 - [环境安装](#环境安装)7 - [环境安装](#环境安装)
8 - [仓库拉取](#仓库拉取)8 - [仓库拉取及环境搭建](#仓库拉取及环境搭建)
9 - [环境搭建](#环境搭建)
10 - [Decord搭建](#decord搭建)9 - [Decord搭建](#decord搭建)
11 - [权重下载及转换](#权重下载及转换)10 - [权重下载及转换](#权重下载及转换)
12 - [TextEncoder下载](#textencoder下载)11 - [TextEncoder下载](#textencoder下载)
@@ -15,12 +14,12 @@
15 - [预训练](#预训练)14 - [预训练](#预训练)
16 - [数据预处理](#数据预处理)15 - [数据预处理](#数据预处理)
17 - [训练](#训练)16 - [训练](#训练)
18 - [准备工作](#准备工作-1)17 - [准备工作](#准备工作)
19 - [参数配置](#参数配置-1)18 - [参数配置](#参数配置)
20 - [启动训练](#启动训练)19 - [启动训练](#启动训练)
21 - [权重后处理](#权重后处理)20 - [权重后处理](#权重后处理)
22 - [I2V lora微调](#i2v-lora微调)21 - [I2V lora微调](#i2v-lora微调)
23 - [准备工作](#准备工作-2)22 - [准备工作](#准备工作-1)
24 - [权重转换](#权重转换-1)23 - [权重转换](#权重转换-1)
25 - [配置参数](#配置参数)24 - [配置参数](#配置参数)
26 - [启动lora微调](#启动lora微调)25 - [启动lora微调](#启动lora微调)
Mexamples/mindspore/internvl2.5/README.md+12-12
@@ -5,18 +5,18 @@
5 5 
6## 目录6## 目录
7 7 
8- [环境安装](#jump1)8- [环境安装](#环境安装)
9 - [仓库拉取与环境搭建](#jump1.1)9 - [仓库拉取与环境搭建](#1-仓库拉取与环境搭建)
10- [权重下载及转换](#jump2)10- [权重下载及转换](#权重下载及转换)
11 - [权重下载](#jump2.1)11 - [权重下载](#1-权重下载)
12- [数据集准备及处理](#jump3)12- [数据集准备及处理](#数据集准备及处理)
13 - [数据集下载](#jump3.1)13 - [数据集下载](#1-数据集下载)
14- [预训练](#jump4)14- [预训练](#微调)
15 - [准备工作](#jump4.1)15 - [准备工作](#1-准备工作)
16 - [配置参数](#jump4.2)16 - [配置参数](#2-配置参数)
17 - [启动预训练](#jump4.3)17 - [启动预训练](#3-启动微调)
18- [环境变量声明](#jump5)18- [环境变量声明](#环境变量声明)
19- [注意事项](#jump6)19- [注意事项](#注意事项)
20 20 
21<a id="jump1"></a>21<a id="jump1"></a>
22 22 
Mexamples/mindspore/internvl3/README.md+13-13
@@ -5,19 +5,19 @@
5 5 
6## 目录6## 目录
7 7 
8- [环境安装](#jump1)8- [环境安装](#环境安装)
9 - [仓库拉取与环境搭建](#jump1.1)9 - [仓库拉取与环境搭建](#1-仓库拉取与环境搭建)
10- [权重下载及转换](#jump2)10- [权重下载及转换](#权重下载及转换)
11 - [权重下载](#jump2.1)11 - [权重下载](#1-权重下载)
12 - [权重转换](#jump2.2)12 - [权重转换](#2-权重转换)
13- [数据集准备及处理](#jump3)13- [数据集准备及处理](#数据集准备及处理)
14 - [数据集下载](#jump3.1)14 - [数据集下载](#1-数据集下载)
15- [微调](#jump4)15- [微调](#微调)
16 - [准备工作](#jump4.1)16 - [准备工作](#1-准备工作)
17 - [配置参数](#jump4.2)17 - [配置参数](#2-配置参数)
18 - [启动微调](#jump4.3)18 - [启动微调](#3-启动微调)
19- [环境变量声明](#jump5)19- [环境变量声明](#环境变量声明)
20- [注意事项](#jump6)20- [注意事项](#注意事项)
21 21 
22---22---
23<a id="jump1"></a>23<a id="jump1"></a>
Mexamples/mindspore/qwen2.5omni/README.md+16-16
@@ -5,22 +5,22 @@
5 5 
6## 目录6## 目录
7 7 
8- [环境安装](#jump1)8- [环境安装](#环境安装)
9 - [仓库拉取及环境搭建](#jump1.1)9 - [仓库拉取及环境搭建](#1-仓库拉取及环境搭建)
10- [权重下载及转换](#jump2)10- [权重下载及转换](#权重下载及转换)
11 - [权重下载](#jump2.1)11 - [权重下载](#1-权重下载)
12 - [权重转换hf2mm](#jump2.2)12 - [权重转换hf2mm](#2-权重转换hf2mm)
13 - [权重转换mm2hf](#jump2.3)13 - [权重转换mm2hf](#3-权重转换mm2hf)
14- [数据集准备及处理](#jump3)14- [数据集准备及处理](#数据集准备及处理)
15 - [数据集下载](#jump3.1)15 - [数据集下载](#1-数据集下载以coco2017数据集为例)
16 - [混合数据集处理](#jump3.2) 16 - [混合数据集处理](#2纯文本或有图无图混合训练数据以llava-instruct-150k为例)
17 - [视频音频数据集](#jump3.3) 17 - [视频音频数据集](#3视频音频数据集)
18- [微调](#jump4)18- [微调](#微调)
19 - [准备工作](#jump4.1)19 - [准备工作](#1-准备工作)
20 - [配置参数](#jump4.2)20 - [配置参数](#2-配置参数)
21 - [启动微调](#jump4.3)21 - [启动微调](#3-启动微调)
22- [环境变量声明](#jump5)22- [环境变量声明](#环境变量声明)
23- [注意事项](#jump6)23- [注意事项](#注意事项)
24 24 
25---25---
26<a id="jump1"></a>26<a id="jump1"></a>
Mexamples/mindspore/qwen2.5vl/README.md+28-28
@@ -5,34 +5,34 @@
5 5 
6## 目录6## 目录
7 7 
8- [环境安装](#jump1)8- [环境安装](#环境安装)
9 - [仓库拉取及环境搭建](#jump1.1)9 - [仓库拉取及环境搭建](#1-仓库拉取及环境搭建)
10- [权重下载及转换](#jump2)10- [权重下载及转换](#权重下载及转换)
11 - [权重下载](#jump2.1)11 - [权重下载](#1-权重下载)
12 - [权重转换hf2mm](#jump2.2)12 - [权重转换hf2mm](#2-权重转换hf2mm)
13 - [权重转换mm2hf](#jump2.3)13 - [权重转换mm2hf](#3-权重转换mm2hf)
14- [数据集准备及处理](#jump3)14- [数据集准备及处理](#数据集准备及处理)
15 - [数据集下载](#jump3.1)15 - [数据集下载](#1-数据集下载以coco2017数据集为例)
16 - [混合数据集处理](#jump3.2) 16 - [混合数据集处理](#2-纯文本或有图无图混合训练数据以llava-instruct-150k为例)
17- [微调](#jump4)17- [微调](#微调)
18 - [准备工作](#jump4.1)18 - [准备工作](#1-准备工作)
19 - [配置参数](#jump4.2)19 - [配置参数](#2-配置参数)
20 - [启动微调](#jump4.3)20 - [启动微调](#3-启动微调)
21- [推理](#jump5)21- [推理](#推理)
22 - [准备工作](#jump5.1)22 - [准备工作](#1-准备工作以微调环境为基础包括环境安装权重下载及转换-目前支持pp切分的推理)
23 - [启动推理](#jump5.2)23 - [启动推理](#2-配置参数)
24- [视频理解](#jump6)24- [视频理解](#qwen25vl支持视频理解)
25 - [加载数据集](#jump6.1)25 - [加载数据集](#1-加载视频数据集)
26 - [配置参数](#jump6.2)26 - [配置参数](#2-修改模型配置)
27 - [启动微调](#jump6.3)27 - [启动微调](#3-启动微调)
28- [评测](#jump7)28- [评测](#评测)
29 - [数据集准备](#jump7.1)29 - [数据集准备](#1-数据集准备)
30 - [配置参数](#jump7.2)30 - [配置参数](#2-参数配置)
31 - [启动评测](#jump7.3)31 - [启动评测](#3-启动评测)
32- [特性使用介绍](#jump8)32- [特性使用介绍](#特性使用介绍)
33 - [lora微调](#jump8.1)33 - [lora微调](#lora微调)
34- [环境变量声明](#jump9)34- [环境变量声明](#环境变量声明)
35- [注意事项](#jump10)35- [注意事项](#注意事项)
36 36 
37---37---
38<a id="jump1"></a>38<a id="jump1"></a>
Mexamples/mindspore/qwen2vl/README.md+25-25
@@ -8,31 +8,31 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-仓库拉取)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16 - [权重转换hf2mm](#jump2.2)16 - [权重转换hf2mm](#2-权重转换hf2mm)
17 - [权重转换mm2hf](#jump2.3)17 - [权重转换mm2hf](#3-训练后权重转回huggingface格式)
18 - [权重重切分](#jump2.4)18 - [权重重切分](#4-训练后重新切分权重)
19- [数据集准备及处理](#jump3)19- [数据集准备及处理](#数据集准备及处理)
20 - [数据集下载](#jump3.1)20 - [数据集下载](#1-数据集下载以coco2017数据集为例)
21 - [混合数据集处理](#jump3.2)21 - [混合数据集处理](#2纯文本或有图无图混合训练数据以llava-instruct-150k为例)
22- [微调](#jump4)22- [微调](#微调)
23 - [准备工作](#jump4.1)23 - [准备工作](#1-准备工作)
24 - [配置参数](#jump4.2)24 - [配置参数](#2-配置参数)
25 - [启动微调](#jump4.3)25 - [启动微调](#3-启动微调)
26- [DPO算法](#jump5)26- [DPO算法](#qwen2vl支持dpo算法)
27 - [数据集准备](#jump5.1)27 - [数据集准备](#1数据集准备以及处理以rlhf-v为例)
28 - [配置参数](#jump5.2)28 - [配置参数](#2配置参数)
29 - [启动DPO任务](#jump5.3)29 - [启动DPO任务](#3启动dpo任务)
30- [特性使用介绍](#jump6)30- [特性使用介绍](#特性使用介绍)
31 - [lora微调](#jump6.1)31 - [lora微调](#lora微调)
32 - [非均匀CP](#jump6.2)32 - [非均匀CP](#非均匀cp切分)
33 - [非均匀SP](#jump6.3)33 - [非均匀SP](#非均匀sp切分)
34- [环境变量声明](#jump7)34- [环境变量声明](#环境变量声明)
35- [注意事项](#jump8)35- [注意事项](#注意事项)
36 36 
37## 版本说明37## 版本说明
38 38 
Mexamples/mindspore/qwen3vl/README.md+14-14
@@ -5,20 +5,20 @@
5 5 
6## 目录6## 目录
7 7 
8- [环境安装](#jump1)8- [环境安装](#环境安装)
9 - [仓库拉取及环境搭建](#jump1.1)9 - [仓库拉取及环境搭建](#1-仓库拉取及环境搭建)
10- [权重下载及转换](#jump2)10- [权重下载及转换](#权重下载及转换)
11 - [权重下载](#jump2.1)11 - [权重下载](#1-权重下载)
12 - [权重转换hf2mm](#jump2.2)12 - [权重转换hf2mm](#2-权重转换hf2mm)
13 - [权重转换mm2hf](#jump2.3)13 - [权重转换mm2hf](#3-权重转换mm2hf)
14- [数据集准备及处理](#jump3)14- [数据集准备及处理](#数据集准备及处理)
15 - [数据集下载](#jump3.1)15 - [数据集下载](#1-数据集下载以coco2017数据集为例)
16 - [混合数据集处理](#jump3.2) 16 - [混合数据集处理](#2纯文本或有图无图混合训练数据以llava-instruct-150k为例)
17- [微调](#jump4)17- [微调](#微调)
18 - [准备工作](#jump4.1)18 - [准备工作](#1-准备工作)
19 - [配置参数](#jump4.2)19 - [配置参数](#2-配置参数)
20 - [启动微调](#jump4.3)20 - [启动微调](#3-启动微调)
21- [环境变量声明](#jump5)21- [环境变量声明](#环境变量声明)
22 22 
23---23---
24<a id="jump1"></a>24<a id="jump1"></a>
Mexamples/mindspore/wan2.1/README.md+1-1
@@ -139,7 +139,7 @@ mm-convert WanConverter hf_to_mm \
139 139 
140如需转回Hugging Face格式,需运行权重转换脚本:140如需转回Hugging Face格式,需运行权重转换脚本:
141 141 
142**注**: 如进行layer zero进行训练,则需首先进行其[训练权重后处理](#jump1),再进行如下操作:142**注**: 如进行layer zero进行训练,则需首先进行其[训练权重后处理](#训练权重后处理),再进行如下操作:
143 143 
144```shell144```shell
145mm-convert WanConverter mm_to_hf \145mm-convert WanConverter mm_to_hf \
Mexamples/ming/README.md+20-20
@@ -5,16 +5,16 @@
5 5 
6## 目录6## 目录
7 7 
8- [简介](#jump0)8- [简介](#简介)
9- [环境安装](#jump1)9- [环境安装](#环境安装)
10 - [仓库拉取](#jump1.1)10 - [仓库拉取](#1-仓库拉取)
11 - [环境搭建](#jump1.2)11 - [环境搭建](#2-环境搭建)
12- [权重下载](#jump2)12- [权重下载](#权重下载)
13- [数据集准备及处理](#jump3)13- [数据集准备及处理](#数据集准备及处理)
14- [训练](#jump4)14- [训练](#训练)
15 - [准备工作](#jump4.1)15 - [准备工作](#1-准备工作)
16 - [启动训练](#jump4.2)16 - [启动训练](#2-启动训练)
17- [注意事项](#jump6)17- [注意事项](#环境变量声明)
18 18 
19<a id="jump0"></a>19<a id="jump0"></a>
20 20 
@@ -127,12 +127,12 @@ pip install -r MindSpeed-MM/examples/ming/requirements.txt
127 127 
1281. 以图文理解的微调任务为例,可根据实际情况修改[启动脚本](../../examples/ming/finetune_vl.sh)的配置,以下配置必须修改:1281. 以图文理解的微调任务为例,可根据实际情况修改[启动脚本](../../examples/ming/finetune_vl.sh)的配置,以下配置必须修改:
129 129 
130``` shell130 ``` shell
131DATA_PATH="./data/mllm_format_llava_instruct_data.json" # 数据集的文件131 DATA_PATH="./data/mllm_format_llava_instruct_data.json" # 数据集的文件
132DATA_DIR="./data" # 数据集依赖图文等文件的目录132 DATA_DIR="./data" # 数据集依赖图文等文件的目录
133PROCESSOR_PATH="." # Ming代码仓路径,默认是当前目录(即 Ming 目录)133 PROCESSOR_PATH="." # Ming代码仓路径,默认是当前目录(即 Ming 目录)
134LOAD_PATH="./ckpt/Ming-Lite-Omni-1.5" # huggingface下载的权重路径134 LOAD_PATH="./ckpt/Ming-Lite-Omni-1.5" # huggingface下载的权重路径
135```135 ```
136 136 
1372. 根据使用机器的情况,修改`NNODES``NPUS_PER_NODE`配置, 例如单机 A2 可设置`NNODES`为 1 、`NPUS_PER_NODE`为8;1372. 根据使用机器的情况,修改`NNODES``NPUS_PER_NODE`配置, 例如单机 A2 可设置`NNODES`为 1 、`NPUS_PER_NODE`为8;
138 138 
@@ -140,10 +140,10 @@ LOAD_PATH="./ckpt/Ming-Lite-Omni-1.5" # huggingface下载的权重路径
140 140 
1414. 上述注意点修改完毕后,可启动脚本开启训练:1414. 上述注意点修改完毕后,可启动脚本开启训练:
142 142 
143```bash143 ```bash
144cd Ming144 cd Ming
145bash finetune_vl.sh145 bash finetune_vl.sh
146```146 ```
147 147 
148<a id="jump6"></a>148<a id="jump6"></a>
149 149 
Mexamples/opensora2.0/README.md+1-1
@@ -44,7 +44,7 @@ commit_id=d0cd5ac
44 44 
45【模型开发时推荐使用配套的环境版本】45【模型开发时推荐使用配套的环境版本】
46 46 
47请参考[安装指南](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/features/install_guide.md)47请参考[安装指南](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/install_guide.md)
48 48 
49<a id="jump1.1"></a>49<a id="jump1.1"></a>
50 50 
Mexamples/opensoraplan1.3/README.md+19-19
@@ -8,25 +8,25 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [仓库拉取](#jump1.1)12 - [仓库拉取](#1-仓库拉取)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14 - [Decord安装](#jump1.3)14 - [Decord安装](#3-decord搭建)
15- [权重下载及转换](#jump2)15- [权重下载及转换](#权重下载及转换)
16 - [权重下载](#jump2.1)16 - [权重下载](#1-权重下载)
17 - [权重转换](#jump2.2)17 - [权重转换](#2-权重转换)
18- [数据集准备及处理](#jump3)18- [数据集准备及处理](#数据集准备及处理)
19 - [数据集下载](#jump3.1)19 - [数据集下载](#1-数据集下载)
20 - [数据集处理](#jump3.2)20 - [数据集处理](#2-数据集处理)
21- [预训练](#jump4)21- [预训练](#预训练)
22 - [准备工作](#jump4.1)22 - [准备工作](#1-准备工作)
23 - [配置参数](#jump4.2)23 - [配置参数](#2-配置参数)
24 - [启动预训练](#jump4.3)24 - [启动预训练](#3-启动预训练)
25- [推理](#jump5)25- [推理](#推理)
26 - [准备工作](#jump5.1)26 - [准备工作](#1-准备工作)
27 - [配置参数](#jump5.2)27 - [配置参数](#2-配置参数)
28 - [启动推理](#jump5.3)28 - [启动推理](#3-启动推理)
29- [环境变量声明](#jump6)29- [环境变量声明](#环境变量声明)
30 30 
31## 版本说明31## 版本说明
32 32 
Mexamples/qihoo_t2x/README.md+8-8
@@ -21,14 +21,14 @@
21 </tr>21 </tr>
22</table>22</table>
23 23 
24- [环境安装](#jump1)24- [环境安装](#环境安装)
25 - [仓库拉取](#jump1.1)25 - [仓库拉取](#1-仓库拉取)
26 - [环境搭建](#jump1.2)26 - [环境搭建](#2-环境搭建)
27 - [权重下载](#jump1.3)27 - [权重下载](#3-权重下载)
28- [推理](#jump2)28- [推理](#推理)
29 - [配置参数](#jump2.1)29 - [配置参数](#1-配置参数)
30 - [启动推理](#jump2.2)30 - [启动推理](#2-启动推理)
31- [环境变量声明](#jump3)31- [环境变量声明](#环境变量声明)
32 32 
33---33---
34<a id="jump1"></a>34<a id="jump1"></a>
Mexamples/qwen2.5omni/README.md+22-22
@@ -8,28 +8,28 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16 - [权重转换hf2mm](#jump2.2)16 - [权重转换hf2mm](#2-权重转换hf2mm)
17 - [权重转换mm2hf](#jump2.3)17 - [权重转换mm2hf](#3-权重转换mm2hf)
18- [数据集准备及处理](#jump3) 18- [数据集准备及处理](#数据集准备及处理)
19 - [视频音频数据集](#jump3.1)19 - [视频音频数据集](#1视频音频数据集)
20 - [混合数据集处理](#jump3.2)20 - [混合数据集处理](#2纯文本或有图无图混合训练数据以llava-instruct-150k为例)
21- [微调](#jump4)21- [微调](#微调)
22 - [准备工作](#jump4.1)22 - [准备工作](#1-准备工作)
23 - [配置参数](#jump4.2)23 - [配置参数](#2-配置参数)
24 - [启动微调](#jump4.3)24 - [启动微调](#3-启动微调)
25- [异构并行微调](#jump5)25- [异构并行微调](#异构并行微调)
26 - [准备工作](#jump5.1)26 - [准备工作](#1-准备工作)
27 - [配置参数](#jump5.2)27 - [配置参数](#2-配置参数)
28 - [启动异构并行微调](#jump5.3)28 - [启动异构并行微调](#3-启动异构并行微调)
29- [特性使用介绍](#jump7)29- [特性使用介绍](#特性使用介绍)
30 - [lora微调](#jump7.1)30 - [lora微调](#lora微调)
31- [环境变量声明](#jump8)31- [环境变量声明](#环境变量声明)
32- [注意事项](#jump9)32- [注意事项](#注意事项)
33 33 
34## 版本说明34## 版本说明
35 35 
Mexamples/qwen2.5vl/README.md+63-63
@@ -8,39 +8,39 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及离线转换](#jump2)14- [权重下载及离线转换](#权重下载及离线转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16 - [权重转换hf2mm](#jump2.2)16 - [权重转换hf2mm](#2-权重转换hf2mm)
17 - [权重转换mm2hf](#jump2.3)17 - [权重转换mm2hf](#3-权重转换mm2hf)
18 - [权重重切分](#jump2.4)18 - [权重重切分](#4-训练后重新切分权重)
19- [权重下载及在线加载](#jump3)19- [权重下载及在线加载](#权重下载及在线加载)
20 - [权重下载](#jump3.1)20 - [权重下载](#1-权重下载-1)
21 - [权重加载](#jump3.2)21 - [权重加载](#2-在线加载)
22- [数据集准备及处理](#jump4)22- [数据集准备及处理](#数据集准备及处理)
23 - [数据集下载](#jump4.1)23 - [数据集下载](#1-数据集下载)
24 - [混合数据集处理](#jump4.2)24 - [混合数据集处理](#2纯文本或有图无图混合训练数据以llava-instruct-150k为例)
25- [微调](#jump5)25- [微调](#微调)
26 - [长序列支持](#长序列支持)26 - [长序列支持](#长序列支持)
27 - [准备工作](#jump5.1)27 - [准备工作](#1-准备工作)
28 - [配置参数](#jump5.2)28 - [配置参数](#2-配置参数)
29 - [启动微调](#jump5.3)29 - [启动微调](#3-启动微调)
30 - [支持FSDP2训练](#jump5.4)30 - [支持FSDP2训练](#4-支持FSDP2训练)
31- [推理](#jump6)31- [推理](#推理)
32 - [准备工作](#jump6.1)32 - [准备工作](#1准备工作)
33 - [启动推理](#jump6.2)33 - [启动推理](#2启动推理)
34- [视频理解](#jump7)34- [视频理解](#qwen25vl支持视频理解)
35 - [加载数据集](#jump7.1)35 - [加载数据集](#1加载视频数据集)
36 - [配置参数](#jump7.2)36 - [配置参数](#2修改模型配置)
37 - [启动微调](#jump7.3)37 - [启动微调](#3启动微调)
38- [评测](#jump8)38- [评测](#评测)
39 - [数据集准备](#jump8.1)39 - [数据集准备](#数据集准备)
40 - [配置参数](#jump8.2)40 - [配置参数](#参数配置)
41 - [启动评测](#jump8.3)41 - [启动评测](#启动评测)
42- [环境变量声明](#jump9)42- [环境变量声明](#环境变量声明)
43- [注意事项](#jump10)43- [注意事项](#注意事项)
44 44 
45## 版本说明45## 版本说明
46 46 
@@ -530,46 +530,46 @@ WORLD_SIZE=$(($NPUS_PER_NODE * $NNODES))
530 530 
5311. full模式5311. full模式
532 532 
533TransformerLayer中的所有组件(layernorm、attention、mlp)都进行重计算,此时可以配置重计算的层数。533 TransformerLayer中的所有组件(layernorm、attention、mlp)都进行重计算,此时可以配置重计算的层数。
534 534 
535- `recompute_method`: 控制重计算层数计算的方法,可选值为`uniform`(均匀重计算)或`block`(按块重计算)。535 - `recompute_method`: 控制重计算层数计算的方法,可选值为`uniform`(均匀重计算)或`block`(按块重计算)。
536- `recompute_num_layers`: 控制重计算的层数,指定需要重计算的层数量。536 - `recompute_num_layers`: 控制重计算的层数,指定需要重计算的层数量。
537 537 
538示例配置如下:538 示例配置如下:
539 539 
540```json540 ```json
541{541 {
542 "model_id": "qwen2_5vl",542 "model_id": "qwen2_5vl",
543 "img_context_token_id": 151655,543 "img_context_token_id": 151655,
544 "vision_start_token_id": 151652,544 "vision_start_token_id": 151652,
545 "image_encoder": {545 "image_encoder": {
546 "vision_encoder": {546 "vision_encoder": {
547 "recompute_granularity": "full",547 "recompute_granularity": "full",
548 "recompute_method": "uniform",548 "recompute_method": "uniform",
549 "recompute_num_layers": 1549 "recompute_num_layers": 1
550 }
551 }
550 }552 }
551 }553 ```
552}
553```
554 554 
5552. selective模式5552. selective模式
556 556 
557仅对TransformerLayer中attention的core_attention组件进行重计算。557 仅对TransformerLayer中attention的core_attention组件进行重计算。
558 558 
559示例配置如下:559 示例配置如下:
560 560 
561```json561 ```json
562{562 {
563 "model_id": "qwen2_5vl",563 "model_id": "qwen2_5vl",
564 "img_context_token_id": 151655,564 "img_context_token_id": 151655,
565 "vision_start_token_id": 151652,565 "vision_start_token_id": 151652,
566 "image_encoder": {566 "image_encoder": {
567 "vision_encoder": {567 "vision_encoder": {
568 "recompute_granularity": "selective"568 "recompute_granularity": "selective"
569 }
570 }
569 }571 }
570 }572 ```
571}
572```
573 573 
574【huggingface等价模型结构配置(可选)】574【huggingface等价模型结构配置(可选)】
575 575 
@@ -728,7 +728,7 @@ bash examples/qwen2.5vl/finetune_qwen2_5_vl_72b_fsdp.sh
728 728 
729(2)shell文件中的LOAD_PATH的路径为经过权重转换后的模型路径(可PP切分)。729(2)shell文件中的LOAD_PATH的路径为经过权重转换后的模型路径(可PP切分)。
730 730 
731<a id="6.2"></a>731<a id="jump6.2"></a>
732 732 
733### 2、启动推理733### 2、启动推理
734 734 
Mexamples/qwen2vl/README.md+37-37
@@ -8,43 +8,43 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16 - [权重转换hf2mm](#jump2.2)16 - [权重转换hf2mm](#2-权重转换hf2mm)
17 - [权重转换mm2hf](#jump2.3)17 - [权重转换mm2hf](#3-训练后权重转回huggingface格式)
18 - [权重重切分](#jump2.4)18 - [权重重切分](#4-训练后重新切分权重)
19- [数据集准备及处理](#jump3)19- [数据集准备及处理](#数据集准备及处理)
20 - [数据集下载](#jump3.1)20 - [数据集下载](#1-数据集下载以coco2017数据集为例)
21 - [混合数据集处理](#jump3.2)21 - [混合数据集处理](#2纯文本或有图无图混合训练数据以llava-instruct-150k为例)
22- [微调](#jump4)22- [微调](#微调)
23 - [准备工作](#jump4.1)23 - [准备工作](#1-准备工作)
24 - [配置参数](#jump4.2)24 - [配置参数](#2-配置参数)
25 - [启动微调](#jump4.3)25 - [启动微调](#3-启动微调)
26- [推理](#jump5)26- [推理](#推理)
27 - [准备工作](#jump5.1)27 - [准备工作](#1准备工作以微调环境为基础包括环境安装权重下载及转换-目前支持pp切分的推理)
28 - [配置参数](#jump5.2)28 - [配置参数](#2配置参数)
29 - [启动推理](#jump5.3)29 - [启动推理](#3启动推理)
30- [视频理解](#jump6)30- [视频理解](#qwen2vl支持视频理解)
31 - [加载数据集](#jump6.1)31 - [加载数据集](#1加载视频数据集)
32 - [配置参数](#jump6.2)32 - [配置参数](#2修改模型配置)
33 - [视频推理](#jump6.3)33 - [视频推理](#3qwen2vl支持视频推理)
34- [DPO算法](#jump7)34- [DPO算法](#qwen2vl支持dpo算法)
35 - [数据集准备](#jump7.1)35 - [数据集准备](#1数据集准备以及处理以rlhf-v为例)
36 - [配置参数](#jump7.2)36 - [配置参数](#2配置参数)
37 - [启动DPO任务](#jump7.3)37 - [启动DPO任务](#3启动dpo任务)
38- [评测](#jump8)38- [评测](#评测)
39 - [数据集准备](#jump8.1)39 - [数据集准备](#数据集准备)
40 - [配置参数](#jump8.2)40 - [配置参数](#参数配置)
41 - [启动评测](#jump8.3)41 - [启动评测](#启动评测)
42- [特性使用介绍](#jump9)42- [特性使用介绍](#特性使用介绍)
43 - [lora微调](#jump9.1)43 - [lora微调](#lora微调)
44 - [非均匀CP](#jump9.2)44 - [非均匀CP](#非均匀cp切分)
45 - [非均匀SP](#jump9.3)45 - [非均匀SP](#非均匀sp切分)
46- [环境变量声明](#jump10)46- [环境变量声明](#环境变量声明)
47- [注意事项](#jump11)47- [注意事项](#注意事项)
48 48 
49## 版本说明49## 版本说明
50 50 
Mexamples/qwen3_5/README.md+14-14
@@ -8,20 +8,20 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16- [数据集准备及处理](#jump3)16- [数据集准备及处理](#数据集准备及处理)
17 - [数据集下载](#jump3.1)17 - [数据集下载](#1-数据集下载以coco2017数据集为例)
18 - [混合数据集处理](#jump3.2)18 - [混合数据集处理](#2纯文本或有图无图混合训练数据以llava-instruct-150k为例)
19- [微调](#jump4)19- [微调](#微调)
20 - [准备工作](#jump4.1)20 - [准备工作](#1-准备工作)
21 - [配置参数](#jump4.2)21 - [配置参数](#2-配置参数)
22 - [启动微调](#jump4.3)22 - [启动微调](#3-启动微调)
23- [环境变量声明](#jump10)23- [环境变量声明](#环境变量声明)
24- [注意事项](#jump11)24- [注意事项](#注意事项)
25 25 
26## 版本说明26## 版本说明
27 27 
Mexamples/qwen3omni/README.md+16-16
@@ -8,22 +8,22 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16 - [权重转换](#jump2.2)16 - [权重转换](#2-权重转换)
17- [数据集准备及处理](#jump3)17- [数据集准备及处理](#数据集准备及处理)
18 - [数据集下载](#jump3.1)18 - [数据集下载](#1-数据集下载以coco2017数据集为例)
19 - [混合数据集处理](#jump3.2)19 - [混合数据集处理](#2混合数据集处理以llava-instruct-150k为例)
20- [微调](#jump4)20- [微调](#微调)
21 - [准备工作](#jump4.1)21 - [准备工作](#1-准备工作)
22 - [配置参数](#jump4.2)22 - [配置参数](#2-配置参数)
23 - [启动微调](#jump4.3)23 - [启动微调](#3-启动微调)
24- [支持工具调用数据的微调](#jump4.5)24- [支持工具调用数据的微调](#4支持工具调用数据的微调)
25- [环境变量声明](#jump10)25- [环境变量声明](#环境变量声明)
26- [注意事项](#jump11)26- [注意事项](#注意事项)
27 27 
28## 版本说明28## 版本说明
29 29 
Mexamples/qwen3tts/README.md+13-14
@@ -8,20 +8,19 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16- [数据集准备及处理](#jump3)16- [数据集准备及处理](#数据集准备及处理)
17 - [数据集下载](#jump3.1)17 - [数据集下载](#1-数据集下载-以kan-tts数据集为例)
18 - [数据转换](#jump3.2)18 - [数据转换](#2-数据转换-以kan-tts数据集为例)
19 - [数据提取](#jump3.3)19- [微调](#微调)
20- [微调](#jump4)20 - [准备工作](#1-准备工作)
21 - [准备工作](#jump4.1)21 - [启动微调](#2-启动微调)
22 - [启动微调](#jump4.2)22- [环境变量声明](#环境变量声明)
23- [环境变量声明](#jump10)23- [注意事项](#注意事项)
24- [注意事项](#jump11)
25 24 
26## 版本说明25## 版本说明
27 26 
Mexamples/qwen3vl/README.md+18-18
@@ -8,22 +8,22 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16- [数据集准备及处理](#jump3)16- [数据集准备及处理](#数据集准备及处理)
17 - [数据集下载](#jump3.1)17 - [数据集下载](#1-数据集下载以coco2017数据集为例)
18 - [混合数据集处理](#jump3.2)18 - [混合数据集处理](#2纯文本或有图无图混合训练数据以llava-instruct-150k为例)
19- [微调](#jump4)19- [微调](#微调)
20 - [准备工作](#jump4.1)20 - [准备工作](#1-准备工作)
21 - [配置参数](#jump4.2)21 - [配置参数](#2-配置参数)
22 - [启动微调](#jump4.3)22 - [启动微调](#3-启动微调)
23 - [启动推理](#jump4.4)23 - [启动推理](#4-启动推理)
24- [PMCC](#jump5)24- [PMCC](#pmccprivacy-and-model-confidential-computing)
25- [环境变量声明](#jump10)25- [环境变量声明](#环境变量声明)
26- [注意事项](#jump11)26- [注意事项](#注意事项)
27 27 
28## 版本说明28## 版本说明
29 29 
@@ -234,7 +234,7 @@ data:
234 234 
235开启MoE融合可以提升模型训练性能,开启方式为将`qwen3vl_full_sft_xxB.yaml`文件中修改`use_npu_fused_moe`字段为`true`235开启MoE融合可以提升模型训练性能,开启方式为将`qwen3vl_full_sft_xxB.yaml`文件中修改`use_npu_fused_moe`字段为`true`
236 236 
237注意:FusedMoE特性依赖较新版本,新版本的下载链接和安装方式参考[【环境准备】](#jump1.1)章节。237注意:FusedMoE特性依赖较新版本,新版本的下载链接和安装方式参考[【环境准备】](#1-环境准备)章节。
238 238 
239【MoE 专家并行配置】239【MoE 专家并行配置】
240 240 
@@ -335,7 +335,7 @@ WORLD_SIZE=$(($NPUS_PER_NODE * $NNODES))
335 335 
336【LoRA微调(可选)】336【LoRA微调(可选)】
337 337 
338LoRA为框架通用能力,当前已支持30B模型的语言模块LoRA微调,参数介绍请参考[LoRA特性文档](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/features/lora_finetune.md)。338LoRA为框架通用能力,当前已支持30B模型的语言模块LoRA微调,参数介绍请参考[LoRA特性文档](https://gitcode.com/Ascend/MindSpeed-MM/blob/master/docs/zh/features/lora_finetune.md)。
339 339 
340LoRA微调场景下,需要先对原始权重完成以下权重转换340LoRA微调场景下,需要先对原始权重完成以下权重转换
341 341 
Mexamples/qwen3vl/README_v1.md+13-14
@@ -8,20 +8,19 @@
8- [版本说明](#版本说明)8- [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
10 - [变更记录](#变更记录)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境准备](#jump1.1)12 - [环境准备](#1-环境准备)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14- [权重下载及转换](#jump2)14- [权重下载及转换](#权重下载及转换)
15 - [权重下载](#jump2.1)15 - [权重下载](#1-权重下载)
16- [数据集准备及处理](#jump3)16- [数据集准备及处理](#数据集准备及处理)
17 - [数据集下载](#jump3.1)17 - [数据集下载](#1-数据集下载以coco2017数据集为例)
18 - [混合数据集处理](#jump3.2)18- [微调](#微调)
19- [微调](#jump4)19 - [准备工作](#1-准备工作)
20 - [准备工作](#jump4.1)20 - [配置参数](#2-配置参数)
21 - [配置参数](#jump4.2)21 - [启动微调](#3-启动微调)
22 - [启动微调](#jump4.3)22- [环境变量声明](#环境变量声明)
23- [环境变量声明](#jump10)23- [注意事项](#注意事项)
24- [注意事项](#jump11)
25 24 
26## 版本说明25## 版本说明
27 26 
Mexamples/self_forcing/README.md+1-1
@@ -3,7 +3,7 @@
3<p align="left">3<p align="left">
4</p>4</p>
5 5 
6- [self-forcing](#jump1)6- [self-forcing](#self-forcing)
7 - [模型介绍](#模型介绍)7 - [模型介绍](#模型介绍)
8 - [版本说明](#版本说明)8 - [版本说明](#版本说明)
9 - [参考实现](#参考实现)9 - [参考实现](#参考实现)
Mexamples/stepvideo/README.md+35-38
@@ -355,32 +355,32 @@ StepVideo推理启动文件为shell脚本,主要分为如下2个:
355 355 
3561. 权重配置3561. 权重配置
357 357 
358 需根据实际任务情况在启动脚本文件(如`inference_i2v.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径(注意推理默认配置tp=4),如`LOAD_PATH="./StepVideo-Converted"`,其中`./StepVideo-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。358 需根据实际任务情况在启动脚本文件(如`inference_i2v.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径(注意推理默认配置tp=4),如`LOAD_PATH="./StepVideo-Converted"`,其中`./StepVideo-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。
359 359 
3602. VAE及T5模型路径配置3602. VAE及T5模型路径配置
361 361 
362 根据实际情况修改模型参数配置文件,如`inference_i2v_model.json`文件中`text_encoder`字段配置两种文本编译器路径`"from_pretrained": "./weights/step_llm/"`及`"from_pretrained": "./weights/hunyuan_clip/clip_text_encoder"`,`ae`字段配置VAE模型路径`"from_pretrained": "./weights/vae/vae_v2.safetensors"`362 根据实际情况修改模型参数配置文件,如`inference_i2v_model.json`文件中`text_encoder`字段配置两种文本编译器路径`"from_pretrained": "./weights/step_llm/"`及`"from_pretrained": "./weights/hunyuan_clip/clip_text_encoder"`,`ae`字段配置VAE模型路径`"from_pretrained": "./weights/vae/vae_v2.safetensors"`
363 363
364 在`tokenizer`字段配置两种分词器路径`"from_pretrained": "/model_path/step_llm/step1_chat_tokenizer.model"`,及`"from_pretrained": "/model_path/hunyuan_clip/tokenizer"`364 在`tokenizer`字段配置两种分词器路径`"from_pretrained": "/model_path/step_llm/step1_chat_tokenizer.model"`,及`"from_pretrained": "/model_path/hunyuan_clip/tokenizer"`
365 365 
3663. prompts配置3663. prompts配置
367 367 
368| t2v prompts配置文件 | 修改字段 | 修改说明 |368 | t2v prompts配置文件 | 修改字段 | 修改说明 |
369|----------------------------------------|:--------------------------------:|:-----------------------------------:|369 |----------------------------------------|:--------------------------------:|:-----------------------------------:|
370| examples/stepvideo/t2v/samples_prompts.txt | 文件内容 | 自定义prompt |370 | examples/stepvideo/t2v/samples_prompts.txt | 文件内容 | 自定义prompt |
371 371 
372| i2v prompts配置文件 | 修改字段 | 修改说明 |372 | i2v prompts配置文件 | 修改字段 | 修改说明 |
373|--------------------------------------------|:--------------------------------:|:----------------:|373 |--------------------------------------------|:--------------------------------:|:----------------:|
374| examples/stepvideo/i2v/samples_i2v_images.txt | 文件内容 | 图片路径 |374 | examples/stepvideo/i2v/samples_i2v_images.txt | 文件内容 | 图片路径 |
375| examples/stepvideo/i2v/samples_i2v_prompts.txt | 文件内容 | 自定义prompt |375 | examples/stepvideo/i2v/samples_i2v_prompts.txt | 文件内容 | 自定义prompt |
376 376 
377如果使用训练后保存的权重进行推理,需要使用脚本进行转换,权重转换source_path参数请配置训练时的保存路径377 如果使用训练后保存的权重进行推理,需要使用脚本进行转换,权重转换source_path参数请配置训练时的保存路径
378 378 
379```bash379 ```bash
380mm-convert StepVideoConverter resplit \380 mm-convert StepVideoConverter resplit \
381 --cfg.source_path <your source path> \381 --cfg.source_path <your source path> \
382 --cfg.target_path <your target path>382 --cfg.target_path <your target path> \
383```383 ```
384 384 
385### 启动推理385### 启动推理
386 386 
@@ -411,22 +411,22 @@ bash examples/stepvideo/i2v/inference_i2v.sh
411 411 
4121. 修改推理配置文件:4121. 修改推理配置文件:
413 413 
414| 参数配置文件 | 修改字段 | 修改说明 |414 | 参数配置文件 | 修改字段 | 修改说明 |
415|------------------------------------------------------------|:--------------------------------:|:----------------------------------|415 |------------------------------------------------------------|:--------------------------------:|:----------------------------------|
416| examples/stepvideo/{task_name}/inference_*_model.json | from_pretrained | 修改为下载的权重所对应路径(包括VAE、Text Encoder) |416 | examples/stepvideo/{task_name}/inference_*_model.json | from_pretrained | 修改为下载的权重所对应路径(包括VAE、Text Encoder) |
417| examples/stepvideo/{task_name}/inference_*_model.json | num_inference_videos_per_sample | 每个prompt生成的视频样本数量,建议至少大于2 |417 | examples/stepvideo/{task_name}/inference_*_model.json | num_inference_videos_per_sample | 每个prompt生成的视频样本数量,建议至少大于2 |
418| examples/stepvideo/{task_name}/inference_*_model.json | save_path | 生成视频的保存路径 |418 | examples/stepvideo/{task_name}/inference_*_model.json | save_path | 生成视频的保存路径 |
419| examples/stepvideo/{task_name}/inference_*.sh | LOAD_PATH | 转换之后的transform部分权重路径 |419 | examples/stepvideo/{task_name}/inference_*.sh | LOAD_PATH | 转换之后的transform部分权重路径 |
420 420 
421| t2v prompts配置文件 | 修改字段 | 修改说明 |421 | t2v prompts配置文件 | 修改字段 | 修改说明 |
422|----------------------------------------|:--------------------------------:|:-----------------------------------:|422 |----------------------------------------|:--------------------------------:|:-----------------------------------:|
423| examples/stepvideo/t2v/samples_prompts.txt | 文件内容 | 自定义prompt |423 | examples/stepvideo/t2v/samples_prompts.txt | 文件内容 | 自定义prompt |
424 424 
4252. 启动推理流程生成视频样本:4252. 启动推理流程生成视频样本:
426 426 
427```shell427 ```shell
428bash examples/stepvideo/{task_name}/inference_{task_name}.sh428 bash examples/stepvideo/{task_name}/inference_{task_name}.sh
429```429 ```
430 430 
4313. 删除视频样本保存路径下的video_grid.mp4,最终视频样本数量为:prompt条数 * $num_inference_videos_per_sample4313. 删除视频样本保存路径下的video_grid.mp4,最终视频样本数量为:prompt条数 * $num_inference_videos_per_sample
432 432 
@@ -476,21 +476,18 @@ data.jsonl中包含成对的视频偏好数据和文本信息,具体示例如
476 476 
4771. 权重配置4771. 权重配置
478 478 
479 需根据实际任务情况在启动脚本文件(如`posttrain_t2v_dpo.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径,如`LOAD_PATH="./StepVideo-Converted"`,其中`./StepVideo-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。479 需根据实际任务情况在启动脚本文件(如`posttrain_t2v_dpo.sh`)中的`LOAD_PATH="your_converted_dit_ckpt_dir"`变量中添加转换后的权重的实际路径,如`LOAD_PATH="./StepVideo-Converted"`,其中`./StepVideo-Converted`为转换后的权重的实际路径,其文件夹内容结构如权重转换一节所示。`LOAD_PATH`变量中填写的完整路径一定要正确,填写错误的话会导致权重无法加载但运行并不会提示报错。
480根据需要填写`SAVE_PATH`变量中的路径,用以保存训练后的权重。480 根据需要填写`SAVE_PATH`变量中的路径,用以保存训练后的权重。
481 
4822. 偏好数据集路径配置4812. 偏好数据集路径配置
483 482 
484 根据实际情况修改`data_dpo.json`中的偏好数据集路径,分别为`"data_path":"/data_path/data.jsonl"`替换为实际的data.jsonl所在路径,`"data_folder":"/data_path/"`替换`"/data_path/"`为实际的视频样本所在路径。483 根据实际情况修改`data_dpo.json`中的偏好数据集路径,分别为`"data_path":"/data_path/data.jsonl"`替换为实际的data.jsonl所在路径,`"data_folder":"/data_path/"`替换`"/data_path/"`为实际的视频样本所在路径。
485 
4863. VAE及text_encoder、tokenizer路径配置4843. VAE及text_encoder、tokenizer路径配置
487 485 
488 根据实际情况修改模型参数配置文件,如`posttrain_*_model.json`文件中`text_encoder`字段配置两种文本编译器路径`"from_pretrained": "./weights/step_llm/"`及`"from_pretrained": "./weights/hunyuan_clip/clip_text_encoder"`,`ae`字段配置VAE模型路径`"from_pretrained": "./weights/vae/vae_v2.safetensors"`486 根据实际情况修改模型参数配置文件,如`posttrain_*_model.json`文件中`text_encoder`字段配置两种文本编译器路径`"from_pretrained": "./weights/step_llm/"`及`"from_pretrained": "./weights/hunyuan_clip/clip_text_encoder"`,`ae`字段配置VAE模型路径`"from_pretrained": "./weights/vae/vae_v2.safetensors"`
489 `data_dpo.json`文件中`tokenizer_config`字段配置两种分词器路径`"from_pretrained": "/model_path/step_llm/step1_chat_tokenizer.model"` 及`"from_pretrained": "/model_path/hunyuan_clip/tokenizer"`487 `data_dpo.json`文件中`tokenizer_config`字段配置两种分词器路径`"from_pretrained": "/model_path/step_llm/step1_chat_tokenizer.model"` 及`"from_pretrained": "/model_path/hunyuan_clip/tokenizer"`
490 
4914. dpo参数配置4884. dpo参数配置
492 489 
493 根据实际情况修改`posttrain_t2v_model.json`中的直方图文件路径,即将`histogram_path`的值配置为执行生成偏好数据集脚本后,生成的"video_score_histogram.json"文件路径490 根据实际情况修改`posttrain_t2v_model.json`中的直方图文件路径,即将`histogram_path`的值配置为执行生成偏好数据集脚本后,生成的"video_score_histogram.json"文件路径
494 491 
495### 启动dpo训练492### 启动dpo训练
496 493 
Mexamples/vace/README.md+22-22
@@ -331,36 +331,36 @@ bash examples/vace/{model_type}/pretrain_fsdp.sh
331 331 
3321. 【下载DiffSynth-Studio】3321. 【下载DiffSynth-Studio】
333 333 
334```shell334 ```shell
335cd examples/vace335 cd examples/vace
336git clone https://github.com/modelscope/DiffSynth-Studio.git336 git clone https://github.com/modelscope/DiffSynth-Studio.git
337cd DiffSynth-Studio337 cd DiffSynth-Studio
338git checkout 8332ece338 git checkout 8332ece
339cp ../inference/Wan-VACE-Inference.py examples/wanvideo/model_inference339 cp ../inference/Wan-VACE-Inference.py examples/wanvideo/model_inference
340```340 ```
341 341 
3422. 【npu适配】3422. 【npu适配】
343 343 
344 ```shell344 ```shell
345vim diffsynth/utils/__init__.py345 vim diffsynth/utils/__init__.py
346 ```346 ```
347 347 
348将131行的`torch.cuda.mem_get_info(self.device)[1] / (1024 ** 3)`348 将131行的`torch.cuda.mem_get_info(self.device)[1] / (1024 ** 3)`
349改为`torch.npu.mem_get_info()[1] / (1024 ** 3)`349 改为`torch.npu.mem_get_info()[1] / (1024 ** 3)`
350 350 
351```shell351 ```shell
352vim diffsynth/vram_management/layers.py352 vim diffsynth/vram_management/layers.py
353 ```353 ```
354 354 
355将16行的`torch.cuda.mem_get_info(self.computation_device)`355 将16行的`torch.cuda.mem_get_info(self.computation_device)`
356改为`torch.npu.mem_get_info()`356 改为`torch.npu.mem_get_info()`
357 357 
358```shell358 ```shell
359vim diffsynth/models/wan_video_dit.py359 vim diffsynth/models/wan_video_dit.py
360 ```360 ```
361 361 
362将96行的`freqs`362 将96行的`freqs`
363改为`freqs.to(torch.complex64)`363 改为`freqs.to(torch.complex64)`
364 364 
365### 启动推理365### 启动推理
366 366 
Mexamples/vae/README.md+13-13
@@ -5,19 +5,19 @@
5 5 
6## 目录6## 目录
7 7 
8- [环境安装](#jump1)8- [环境安装](#环境安装)
9 - [仓库拉取](#jump1.1)9 - [仓库拉取](#1-仓库拉取)
10 - [环境搭建](#jump1.2)10 - [环境搭建](#2-环境搭建)
11 - [Decord安装](#jump1.3)11 - [Decord安装](#3-decord搭建)
12- [权重下载](#jump2)12- [权重下载](#权重下载)
13 - [权重下载与保存](#jump2.1)13 - [权重下载与保存](#1-权重下载与保存)
14- [数据集准备](#jump3)14- [数据集准备](#数据集准备)
15 - [数据集下载](#jump3.1)15 - [数据集下载](#1-数据集下载)
16- [预训练](#jump4)16- [预训练](#预训练)
17 - [准备工作](#jump4.1)17 - [准备工作](#1-准备工作)
18 - [配置参数](#jump4.2)18 - [配置参数](#2-配置参数)
19 - [启动预训练](#jump4.3)19 - [启动预训练](#3-启动预训练)
20- [环境变量声明](#jump5)20- [环境变量声明](#环境变量声明)
21 21 
22---22---
23<a id="jump1"></a>23<a id="jump1"></a>
Mexamples/verl_examples/qwen2.5vl/README.md+21-21
@@ -5,21 +5,21 @@
5 5 
6## 目录6## 目录
7 7 
8- [简介](#jump0)8- [简介](#简介)
9 - [参考实现](#jump0.1)9 - [参考实现](#参考实现)
10 - [变更记录](#jump0.2)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境依赖](#jump1.1)12 - [环境依赖](#1-环境依赖)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14 - [安装插件](#jump1.3)14 - [安装插件](#3-安装插件)
15- [权重下载及转换](#jump2)15- [权重下载及转换](#权重下载)
16- [数据集准备及处理](#jump3)16- [数据集准备及处理](#数据集准备及处理)
17- [训练](#jump4)17- [训练](#训练)
18 - [准备工作](#jump4.1)18 - [准备工作](#1-准备工作)
19 - [启动训练](#jump4.2)19 - [启动训练](#2-启动训练)
20 - [日志打点指标说明](#jump4.3)20 - [日志打点指标说明](#3-日志打点指标说明)
21- [注意事项](#jump5)21- [注意事项](#注意事项)
22- [性能数据](#jump6)22- [性能数据](#性能数据)
23 23 
24<a id="jump0"></a>24<a id="jump0"></a>
25 25 
@@ -325,14 +325,14 @@ python ./examples/data_preprocess/geo3k.py --local_dir=./data/geo3k
325 325 
3261. 容器内启动时可能会遇到不存在`ip`命令的错误,可使用如下命令进行安装:3261. 容器内启动时可能会遇到不存在`ip`命令的错误,可使用如下命令进行安装:
327 327 
328```shell328 ```shell
329sudo apt-get install iproute2329 sudo apt-get install iproute2
330```330 ```
331 331 
3322. 如果安装vllm ascend失败,提示`fatal error: 'cstdint' file not found`,可能是gcc版本问题,可参考[此处](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/800alpha003/softwareinst/instg/instg_0086.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit)解决。更多vllm ascend问题可以向[社区](https://github.com/vllm-project/vllm-ascend)求助。3322. 如果安装vllm ascend失败,提示`fatal error: 'cstdint' file not found`,可能是gcc版本问题,可参考[此处](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/800alpha003/softwareinst/instg/instg_0086.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit)解决。更多vllm ascend问题可以向[社区](https://github.com/vllm-project/vllm-ascend)求助。
333 333 
3343. 可以使用[Ray Debugger](https://docs.ray.io/en/latest/ray-observability/ray-distributed-debugger.html)对代码进行调试,在安装完插件后,需要在环境中安装依赖:3343. 可以使用[Ray Debugger](https://docs.ray.io/en/latest/ray-observability/ray-distributed-debugger.html)对代码进行调试,在安装完插件后,需要在环境中安装依赖:
335 335 
336```shell336 ```shell
337pip install "ray[default]" debugpy337 pip install "ray[default]" debugpy
338```338 ```
Mexamples/verl_examples/qwen3vl/README.md+23-23
@@ -5,20 +5,20 @@
5 5 
6## 目录6## 目录
7 7 
8- [简介](#jump0)8- [简介](#简介)
9 - [参考实现](#jump0.1)9 - [参考实现](#参考实现)
10 - [变更记录](#jump0.2)10 - [变更记录](#变更记录)
11- [环境安装](#jump1)11- [环境安装](#环境安装)
12 - [环境依赖](#jump1.1)12 - [环境依赖](#1-环境依赖)
13 - [环境搭建](#jump1.2)13 - [环境搭建](#2-环境搭建)
14 - [安装插件](#jump1.3)14 - [安装插件](#3-安装插件)
15- [权重下载及转换](#jump2)15- [权重下载及转换](#权重下载)
16- [数据集准备及处理](#jump3)16- [数据集准备及处理](#数据集准备及处理)
17- [训练](#jump4)17- [训练](#训练)
18 - [准备工作](#jump4.1)18 - [准备工作](#1-准备工作)
19 - [启动训练](#jump4.2)19 - [启动训练](#2-启动训练)
20 - [日志打点指标说明](#jump4.3)20 - [日志打点指标说明](#3-日志打点指标说明)
21- [注意事项](#jump5)21- [注意事项](#注意事项)
22 22 
23<a id="jump0"></a>23<a id="jump0"></a>
24 24 
@@ -337,22 +337,22 @@ dataset = dataset.load_dataset(data_source) # 将data_source修改为数据集
337 337 
3381. 容器内启动时可能会遇到不存在`ip`命令的错误,可使用如下命令进行安装:3381. 容器内启动时可能会遇到不存在`ip`命令的错误,可使用如下命令进行安装:
339 339 
340```shell340 ```shell
341sudo apt-get install iproute2341 sudo apt-get install iproute2
342```342 ```
343 343 
3442. 如果安装vllm ascend失败,提示`fatal error: 'cstdint' file not found`,可能是gcc版本问题,可参考[此处](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/800alpha003/softwareinst/instg/instg_0086.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit)解决。更多vllm ascend问题可以向[社区](https://github.com/vllm-project/vllm-ascend)求助。3442. 如果安装vllm ascend失败,提示`fatal error: 'cstdint' file not found`,可能是gcc版本问题,可参考[此处](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/800alpha003/softwareinst/instg/instg_0086.html?Mode=PmIns&OS=Ubuntu&Software=cannToolKit)解决。更多vllm ascend问题可以向[社区](https://github.com/vllm-project/vllm-ascend)求助。
345 345 
3463. 可以使用[Ray Debugger](https://docs.ray.io/en/latest/ray-observability/ray-distributed-debugger.html)对代码进行调试,在安装完插件后,需要在环境中安装依赖:3463. 可以使用[Ray Debugger](https://docs.ray.io/en/latest/ray-observability/ray-distributed-debugger.html)对代码进行调试,在安装完插件后,需要在环境中安装依赖:
347 347 
348```shell348 ```shell
349pip install "ray[default]" debugpy349 pip install "ray[default]" debugpy
350```350 ```
351 351 
3524. 确认插件安装完成,可通过检查文件是否修改成功(`vi ../../verl/verl/__init__.py` 确认文件末尾是否有`import verl_npu`等代码追加),如果没有修改成功,推荐修改安装插件命令为:3524. 确认插件安装完成,可通过检查文件是否修改成功(`vi ../../verl/verl/__init__.py` 确认文件末尾是否有`import verl_npu`等代码追加),如果没有修改成功,推荐修改安装插件命令为:
353 353 
354```shell354 ```shell
355pip install -v .355 pip install -v .
356```356 ```
357 357 
358---358---
Mexamples/videoalign/README.md+63-63
@@ -5,30 +5,30 @@
5- [版本说明](#版本说明)5- [版本说明](#版本说明)
6 - [参考实现](#参考实现)6 - [参考实现](#参考实现)
7 - [变更记录](#变更记录)7 - [变更记录](#变更记录)
8- [环境安装](#jump1)8- [环境安装](#环境安装)
9 - [仓库拉取](#jump1.1)9 - [仓库拉取](#1-仓库拉取)
10 - [环境搭建](#jump1.2)10 - [环境搭建](#2-环境搭建)
11- [权重下载及转换](#jump2)11- [权重下载及转换](#权重下载及转换)
12 - [权重下载](#jump2.1)12 - [权重下载](#1-权重下载)
13 - [权重转换hf2mm](#jump2.2)13 - [权重转换hf2mm](#2-权重转换hf2mm)
14- [数据集准备及处理](#jump3)14- [数据集准备及处理](#数据集准备及处理)
15 - [数据集下载](#jump3.1)15 - [数据集下载](#数据集下载以rewardbench数据集为例)
16- [微调](#jump4)16- [微调](#微调)
17 - [准备工作](#jump4.1)17 - [准备工作](#1-准备工作)
18 - [配置参数](#jump4.2)18 - [配置参数](#2-配置参数)
19 - [启动微调](#jump4.3)19 - [启动微调](#3-启动微调)
20- [推理](#jump5)20- [推理](#推理)
21 - [准备工作](#jump5.1)21 - [准备工作](#1准备工作以微调环境为基础包括环境安装权重下载及转换)
22 - [配置参数](#jump5.2)22 - [配置参数](#2配置参数)
23 - [启动推理](#jump5.3)23 - [启动推理](#3启动推理)
24- [评测](#jump6)24- [评测](#评测)
25 - [准备工作](#jump6.1)25 - [准备工作](#1准备工作以微调环境为基础包括环境安装权重下载及转换)
26 - [配置参数](#jump6.2)26 - [配置参数](#2配置参数)
27 - [启动评测](#jump6.3)27 - [启动评测](#3启动评测)
28- [特性使用介绍](#jump7)28- [特性使用介绍](#特性使用介绍)
29 - [lora微调](#jump7.1)29 - [lora微调](#lora微调)
30- [环境变量声明](#jump8)30- [环境变量声明](#环境变量声明)
31- [注意事项](#jump9)31- [注意事项](#注意事项)
32 32 
33## 版本说明33## 版本说明
34 34 
@@ -277,54 +277,54 @@ LOAD_PATH="ckpt/mm_path/VideoReward"
277 277 
2781. full模式2781. full模式
279 279 
280TransformerLayer中的所有组件(layernorm、attention、mlp)都进行重计算,此时可以配置重计算的层数。280 TransformerLayer中的所有组件(layernorm、attention、mlp)都进行重计算,此时可以配置重计算的层数。
281 281 
282- `recompute_method`: 控制重计算层数计算的方法,可选值为`uniform`(均匀重计算)或`block`(按块重计算)。282 - `recompute_method`: 控制重计算层数计算的方法,可选值为`uniform`(均匀重计算)或`block`(按块重计算)。
283- `recompute_num_layers`: 控制重计算的层数,指定需要重计算的层数量。283 - `recompute_num_layers`: 控制重计算的层数,指定需要重计算的层数量。
284 284 
285示例配置如下:285 示例配置如下:
286 286 
287```json287 ```json
288{288 {
289 "model_id": "videoalign",289 "model_id": "videoalign",
290 "img_context_token_id": 151656,290 "img_context_token_id": 151656,
291 "video_token_id": 151656,291 "video_token_id": 151656,
292 "vision_start_token_id": 151652,292 "vision_start_token_id": 151652,
293 ...293 ...
294 "image_encoder": {294 "image_encoder": {
295 "vision_encoder": {295 "vision_encoder": {
296 ...
297 "recompute_granularity": "full",
298 "recompute_method": "uniform",
299 "recompute_num_layers": 1
300 }
301 },
296 ...302 ...
297 "recompute_granularity": "full",
298 "recompute_method": "uniform",
299 "recompute_num_layers": 1
300 }303 }
301 },304 ```
302 ...
303}
304```
305 305 
3062. selective模式3062. selective模式
307 307 
308仅对TransformerLayer中attention的core_attention组件进行重计算。注意:lora场景无法使用。308 仅对TransformerLayer中attention的core_attention组件进行重计算。注意:lora场景无法使用。
309
310 示例配置如下:
309 311 
310示例配置如下:312 ```json
311 313 {
312```json314 "model_id": "videoalign",
313{315 "img_context_token_id": 151656,
314 "model_id": "videoalign",316 "video_token_id": 151656,
315 "img_context_token_id": 151656,317 "vision_start_token_id": 151652,
316 "video_token_id": 151656,318 ...
317 "vision_start_token_id": 151652,319 "image_encoder": {
318 ...320 "vision_encoder": {
319 "image_encoder": {321 ...
320 "vision_encoder": {322 "recompute_granularity": "selective"
323 }
324 },
321 ...325 ...
322 "recompute_granularity": "selective"
323 }326 }
324 },327 ```
325 ...
326}
327```
328 328 
329【模型保存加载及日志信息配置】329【模型保存加载及日志信息配置】
330 330 
@@ -359,8 +359,8 @@ OUTPUT_ARGS="
359 359 
360```shell360```shell
361$save_dir361$save_dir
362 ├── latest_checkpointed_iteration.txt362 ├── latest_checkpointed_iteration.txt
363 ├── ...363 ├── ...
364```364```
365 365 
366若开启lora混合训练,保存权重包含lora权重和非lora权重,需要通过转换脚本进行拆分后分别加载。(此功能coming soon)366若开启lora混合训练,保存权重包含lora权重和非lora权重,需要通过转换脚本进行拆分后分别加载。(此功能coming soon)
Mexamples/wan2.1/README.md+2-2
@@ -14,7 +14,7 @@
14 - [权重转换](#权重转换)14 - [权重转换](#权重转换)
15 - [权重下载及在线加载](#权重下载及在线加载)15 - [权重下载及在线加载](#权重下载及在线加载)
16 - [Diffusers权重下载](#diffusers权重下载)16 - [Diffusers权重下载](#diffusers权重下载)
17 - [权重在线加载](#权重在线加载)17 - [在线加载](#在线加载)
18 - [预训练](#预训练)18 - [预训练](#预训练)
19 - [数据预处理](#数据预处理)19 - [数据预处理](#数据预处理)
20 - [特征提取](#特征提取)20 - [特征提取](#特征提取)
@@ -165,7 +165,7 @@ mm-convert WanConverter hf_to_mm \
165 165 
166如需转回Hugging Face格式,需运行权重转换脚本:166如需转回Hugging Face格式,需运行权重转换脚本:
167 167 
168**注**: 如进行layer zero进行训练,则需首先进行其[训练权重后处理](#jump1),再进行如下操作:168**注**: 如进行layer zero进行训练,则需首先进行其[训练权重后处理](#训练权重后处理),再进行如下操作:
169 169 
170```shell170```shell
171mm-convert WanConverter mm_to_hf \171mm-convert WanConverter mm_to_hf \
Mexamples/wan2.2/README.md+2-2
@@ -143,7 +143,7 @@ mm-convert WanConverter mm_to_dcp \
143 143 
144如需转回Hugging Face格式,需运行权重转换脚本:144如需转回Hugging Face格式,需运行权重转换脚本:
145 145 
146**注**: wan2.2使用fsdp2进行训练,需首先进行其[训练权重后处理](#jump1),再进行如下操作:146**注**: wan2.2使用fsdp2进行训练,需首先进行其[训练权重后处理](#训练权重后处理),再进行如下操作:
147 147 
148```shell148```shell
149mm-convert WanConverter mm_to_hf \149mm-convert WanConverter mm_to_hf \
@@ -358,7 +358,7 @@ GPT_ARGS="
358bash examples/wan2.2/A14B/t2v/finetune_lora_{low/high}.sh358bash examples/wan2.2/A14B/t2v/finetune_lora_{low/high}.sh
359```359```
360 360 
361微调完成后,需首先对保存的lora权重进行[权重后处理](#jump1),再使用权重转换工具,将训练好的lora权重与原始权重进行合并361微调完成后,需首先对保存的lora权重进行[权重后处理](#训练权重后处理),再使用权重转换工具,将训练好的lora权重与原始权重进行合并
362 362 
363```bash363```bash
364mm-convert WanConverter merge_lora_to_base \364mm-convert WanConverter merge_lora_to_base \
Mverl_plugin/README.md+3-3
@@ -5,9 +5,9 @@
5 5 
6## 目录6## 目录
7 7 
8- [简介](#jump0)8- [简介](#简介)
9- [支持模型](#jump1)9- [支持模型](#支持模型)
10- [性能数据](#jump2)10- [性能数据](#性能数据)
11 11 
12<a id="jump0"></a>12<a id="jump0"></a>
13 13