# 托管训练 常见问题
如何还是无法解决,请企微联系海聪AI平台服务热线
# 托管训练如何使用conda
可以使用conda run运行程序,写到托管训练启动命令中,不需要使用 conda activate my_env
例如:
conda run --no-capture-output -n my_env python test.py
# 如何生效profile中的环境变量
如果在notebook中配置了 profile,在 notebook 打开terminal会自动生效,但是在托管训练启动时不会生效,需要手工显示触发
请在托管训练启动命令中,最前面添加:
. /etc/profile
其它.bashrc 等配置生效类似
# 如果开启RDMA多机训练
目前上海A800机器都支持RDMA网络,在多机训练下,多机间通信速度提升会非常明显,直接影响训练速度的提升
目前已知在非MOE结构大模型下,相较于原无RDMA的A100机器,训练速度提升可达50%
先安装环境:
apt update && apt install -y infiniband-diags perftest ibverbs-providers libibumad3 libibverbs1 libnl-3-200 libnl-route-3-200 librdmacm1
配置环境变量:
export NCCL_PXN_DISABLE=1
export NCCL_SOCKET_IFNAME=eth0
export NCCL_IB_DISABLE=0
export NCCL_NET_GDR_LEVEL=3
export NCCL_IB_HCA=mlx5_1:1,mlx5_2:1,mlx5_3:1,mlx5_4:1
export NCCL_IB_GID_INDEX=3
注:
- 上面的配置,可以直接写到托管训练启动命令中,也可以写进自己启动脚本中
- 分布式训练backend必须选择为nccl,不能是gloo
# 如何部署vllm多机推理
仅供临时测试验证用,不允许用这个方式上线使用
以下是2机16卡的例子:
托管训练模式选择EFDL弹性训练(PyTorch Distributed)模式
export GLOO_SOCKET_IFNAME=eth0
export NCCL_SOCKET_IFNAME=eth0
while [ "$LOCAL_RANK" != "0" ]; do
sleep 10
done
if [ "$RANK" = "0" ]; then
echo "I am master: ${MASTER_ADDR}"
ray start --head --port=6379
sleep 1m
vllm serve /path/to/Qwen3-235B-A22B --served-model-name rp_ig --tensor-parallel-size 8 --pipeline-parallel-size 2
else
echo "I am worker"
ray start --block --address="${MASTER_ADDR}:6379"
fi
如何访问:日志中搜索"I am master",找到它的ip地址,替换下面的MASTER_ADDR即可测试:
curl -X POST 'http://MASTER_ADDR:8000/v1/chat/completions' --header 'Content-Type: application/json' -d '{
"model": "rp_ig",
"messages": [{"role": "user", "content": "你是谁"
}
]
}'
# 分布式训练or推理时相关环境变量
当训练模式选择:EFDL弹性训练(PyTorch Distributed)时,会自动注入这些环境变量:
- MASTER_ADDR:master节点IP
- MASTER_PORT:master节点端口
- RANK:每个GPU的序号,全局
- WORLD_SIZE:全局总GPU数量
- LOCAL_RANK:本机的GPU序号
- LOCAL_SIZE:本机GPU数量
← Notebook 常见问题 公共常见问题 →