华为昇腾MindIE多机部署Qwen2.5-32B模型遇到HCCL通信异常求助
收藏回复举报
华为昇腾MindIE多机部署Qwen2.5-32B模型遇到HCCL通信异常求助
t('forum.solved') 已解决
发表于2026-01-12 19:18:37
0 查看

华为昇腾MindIE多机部署Qwen2.5-32B模型遇到HCCL通信异常求助

环境信息

  • 部署环境:华为云昇腾集群环境

  • 硬件配置:

    • 2台Atlas 800I A2推理服务器

    • 每台服务器配备8张Atlas 300I Duo推理卡(总计16张NPU)

  • 软件版本:

    • CANN版本:8.0.RC1

    • MindIE版本:2.1.RC1

    • 驱动版本:22.0.2

    • 操作系统:OpenEuler 22.04 LTS

问题一句话总结

在多机多卡环境下部署Qwen2.5-32B模型时,MindIE服务启动过程中出现HCCL通信异常,导致模型初始化失败。

问题详细描述

我们在两台Atlas 800I A2服务器上尝试部署Qwen2.5-32B大模型,按照官方文档进行了多机多卡配置。当启动MindIE服务时,系统日志显示HCCL(Huawei Collective Communication Library)通信初始化失败。

错误日志关键信息:

[HCCL] Init AllGatherHcclRunner failed, ret: 0xfffffff9
[HCCL] CreateHcclComm failed, ret: 0xfffffff9
[HCCL] InitHcclComm failed, ret: 0xfffffff9
[HCCL] HcclCommInitRootInfo failed, ret: 0xfffffff9

虽然基础IP网络连通性正常(节点间ping测试通过),但HCCL组件无法建立跨节点通信链路。服务启动后一直处于初始化状态,最终超时退出。

使用场景或目的

  • 业务需求:为公司的智能客服系统部署大模型推理服务

  • 规模要求:需要处理日均百万级的用户查询请求

  • 性能要求:响应时间需在2秒以内,支持高并发访问

  • 部署模式:多机多卡分布式推理,提升整体吞吐量

操作步骤

1. 环境准备阶段

  • 确认两台服务器NPU设备状态正常(使用npu-smi check)

  • 验证节点间网络互通(ping、telnet测试端口连通性)

  • 统一两台服务器的CANN和MindIE版本

2. 配置文件设置

mindie_service.cfg关键配置:

{
    "distributed_config": {
        "node_list": ["192.168.1.101", "192.168.1.102"],
        "node_rank": 0,
        "npu_ids": [0,1,2,3,4,5,6,7],
        "world_size": 16
    },
    "model_config": {
        "model_name": "qwen2.5-32b",
        "model_path": "/models/Qwen2.5-32B-Instruct",
        "tokenizer_path": "/models/Qwen2.5-32B-Instruct/tokenizer.json"
    }
}

3. 服务启动过程

  1. 在节点1(192.168.1.101)执行启动命令:

    cd /usr/local/Ascend/mindie/latest/mindie-service
    ./bin/mindieservice_daemon -c conf/mindie_service.cfg
  2. 在节点2(192.168.1.102)执行相同命令(修改node_rank为1)

  3. 观察日志输出,发现HCCL初始化失败错误

4. 故障排查尝试

我们已经尝试的排查方法:

  • 网络层面:

    • 确认防火墙已关闭(systemctl stop firewalld)

    • 验证节点间指定端口的连通性(telnet 192.168.1.101 29100)

    • 检查网络带宽和延迟情况

  • 系统配置:

    • 确认NPU设备权限正确(chmod 660 /dev/davinci*)

    • 验证环境变量设置(ASCEND_VISIBLE_DEVICES、HCCL_IF_IP)

    • 检查共享内存配置(/dev/shm容量充足)

  • 软件配置:

    • 尝试在config.json中设置"interNodeTLSEnabled": false

    • 启用详细HCCL日志(export HCCL_ENTRY_LOG_ENABLE=1)

    • 验证ranktable文件配置正确性

期望获得的帮助

  1. 问题定位:希望了解HCCL通信失败的根本原因,特别是多机环境下的特殊配置要求

我要发帖子