全网首发,本地 GPU 服务器 8 卡 4090 部署 Qwen3.8-27B 实战

Published on with 2 views

Qwen3.8 27B 在今晚发布,还未完全开源,我就已经守在门前了。

image.png
image.png

原因也很简单,在之前的 Qwen3.6 27B 作为一个大小恰当,极具性价比的稠密型模型,在本地使用 Agent 构建工程项目完全够用。这一次发布 Qwen3.8 27B 一定有更大的提升,但具体效果怎么样还是得等 AA 客观的排行榜。

之前在选择模型的时候也考虑了 MoE 架构的,例如 35B-A3B 或者 122B 的相关模型,但实测都没有 Qwen3.6 27B 来的给力。

先说一下本地环境,两台 GPU 服务器,各节点插了 4 张 4090,共 8 卡,192G 显存。现在部署了 Qwen3.6 27B,但目前的

image.png
image.png

等到开源时间到先看开放的对比参数。相比 Qwen3.6-27B,Terminal-Bench 从 63.4 到 73.0 ,SWE-bench Pro 从 53.5 到 61.7 。DeepSWE 从 13.3 暴涨到 42.2 ,QwenSWEBench 从 49.3 到 79.0 。这说明最大升级来自 Agent、工具调用和软件工程后训练。

按照这个能力,这个已经可以排到云端模型的中等水平了,同时也基本超越了自家的 Qwen3.7 Plus 模型。

image.png

下一步就是下载模型了,注意这里需要指定下载到当前目录。

modelscope download --model Qwen/Qwen3.8-27B --local_dir ./Qwen3.8-27B

由于两个节点会涉及跨节点通信的问题,所以使用 vLLM 的分布式能力。跨节点使用 DP Coordinator 和 RPC 分配请求进行互联,也是吃了没有 NVLink 的亏。

以下是核心的运行脚本,参数可以根据环境自行调整。

# qwen3.8-head.sh
exec vllm serve "$MODEL_PATH"
--tokenizer "$MODEL_PATH" 
--host 0.0.0.0 
--port "$PORT" 
--api-server-count 2 
--served-model-name "$SERVED_MODEL_NAME" 
--dtype auto 
--kv-cache-dtype "$KV_CACHE_DTYPE" 
--generation-config auto 
--load-format auto 
--max-model-len "$MAX_MODEL_LEN" 
--gpu-memory-utilization "$GPU_MEMORY_UTILIZATION" 
--max-num-seqs "$MAX_NUM_SEQS" 
--max-num-batched-tokens "$MAX_NUM_BATCHED_TOKENS" 
--max-cudagraph-capture-size "$MAX_CUDAGRAPH_CAPTURE_SIZE" 
--tensor-parallel-size 4 
--data-parallel-size 2 
--data-parallel-size-local 1 
--data-parallel-address "$HEAD_IP" 
--data-parallel-rpc-port "$DP_RPC_PORT" 
--distributed-executor-backend mp 
--distributed-timeout-seconds 1800 
--disable-custom-all-reduce 
--enable-chunked-prefill 
--async-scheduling 
--optimization-level "$OPTIMIZATION_LEVEL" 
--performance-mode "$PERFORMANCE_MODE" 
--enable-auto-tool-choice 
--tool-call-parser qwen3_coder 
--reasoning-parser qwen3 
"${optional_args[@]}"
# qwen3.8-node.sh
exec vllm serve "$MODEL_PATH"
--tokenizer "$MODEL_PATH" 
--headless 
--served-model-name "$SERVED_MODEL_NAME" 
--dtype auto 
--kv-cache-dtype "$KV_CACHE_DTYPE" 
--generation-config auto 
--load-format auto 
--max-model-len "$MAX_MODEL_LEN" 
--gpu-memory-utilization "$GPU_MEMORY_UTILIZATION" 
--max-num-seqs "$MAX_NUM_SEQS" 
--max-num-batched-tokens "$MAX_NUM_BATCHED_TOKENS" 
--max-cudagraph-capture-size "$MAX_CUDAGRAPH_CAPTURE_SIZE" 
--tensor-parallel-size 4 
--data-parallel-size 2 
--data-parallel-size-local 1 
--data-parallel-start-rank 1 
--data-parallel-address "$HEAD_IP" 
--data-parallel-rpc-port "$DP_RPC_PORT" 
--distributed-executor-backend mp 
--distributed-timeout-seconds 1800 
--disable-custom-all-reduce 
--enable-chunked-prefill 
--async-scheduling 
--optimization-level "$OPTIMIZATION_LEVEL" 
--performance-mode "$PERFORMANCE_MODE" 
--enable-auto-tool-choice 
--tool-call-parser qwen3_coder 
--reasoning-parser qwen3 
"${optional_args[@]}"

完成之后先启动 node 节点,再启动 head 节点,等待模型的加载。

image.png

略等一会,部署好了,就能查到当前的模型了。

image.png

f89f5fae930b479a8f5d76d97c7d74b9.png

在聚合平台和 Hermes 平台分别做了一些测试,输出较为流畅,但参数应该还可以再进行优化,首字延迟和吞吐比之前慢了一点。

image.png

在服务器测试一些简单场景,看看模型是否能够胜任。

image.png

image.png

image.png

说简单也不简单,众所周知 XHS 是防爬虫的,我不知道 Agent 怎么绕过的,最终还是给我得到了想要的结果,也可能是其他平台上获取到的信息。

image.png

睡觉,晚安!


标题:全网首发,本地 GPU 服务器 8 卡 4090 部署 Qwen3.8-27B 实战
作者:Jeffrey

Responses
取消