华为昇腾 1 张卡 300I Duo 跑 Qwen3.6-27B、Qwen3-Embedding-8B 嵌入模型、Qwen3-Reranker-8B 重排序模型(GPUStack 辅助),保姆级命令及
华为昇腾1张卡300I Duo跑Qwen3.6-27B、Qwen3-Embedding-8B嵌入模型、Qwen3-Reranker-8B重排序模型GPUStack辅助保姆级命令及教程昇腾 Atlas 300I Duo单卡双 NPU三模型混合部署保姆级教程硬件与模型说明硬件Atlas 300I Duo1 张卡 2 颗 310P NPU单 NPU 48GB合计 96GB NPU 显存模型组合RAG 全链路Qwen3.6-27B-Instruct 对话大模型TP2双卡并行推理Qwen3-Embedding-8B 向量嵌入模型单 NPU 轻量实例Qwen3-Reranker-8B 重排序模型单 NPU 轻量实例调度工具GPUStack统一纳管 NPU、多实例资源隔离、OpenAI 标准 API推理引擎vLLM-Ascend原生支持 Qwen3 系列、Embedding/Reranker、昇腾图优化版本基线必须对齐否则 OOM / 算子报错CANN8.5.RC2驱动固件HDK 25.5.1 / Firmware 7.7.0vLLM-Ascend ≥0.13.0rc3支持 Qwen3 Reranker 专用架构GPUStack ≥0.6.0完善昇腾 NPU 资源调度一、底层环境前置安装物理机操作1.1 用户权限配置# 昇腾运行专属用户组sudo groupadd HwHiAiUsersudo useradd -g HwHiAiUser -m HwHiAiUser -s /bin/bash# 当前用户加入NPU权限组sudo usermod -aG HwHiAiUser $USER# 生效权限newgrp HwHiAiUser1.2 驱动 固件安装Atlas300I Duo 专用昇腾官网下载对应系统包x86_64/aarch64 二选一Ascend-hdk-310p-npu-driver_25.5.1_linux-x86_64.runAscend-hdk-310p-npu-firmware_7.7.0.x.run赋予执行权限chmod x *.run# 首次安装先驱动后固件sudo ./Ascend-hdk-310p-npu-driver_25.5.1_linux-x86_64.run --fullsudo ./Ascend-hdk-310p-npu-firmware_7.7.0.x.run --full# 重启生效sudo reboot验证 NPU 识别必须输出 2 块 310Pbashnpu-smi info# 输出应显示 NPU0、NPU1Memory 48768MB/颗1.3 CANN 工具包安装# 解压CANN 8.5.RC2包unzip Ascend-cann-toolkit_8.5.RC2_linux-x86_64.zipchmod x Ascend-cann-toolkit_8.5.RC2_linux-x86_64.runsudo ./Ascend-cann-toolkit_8.5.RC2_linux-x86_64.run --install# 写入环境变量永久生效echo source /usr/local/Ascend/ascend-toolkit/latest/set_env.sh ~/.bashrcsource ~/.bashrc1.4 昇腾 Docker RuntimeGPUStack 依赖# 安装ascend-docker-runtimesudo apt install -y ascend-docker-runtime# 配置docker默认runtime为ascendsudo vi /etc/docker/daemon.json# 写入内容{runtimes: {ascend: {path: /usr/bin/npu-docker-runtime,runtimeArgs: []}},default-runtime: ascend}# 重启dockersudo systemctl restart docker# 校验docker info | grep ascend二、GPUStack 单机部署ServerWorker 一体化2.1 Docker 一键启动 GPUStack 服务# 创建模型存储目录离线模型存放路径sudo mkdir -p /data/models sudo chmod 777 /data/models# 启动GPUStack容器完整NPU设备挂载关键参数不可省略docker run -d \--name gpustack \--restart unless-stopped \--privileged \--ipchost \--device /dev/davinci0 \--device /dev/davinci1 \--device /dev/davinci_manager \--device /dev/devmm_svm \--device /dev/hisi_hdc \-v /usr/local/Ascend:/usr/local/Ascend:ro \-v /usr/local/dcmi:/usr/local/dcmi:ro \-v /var/log/npu:/var/log/npu \-v /data/models:/data/models \-v /var/lib/gpustack:/var/lib/gpustack \-p 80:80 \gpustack/gpustack:latest-ascend2.2 登录 GPUStack 控制台浏览器访问 http://服务器IP初始密码查看docker exec gpustack cat /var/lib/gpustack/token登录后进入【资源】页面确认识别到 2 颗 310P NPU96GB 总显存三、模型下载两种方式推荐 ModelScope 国内加速方式 1容器内在线拉取GPUStack 自动下载环境变量开启 ModelScope 加速部署时填入环境变量VLLM_USE_MODELSCOPEtrue模型 IDQwen/Qwen3.6-27B-InstructQwen/Qwen3-Embedding-8BQwen/Qwen3-Reranker-8B方式 2离线下载至 /data/models无外网环境# 安装modelscopepip install modelscope# 下载27B对话模型modelscope download --model Qwen/Qwen3.6-27B-Instruct --local-dir /data/models/Qwen3.6-27B-Instruct# 嵌入模型modelscope download --model Qwen/Qwen3-Embedding-8B --local-dir /data/models/Qwen3-Embedding-8B# 重排模型modelscope download --model Qwen/Qwen3-Reranker-8B --local-dir /data/models/Qwen3-Reranker-8B四、GPUStack 三模型部署配置保姆级参数 完整启动命令核心资源规划300I Duo 96GB 显存最优分配Qwen3.6-27B-InstructTP2占用 NPU0NPU1bfloat16 约 72GBQwen3-Embedding-8BDP1独占 NPU0 分片剩余显存8GBQwen3-Reranker-8BDP1独占 NPU1 分片剩余显存8GB总显存占用≈88GB预留 8GB 缓冲无 OOM 风险4.1 模型 1Qwen3.6-27B-Instruct 部署参数Web 界面填写模型名称qwen3.6-27b模型路径/data/models/Qwen3.6-27B-Instruct离线/ Qwen/Qwen3.6-27B-Instruct在线推理后端vllm-ascend实例数量1分配 NPU0,1环境变量复制全部填入PYTORCH_NPU_ALLOC_CONFexpandable_segments:TrueHCCL_OP_EXPANSION_MODEAIVHCCL_BUFFSIZE1024OMP_NUM_THREADS1TASK_QUEUE_ENABLE1VLLM_USE_MODELSCOPEtrueASCEND_RT_VISIBLE_DEVICES0,1后端启动参数完整复制单行--served-model-name qwen3.6-27b--tensor-parallel-size 2--data-parallel-size 1--max-model-len 32768--gpu-memory-utilization 0.75--dtype bfloat16--trust-remote-code--enable-npu-graph 1--max-num-batched-tokens 24576--max-num-seqs 64--enforce-eager4.2 模型 2Qwen3-Embedding-8B 向量嵌入部署Web 界面填写模型名称qwen3-embedding-8b模型路径/data/models/Qwen3-Embedding-8B推理后端vllm-ascend实例数量1分配 NPU0环境变量PYTORCH_NPU_ALLOC_CONFexpandable_segments:TrueOMP_NUM_THREADS1ASCEND_RT_VISIBLE_DEVICES0VLLM_USE_MODELSCOPEtrue后端启动参数Embedding 专用--served-model-name qwen3-embedding-8b--tensor-parallel-size 1--data-parallel-size 1--max-model-len 32768--gpu-memory-utilization 0.2--dtype bfloat16--trust-remote-code--enable-npu-graph 1--task embed4.3 模型 3Qwen3-Reranker-8B 重排序部署关键特殊参数Web 界面填写模型名称qwen3-reranker-8b模型路径/data/models/Qwen3-Reranker-8B推理后端vllm-ascend实例数量1分配 NPU1环境变量PYTORCH_NPU_ALLOC_CONFexpandable_segments:TrueOMP_NUM_THREADS1ASCEND_RT_VISIBLE_DEVICES1VLLM_USE_MODELSCOPEtrue后端启动参数Reranker 必须加 hf_overrides 适配--served-model-name qwen3-reranker-8b--tensor-parallel-size 1--data-parallel-size 1--max-model-len 32768--gpu-memory-utilization 0.2--dtype bfloat16--trust-remote-code--enable-npu-graph 1--task score--hf_overrides {architectures:[Qwen3ForSequenceClassification],is_original_qwen3_reranker:true}4.4 部署操作步骤GPUStack 左侧【模型】→【部署模型】依次创建 3 个模型实例全部参数复制粘贴核对 NPU 分配27B 占 0,1Embedding 占 0Reranker 占 1点击【保存并部署】等待模型下载 / 权重加载27B 首次加载约 15-30 分钟查看【实例】页面三个实例状态全部为「运行中」即部署成功五、本地裸机 vLLM-Ascend 独立启动命令不使用 GPUStack 备选方案5.1 环境变量统一加载source /usr/local/Ascend/ascend-toolkit/latest/set_env.shexport PYTORCH_NPU_ALLOC_CONFexpandable_segments:Trueexport HCCL_OP_EXPANSION_MODEAIVexport HCCL_BUFFSIZE1024export OMP_NUM_THREADS1export TASK_QUEUE_ENABLE1export VLLM_USE_MODELSCOPEtrue5.2 终端 1Qwen3.6-27B双卡 TP端口 8000ASCEND_RT_VISIBLE_DEVICES0,1 vllm serve /data/models/Qwen3.6-27B-Instruct \--served-model-name qwen3.6-27b \--host 0.0.0.0 \--port 8000 \--tensor-parallel-size 2 \--data-parallel-size 1 \--max-model-len 32768 \--gpu-memory-utilization 0.75 \--dtype bfloat16 \--trust-remote-code \--enable-npu-graph 1 \--max-num-batched-tokens 24576 \--max-num-seqs 64 \--enforce-eager5.3 终端 2Embedding-8BNPU0端口 8001ASCEND_RT_VISIBLE_DEVICES0 vllm serve /data/models/Qwen3-Embedding-8B \--served-model-name qwen3-embedding-8b \--host 0.0.0.0 \--port 8001 \--tensor-parallel-size 1 \--gpu-memory-utilization 0.2 \--task embed \--trust-remote-code5.4 终端 3Reranker-8BNPU1端口 8002ASCEND_RT_VISIBLE_DEVICES1 vllm serve /data/models/Qwen3-Reranker-8B \--served-model-name qwen3-reranker-8b \--host 0.0.0.0 \--port 8002 \--tensor-parallel-size 1 \--gpu-memory-utilization 0.2 \--task score \--trust-remote-code \--hf_overrides {architectures:[Qwen3ForSequenceClassification],is_original_qwen3_reranker:true}六、API 调用测试OpenAI 标准格式6.1 对话模型 /v1/chat/completionscurl http://127.0.0.1:80/v1/chat/completions \-H Content-Type: application/json \-d {model: qwen3.6-27b,messages: [{role:user,content:介绍RAG检索增强生成}]}6.2 向量嵌入 /v1/embeddingscurl http://127.0.0.1:80/v1/embeddings \-H Content-Type: application/json \-d {model: qwen3-embedding-8b,input: 昇腾300I Duo大模型推理}6.3 重排序打分 /v1/scorecurl http://127.0.0.1:80/v1/score \-H Content-Type: application/json \-d {model: qwen3-reranker-8b,query: 昇腾部署Qwen3教程,documents: [300I Duo部署Qwen3.6-27B,英伟达A100训练LLaMA]}七、常见踩坑解决方案1. 模型加载 OOM显存溢出降低 27B 的gpu-memory-utilization至 0.7关闭--enable-npu-graph图编译占用额外显存27B 必须 TP2禁止单 NPU 加载 27B。2. Reranker 模型报错权重不匹配必须添加--hf_overrides参数vLLM-Ascend 原生不自动识别 Qwen3-Reranker 架构模型权重完整无缺失 bin 分片。3. GPUStack 无法识别 NPU容器启动必须带--ipchost昇腾双卡通信依赖共享内存确认宿主机 docker runtime 为 ascend执行npu-smi info验证宿主机 NPU 正常。4. HCCL 通信失败27B 双卡并行报错环境变量HCCL_OP_EXPANSION_MODEAIV必须配置关闭防火墙PCIe 互通无隔离重启 GPUStack 容器重新加载。5. Embedding 无向量输出启动参数添加--task embedvLLM 默认 LLM 模式不会输出向量模型路径正确使用 Embedding 专用权重不要用基础 Qwen3。八、运维监控命令1. 宿主机 NPU 实时显存 / 负载监控npu-smi info -t memory -i 0npu-smi info -t memory -i 1watch -n1 npu-smi info2. GPUStack 查看实例日志# 查看全部实例docker exec -it gpustack gpustack-cli list-instances# 查看单实例实时日志docker exec -it gpustack gpustack-cli logs 实例ID -f3. 停止 / 重启单个模型实例docker exec -it gpustack gpustack-cli stop-instance 实例IDdocker exec -it gpustack gpustack-cli start-instance 实例ID

相关新闻