Skip to content

Commit c5c4205

Browse files
Merge pull request #69 from Zachary-wW/docs/fix-diffusion-docs-structure
[docs] docs: fix diffusion docs structure and align ZH/EN toctree
2 parents 2010d68 + d07325d commit c5c4205

6 files changed

Lines changed: 88 additions & 24 deletions

File tree

docs/source/index.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ A modular, scalable, and highly efficient training framework for language, multi
4949
:maxdepth: 1
5050
:caption: Diffusion Training
5151

52-
wan_tutorial/index
52+
wan_tutorial/quick_start_wan_training
53+
wan_tutorial/wan_packing
5354

5455
.. toctree::
5556
:maxdepth: 1

docs/source/wan_tutorial/index.rst

Lines changed: 0 additions & 8 deletions
This file was deleted.

docs/source_zh/index.rst

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,34 +23,23 @@ LoongForge 中文文档
2323
get_started/optimization_guide
2424

2525
.. toctree::
26-
:maxdepth: 1
26+
:maxdepth: 2
2727
:caption: LLM 训练
2828

2929
llm_tutorial/quick_start_llm_pretrain
3030
llm_tutorial/quick_start_llm_sft
3131
llm_tutorial/llm_ckpt_convert
32-
features/fp8_training
33-
features/adaptive_fp8
34-
features/moe_all2all_overlap
35-
features/optimizer_support
36-
features/fused_linear_cross_entropy
37-
features/mcore_bridge
38-
usage/lora_usage
32+
高级特性 <llm_tutorial/features_index>
3933

4034
.. toctree::
41-
:maxdepth: 1
35+
:maxdepth: 2
4236
:caption: VLM 训练
4337

4438
vlm_tutorial/quick_start_vlm_pretrain
4539
vlm_tutorial/quick_start_vlm_sft
4640
vlm_tutorial/dataset_conversion
4741
vlm_tutorial/vlm_ckpt_convert
48-
features/offline_data_packing
49-
features/data_parallel_balancing
50-
features/model_combination
51-
features/fp8_training_for_vlm
52-
features/heterogeneous_parallel
53-
features/vit_data_parallel_balancing
42+
高级特性 <vlm_tutorial/features_index>
5443

5544
.. toctree::
5645
:maxdepth: 1
@@ -63,6 +52,7 @@ LoongForge 中文文档
6352
:caption: Diffusion 训练
6453

6554
wan_tutorial/quick_start_wan_training
55+
wan_tutorial/wan_packing
6656

6757
.. toctree::
6858
:maxdepth: 1
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# LLM 高级特性
2+
3+
LoongForge 为大语言模型训练提供了丰富的优化特性。
4+
5+
```{toctree}
6+
:maxdepth: 1
7+
8+
../features/fp8_training
9+
../features/adaptive_fp8
10+
../features/moe_all2all_overlap
11+
../features/optimizer_support
12+
../features/fused_linear_cross_entropy
13+
../features/mcore_bridge
14+
../usage/lora_usage
15+
```
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# VLM 高级特性
2+
3+
LoongForge 为视觉语言模型训练提供了丰富的优化特性。
4+
5+
```{toctree}
6+
:maxdepth: 1
7+
8+
../features/offline_data_packing
9+
../features/data_parallel_balancing
10+
../features/model_combination
11+
../features/fp8_training_for_vlm
12+
../features/heterogeneous_parallel
13+
../features/vit_data_parallel_balancing
14+
```
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Wan2.2 Packing 训练
2+
3+
Wan2.2 packing 将多个变长视频样本拼接为一条 packed 训练序列。通过 THD `PackedSeqParams` 维护每个样本的注意力与 loss 边界,使 packed 样本之间互不注意力、padding token 不计入 loss。
4+
5+
## 适用场景
6+
7+
当 Wan2.2 训练集中包含长度差异较大的视频或文本提示时,建议开启 packing。Packing 可减少因 padding 带来的计算浪费,并兼容上下文并行训练。
8+
9+
支持的上下文并行模式:
10+
- 无 CP:`CP_SIZE=1`
11+
- Ring CP:`CP_SIZE>1``CP_ULYSSES_DEGREE=1`
12+
- Ulysses CP:`CP_SIZE=CP_ULYSSES_DEGREE`
13+
- Ring + Ulysses 混合:`CP_SIZE>CP_ULYSSES_DEGREE>1`
14+
15+
## 数据要求
16+
17+
使用与普通训练相同的预处理 Wan 数据集格式。每个样本应提供:
18+
- `input_latents`:视频 latent 张量
19+
- `y`:可选的图像条件 latent
20+
- `context`:文本嵌入
21+
- `seed`:用于确定性噪声和时间步生成的样本种子
22+
- `grid_sizes`:可选的 latent patch 网格;缺失时 LoongForge 会从 `input_latents` 推导
23+
24+
Packing 支持变长样本。在 CP 训练中,packed bin 中的每个样本会先填充至逐样本 CP 切分边界,然后再拼接。
25+
26+
## 启用方式
27+
28+
在 Wan 预训练脚本中添加 packing 参数:
29+
30+
```bash
31+
--packing-sft-data
32+
--packing-buffer-size 512
33+
```
34+
35+
示例启动命令:
36+
37+
```bash
38+
cd examples/wan
39+
CUDA_VISIBLE_DEVICES=0,1,2,3 \
40+
CP_SIZE=4 \
41+
CP_ULYSSES_DEGREE=2 \
42+
bash pretrain_wan2.2_i2v_a14b.sh
43+
```
44+
45+
`--packing-buffer-size` 控制在组成 packed bin 前缓冲的样本数量。更大的缓冲区可提高打包密度,但会占用更多主机内存。
46+
47+
## 注意事项与限制
48+
49+
- Packing 当前使用 `micro_batch_size=1`;开启 packing 时验证器会强制此设置。
50+
- Packed 注意力路径使用 THD 元数据,与非 packed 稠密注意力可能不是逐位一致,但 loss 在数值上应保持接近。
51+
- 确保 `seq_length` 足够容纳一个 packed bin。在 CP 模式下,LoongForge 会将有效序列长度对齐到所需的 CP 切分边界。
52+
- 进行精度验证时,请在相同数据顺序下对比前几个训练迭代与关闭 packing 的运行结果,且两次运行的 `train-iters` 不应改变。

0 commit comments

Comments
 (0)