训练脚本默认TP=4,PP=2;文档上写的是TP=1,PP=4。完全按照文档上的来导致了OOM问题。按照默认值是可以的。
你们提供文档的时候,可否做个详细说明,比如NPU卡的规格。


训练脚本默认TP=4,PP=2;文档上写的是TP=1,PP=4。完全按照文档上的来导致了OOM问题。按照默认值是可以的。
你们提供文档的时候,可否做个详细说明,比如NPU卡的规格。
你好,按照文档来,修改成TP=1,PP=4,对应的SEQ_LEN也得修改为4096,否则会OOM;完全按文档来或者完全按照默认值都可以正常运行的。


当前Issue标记为resolved且有一段时间未进一步更新,因此我们将其标记为'stale'(闲置)状态。若你认为这是误操作,可通过添加任意评论来去除'stale'标签。标记为stale的Issue在4天内无更新活动将自动关闭。


非常抱歉给您带来不便。目前仓库中提供的示例脚本是基于 Atlas 900 A2 PoDc / Atlas 900 A3 SuperPoD 等机型 开发和验证的,这些设备配备的是 910B 系列 64GB 显存的 NPU 卡,因此脚本中的并行配置均以此硬件条件为前提进行调优。
您当前使用的 910B4-32G 卡显存为 32GB,资源相对受限,直接沿用原脚本的配置可能会因显存不足(OOM)而无法正常运行。我们不能保证该机型能正常跑下仓上的example脚本。
针对您的机型特点,给出如下调试建议:
- 如果能够接受更小的序列长度,减小序列长度可以节省更多的显存
- 进一步进行切分,将切分策略改为TP2 PP4 或 TP8 PP1 或 TP1 PP8,从而进一步节省显存
- 如果您只是想要尝试拉起训练,可以更换参数量更小的模型进行训练的拉起。
希望我的回答有帮到您!


如果您目前没有其他问题,我们将根据流程关闭此 issue。
如后续有新的疑问或补充内容,欢迎随时重新打开本 issue,或另起一个新的 issue 进行提问。
感谢您的理解与支持!


好的,关闭吧。感谢您的回复。


您好,这边检查了一下仓上的pretrain_qwen25_7b_32k_ptd.sh脚本,发现脚本参数中未开启冲计算,建议您也可参考重计算相关文档
https://gitcode.com/Ascend/MindSpeed-LLM/blob/master/docs/pytorch/features/recompute_relative.md
在代码中加入如下参数
--recompute-granularity full \
--recompute-method uniform \
--recompute-num-layers 1 \
开启重计算,可大幅优化现存,应该能让32G机型顺利跑下跑下该脚本。




环境信息:
服务器:Atlas800T A2 8*32G 单台
NPU驱动:25.3.rc1
固件:7.8.0.2.212
CANN:8.3.RC2
Pytorch:torch-2.7.1+cpu-cp310-cp310-manylinux_2_28_aarch64.whl
Torch-npu:torch_npu-2.7.1-cp310-cp310-manylinux_2_28_aarch64.whl
Apex:apex-0.1+ascend-cp310-cp310-linux_aarch64.whl
MindSpeed:master和2.3.0_core_r0.12.1分支,都执行了命令:pip3 install -e .
Megatron-LM:core_v0.12.1
MindSpeed-LLM:master
训练脚本部分配置:
`CKPT_LOAD_DIR="./model_weights/qwen2.5_mcore/" # 权重加载路径,填入权重转换时保存的权重路径
CKPT_SAVE_DIR="./ckpt/qwen25-7b" # 训练完成后的权重保存路径
DATA_PATH="./dataset/alpaca_text_document" # 数据集路径,填入数据预处理时保存的数据路径,注意需要添加后缀
TOKENIZER_PATH="./model_from_hf/qwen2.5_7b_hf/" # 词表路径,填入下载的开源权重词表路径
TP=1
PP=1
SEQ_LEN=1024
MBS=1
GBS=8`
报错信息:

[rank2]: RuntimeError: NPU out of memory. Tried to allocate 28.37 GiB (NPU 7; 29.49 GiB total capacity; 14.19 GiB already allocated; 14.19 GiB current active; 14.49 GiB free; 14.20 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.麻烦看下什么原因,期待回复。