已关闭
[Usage]: 按照官方文档中的quickstart,进行分布式训练qwen25,一直报错:[rank]: [ERROR]2026-03-24-08:08:06 (PID:2217,Device:0,RankID:0)ERRO2200 DIST call hccl api failed. #1257
AstarteJiao创建于  3月24日关闭于  4月13日
AstarteJiao
3月24日 创建

在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。

环境信息

例如:
- 操作系统 是麒麟V10
- 昇腾硬件信息 910B4
- CANN软件版本 8.1
- 安装的对应软件版本npu-smi 25.2.3

次节点上,分布式训练脚本dis_tune_qwen25_0.5b_lora_ptd.sh内容

#!/bin/bash

export CUDA_DEVICE_MAX_CONNECTIONS=1
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True

NPUS_PER_NODE=1
MASTER_ADDR=101.101.102.11
MASTER_PORT=29500
NNODES=2
NODE_RANK=1 # 主节点这里是0,其他参数都一样
WORLD_SIZE=$(($NPUS_PER_NODE*$NNODES))

# please fill these path configurations
CKPT_LOAD_DIR="/mnt/fly/llm_distribute/qwen2.5_mcore_0.5bv2/"
CKPT_SAVE_DIR="/mnt/model_data/tmp/qwen2.5-0.5bv2"
DATA_PATH="/mnt/fly/llm_distribute/finetune_dataset/alpacav1"
TOKENIZER_PATH="/mnt/model_data/llm_pretrained_model/Qwen2.5-0.5B-Instruct/"

TP=2
PP=2
SEQ_LEN=32768
MBS=1
GBS=8

DISTRIBUTED_ARGS="
    --nproc_per_node $NPUS_PER_NODE \
    --nnodes $NNODES \
    --node_rank $NODE_RANK \
    --master_addr $MASTER_ADDR \
    --master_port $MASTER_PORT
"

TUNE_ARGS="
    --finetune \
    --stage sft \
    --is-instruction-dataset \
    --variable-seq-lengths \
    --tokenizer-not-use-fast \
    --prompt-type qwen \
    --lora-r 8 \
    --lora-alpha 16 \
    --lora-fusion \
    --lora-target-modules linear_qkv linear_proj linear_fc1 linear_fc2
"

GPT_ARGS="
    --use-mcore-models \
    --tensor-model-parallel-size ${TP} \
    --pipeline-model-parallel-size ${PP} \
    --num-layers 24 \
    --hidden-size 896 \
    --ffn-hidden-size 4864 \
    --num-attention-heads 14 \
    --tokenizer-type PretrainedFromHF \
    --tokenizer-name-or-path ${TOKENIZER_PATH} \
    --seq-length ${SEQ_LEN} \
    --max-position-embeddings ${SEQ_LEN} \
    --micro-batch-size ${MBS} \
    --global-batch-size ${GBS} \
    --make-vocab-size-divisible-by 1 \
    --padded-vocab-size 151936 \
    --rotary-base 1000000 \
    --lr 1.25e-6 \
    --min-lr 1.25e-7 \
    --train-iters 500 \
    --lr-decay-style cosine \
    --untie-embeddings-and-output-weights \
    --disable-bias-linear \
    --attention-dropout 0.0 \
    --init-method-std 0.02 \
    --hidden-dropout 0.0 \
    --position-embedding-type rope \
    --normalization RMSNorm \
    --swiglu \
    --use-flash-attn \
    --weight-decay 0.0 \
    --use-rotary-position-embeddings \
    --no-masked-softmax-fusion \
    --attention-softmax-in-fp32 \
    --clip-grad 1.0 \
    --adam-beta1 0.9 \
    --adam-beta2 0.95 \
    --add-qkv-bias \
    --initial-loss-scale 4096 \
    --no-gradient-accumulation-fusion \
    --no-load-optim \
    --no-load-rng \
    --seed 1234 \
    --bf16 \
    --group-query-attention \
    --num-query-groups 2 \
    --norm-epsilon 1e-06
