Qwen3.8 模型部署
本章节包含 Qwen3.8 系列模型的部署脚本及说明。
-
参考 环境准备 进行环境检查、启动容器。
-
容器镜像地址参考 版本发布信息-镜像地址。
Qwen3.8-27B(BF16/FP8)
2卡部署 (tp=2) 示例如下
启动脚本 start_server.sh
#!/bin/bash
SGLANG_VENV="${SGLANG_VENV:-$HOME/.virtualenvs/sglang-default}"
SGLANG_PYTHON="${SGLANG_PYTHON:-${SGLANG_VENV}/bin/python3}"
SGLANG_HOST="${SGLANG_HOST:-0.0.0.0}"
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:/usr/local/musa/lib:$LD_LIBRARY_PATH
export MUSA_LAUNCH_BLOCKING=0
export MUSA_ENABLE_LLC_OPT=1
export MCCL_IB_GID_INDEX=3
export MCCL_NET_SHARED_BUFFERS=0
export MCCL_PROTOS=2
export GLOO_SOCKET_IFNAME=bond0
export TP_SOCKET_IFNAME=bond0
export VLLM_PATCH_MUSA_CUSTOM_OPS=1
SGLANG_ENABLE_SPECULATIVE="${SGLANG_ENABLE_SPECULATIVE:-1}"
# 清理缓存
rm -rf ~/.triton/cache
rm -rf /tmp/*
# pkill -f "sgl.*"
# mthreads-gmi | grep -E '^[0-9]+\s+[0-9]+\s+' | awk '{print $2}' |
#sort -u | xargs kill -9
# sleep 3
get_master_ip() {
local hostname_ip=$(hostname -I 2>/dev/null | awk '{print $1}')
if [ -n "$hostname_ip" ] && [ "$hostname_ip" != "127.0.0.1" ]; then
echo "$hostname_ip"
return
fi
}
CURRENT_TIME=$(date "+%Y%m%d_%H%M%S")
SGLANG_PORT="${SGLANG_PORT:-31000}"
#MASTER_IP=127.0.0.1
MASTER_IP=$(get_master_ip)
NODE_RANK=0
WORLD_SIZE=1
WORK_HOME="$PWD"
LOG_DIR=$WORK_HOME/output/$CURRENT_TIME/
mkdir -p "$LOG_DIR"
export SGLANG_TORCH_PROFILER_DIR=$WORK_HOME/traces
MODEL_PATH=/models/Qwen3.8-27B/
cmd=(
"$SGLANG_PYTHON" -m sglang.launch_server
--model-path ${MODEL_PATH}
--trust-remote-code
--cuda-graph-max-bs 192
--disable-cuda-graph-padding
--disable-piecewise-cuda-graph
--disable-overlap-schedule
--tp-size 2
--pp-size 1
--mem-fraction-static 0.78
--attention-backend fa3
--sampling-backend flashinfer
--linear-attn-backend flashinfer
--tokenizer-backend fastokens
--enable-cache-report
--mm-attention-backend fa3
--moe-runner-backend auto
--sampling-backend flashinfer
--dist-init-addr ${MASTER_IP}:50022
--nnodes ${WORLD_SIZE}
--node-rank ${NODE_RANK}
--chunked-prefill-size 4096
--disable-radix-cache
--max-running-requests 192
--max-prefill-tokens 8192
--port ${SGLANG_PORT}
--host "${SGLANG_HOST}"
--decode-log-interval 1
)
if [[ "$SGLANG_ENABLE_SPECULATIVE" == "1" ]]; then
cmd+=(
--speculative-algo NEXTN
--speculative-num-steps 1
--speculative-eagle-topk 1
--speculative-num-draft-tokens 2
)
fi
nohup "${cmd[@]}" > "${LOG_DIR}/${MASTER_IP}_$(date '+%Y%m%d_%H%M%S').log" 2>&1 &
echo -e "Main log file: \033[34m$LOG_DIR\033[0m"

