Pull Request已成功合入, 合并人@ascend-robot
(感谢 chenpeizhe 的贡献)变更摘要
此 PR 新增了 Wan2.2 模型的 FSDP 训练数据集适配模块 mindspeed_mm/fsdp/data/datasets/wan2_2/,核心是通过 @data_register.register("wan2_2") 注册的 Wan2_2Dataset 类,继承自 MMBaseDataset,为 FSDP2 训练器提供视频/图像多模态数据加载、文本 tokenization、视频-图像融合、美学评分注入及批处理等完整数据管线支持。
主要改动
- 新增
Wan2_2Dataset数据集类:继承MMBaseDataset,通过@data_register.register("wan2_2")注册,在__init__中整合VideoReader、VideoProcessor、ImageProcesser以及可选的文本处理组件,并在getitem中实现视频/图像读取、预处理、文本选择、美学评分注入和 rejected 样本处理等完整数据加载流程。 - 新增
_build_hf_tokenizer函数:仅支持 HuggingFace 后端(hub_backend为"hf"或"huggingface"),通过transformers动态加载AutoTokenizer并调用from_pretrained构建 tokenizer,其他后端会抛出ValueError。 - 新增
MMBaseDataset基类:封装DataFileReader数据读取逻辑,支持standard和combine两种数据存储模式,并定义get_type方法根据文件扩展名判断视频/图像类型。 - 实现
collate_fn批处理方法:对VIDEO、PROMPT_IDS、PROMPT_MASK、VIDEO_MASK等torch.Tensor类型字段使用torch.stack沿 batch 维度拼接,其他字段保持列表形式。 - 支持视频-图像融合与 token 扩展:
get_vid_img_fusion从视频帧中等距采样指定数量的图像帧并拼接,get_text_processer在融合模式下将prompt_ids和prompt_mask按(1 + use_img_num)倍复制扩展。


代码审查
审查总结
已审查文件
| 文件 | 结果 |
|---|---|
mindspeed_mm/fsdp/data/datasets/wan2_2/__init__.py |
无问题(仅空白行,属纯噪声不报告) |
mindspeed_mm/fsdp/data/datasets/wan2_2/wan2_2_dataset.py |
发现 6 个问题 |
问题统计
| 优先级 | 数量 |
|---|---|
| P0 | 0 |
| P1 | 2 |
| P2 | 2 |
| P3 | 2 |
整体风险评估:中等
两个 P1 问题会在特定但合理的配置下导致运行时崩溃:
__getitem__重试逻辑在数据集仅有 0 或 1 个样本时必然崩溃,且上界 off-by-one 导致最后一个样本永远不会被重试选中;use_text_processer=True但未提供tokenizer_config时,getitem访问不存在的self.text_processer导致AttributeError。
两个 P2 问题为边界条件缺陷(from_pretrained 缺失时的 KeyError、aesthetic 分数为 0 时的短路误判),触发概率较低但属于真实正确性问题。两个 P3 为可改进项(配置校验未 fail-fast、collate_fn 键集不完整)。建议优先修复 P1 问题后再合入。
| 类型 | 数量 |
|---|---|
| 🔴 阻塞 | 3 |
| 🟡 建议 | 4 |
⛔ 需要修改


Thanks for your pull-request.
The full list of commands accepted by me can be found at here。
You can get sig-info at here
PR Approval Progress
✅ Congratulations! All modules have met the lgtm and approve requirements.
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| repo-Ascend/MindSpeed-MM | ✅ 王海涛, MoCuishle-M (2/2) | ✅ 王海涛 (1/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
chenpeizhe, thanks for your pull request. All authors of the commits have signed the CLA. 👍


Pull Request 已合并或已关闭。
If you want to solve this problem, you can click here to do it in the FAQs.


What this PR does / why we need it?
Add Wan2.2 FSDP2 dataset.
https://gitcode.com/Ascend/MindSpeed-MM/issues/576
Does this PR introduce any user-facing change?
New Wan2.2 dataset in FSDP2 backend.
How was this patch tested?
UT/ST will be presented in other PR.