"

DATA_ARGS="
    --data-path $DATA_PATH \
    --split 100,0,0
"

OUTPUT_ARGS="
    --log-interval 1 \
    --save-interval 500 \
    --eval-interval 1 \
    --eval-iters 0 \
"

torchrun $DISTRIBUTED_ARGS posttrain_gpt.py \
    $GPT_ARGS \
    $DATA_ARGS \
    $OUTPUT_ARGS \
    $TUNE_ARGS \
    --distributed-backend nccl \
    --load ${CKPT_LOAD_DIR} \
    --save ${CKPT_SAVE_DIR} \
    | tee logs/tune_mcore_qwen25_0.5b_lora.log

报错信息wx_camera_1774339964146.jpg

使用场景及问题

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
ascend-robotascend-robot成员
3月24日 添加了label:usage
AtlasAccountAtlasAccount成员
3月24日 添加了label:usage
AAstarteJiao
3月24日 修改了issue 的描述
AAstarteJiao
3月24日 修改了issue 的描述
z__y成员
3月24日 评论:

您好,请问您拉起两个机器训练的时候有没有在两个机器上分别改这个rank呢:image.png

likedislike
z__y成员
3月24日 评论:

您好,请问您拉起两个机器训练的时候有没有在两个机器上分别改这个rank呢:image.png

@z__y

两台机器应该一个是0,一个是1,上面的地址应该写rank0的机器的地址

likedislike
AstarteJiao
3月25日 评论:

您好,请问您拉起两个机器训练的时候有没有在两个机器上分别改这个rank呢:image.png

@z__y

两台机器应该一个是0,一个是1,上面的地址应该写rank0的机器的地址

@z__y

改过的,主节点机器上是0次节点是1

likedislike
AstarteJiao
3月25日 评论:

您好,请问您拉起两个机器训练的时候有没有在两个机器上分别改这个rank呢:image.png

@z__y

两台机器应该一个是0,一个是1,上面的地址应该写rank0的机器的地址

@z__y

MASTER_ADDR参数写的都是rank0的IP地址,当前镜像用的是mindspeed_rl_2.2.0版本

likedislike
z__y成员
3月30日 评论:

您好,请问您拉起两个机器训练的时候有没有在两个机器上分别改这个rank呢:image.png

@z__y

两台机器应该一个是0,一个是1,上面的地址应该写rank0的机器的地址

@z__y

MASTER_ADDR参数写的都是rank0的IP地址,当前镜像用的是mindspeed_rl_2.2.0版本

@AstarteJiao

您好,我们仓库有配套的mindspeed_llm镜像,您使用的mindspeed_rl镜像可能和我们的配置不一样

likedislike
z__y成员
3月30日 评论:

您好,请问您拉起两个机器训练的时候有没有在两个机器上分别改这个rank呢:image.png

@z__y

两台机器应该一个是0,一个是1,上面的地址应该写rank0的机器的地址

@z__y

MASTER_ADDR参数写的都是rank0的IP地址,当前镜像用的是mindspeed_rl_2.2.0版本

@AstarteJiao

https://gitcode.com/Ascend/MindSpeed-LLM/wiki/MindSpeed-LLM-2.2.0镜像使用指导.md
您好,这是镜像使用说明

likedislike
歪比巴卜歪比巴卜成员
3月31日 将 z__y 设为负责人
歪比巴卜
歪比巴卜成员
4月13日 评论:

/label add resolved

likedislike
ascend-robotascend-robot成员
4月13日 添加了label:resolved
歪比巴卜
歪比巴卜成员
4月13日 评论:

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

likedislike
歪比巴卜歪比巴卜成员
4月13日 issue状态由 TODO 改变为 DONE
歪比巴卜歪比巴卜成员
4月13日 关闭了 issue
dev_zyx
dev_zyx
5月18日 评论:

你好,我也遇到了这个问题,请问最终是如何解决啊?

likedislike