已开启
使用HyperParallel进行LlamaFactory FSDP2 qwen3vl-8b sft报错RuntimeError: Environment variables RANK_ID has not been exported, please export variables 'RANK_ID' #116
jacka123创建于 5月8日
5月8日 问题后端类型 由 [] 改变为 [Ascend]
5月8日 关联分支 由 [] 改变为 [master]
5月8日 关联组件 由 [] 改变为 [B-SIG-Parallel]
cuiyushi
6月2日 评论:
6月2日 评论:
久等了。看了下你的问题,报错的根因是代码走到了MindSpore后端。
HyperParallel同时支持MindSpore和Torch双后端。在未设置环境变量的情况下,会优先检测MindSpore,一旦环境中MindSpore可用就会走MindSpore后端,从而触发上述报错。而LlamaFactory目前需要使用Torch后端。
解决方法是显式指定后端为Torch:
export HYPER_PARALLEL_PLATFORM=torch
另外有两点环境适配需要注意:
- 在Ascend 910B1上训练时,需要额外安装与对应CANN、Torch版本匹配的torch-npu。
- 你当前使用的是transformers v5.2.0,而我们目前主要在transformers v4.57.1上做的验证,建议切到v4.57.1进行训练。
后续我们也会逐步支持更多Torch和transformers版本。如果切换后仍有问题,欢迎贴出新的报错日志。


版本信息
参考文档:https://blog.llamafactory.net/posts/mindspore-hyperparallel-quickstart/
不使能hyper_parallel时可正常训练
llamafactory version: 0.9.5.dev0
Platform: Linux-4.19.90-vhulk2107.1.0.h699.eulerosv2r10.aarch64-aarch64-with-glibc2.34
Python version: 3.12.10
PyTorch version: 2.7.1+cpu (NPU)
Transformers version: 5.2.0
Datasets version: 4.0.0
Accelerate version: 1.11.0
PEFT version: 0.18.1
NPU type: Ascend910B1
CANN version: 9.0.0
TRL version: 0.24.0
Default data directory: detected
mindspore: 2.9.0
hyper_parallel: master commit bfe13cf
重现步骤
fsdp2配置:examples/accelerate/fsdp2_config.yaml
模型配置:examples/ascend/qwen3vlmoe_full_sft_fsdp2.yaml
启动命令:
报错信息