caovan-vLLM SM75 Turbo3 v0.4.22 升级到 v0.4.33

本文详细介绍 Caovan vLLM SM75 Turbo3 v0.4.33 的安装与使用方法,适用于 2×RTX 2080Ti 22G / SM75 显卡运行 Qwen3.6-27B-AWQ-INT4。教程包含环境要求、插件安装、doctor 检查、vLLM 启动命令、关键日志判断、常见问题排查,以及 v0.4.33 相比 v0.4.22 的核心变化说明。

Table of Contents

一、版本说明

Caovan vLLM SM75 Turbo3 external plugin v0.4.33 是面向 RTX 2080Ti / SM75 架构的阶段性新版本。

相比之前公开使用较多的 v0.4.22,v0.4.33 的重点不再只是自动注入启动参数,而是进一步引入了:

Caovan GDNCore Real Prefill
AcceptanceLock Iota
MTP=3 稳定路线
split-QK + fused V/GDN decode path
external_gdn_kernel=none
tilelang=not required
runtime_cuda_extension=not required

简单来说,v0.4.33 的目标是:

继续保持 2×RTX 2080Ti 22G 的显存安全
不使用 MTP=4 这种容易 OOM 的路线
不依赖 FlashQLA / TileLang / 外部 GDN kernel
通过自研 GDNCore 接管 real-prefill
通过 AcceptanceLock 保护 MTP speculative decoding 的接受率

如果你之前使用的是 v0.4.22,可以把 v0.4.33 理解为一个新的阶段性升级版:它保留了 AutoSpec、DynamicTP、AutoMem、Elastic-KV 等自动化能力,同时进一步把优化推进到底层 GDNCore 和 decode path。


二、适用环境

本教程主要面向如下环境:

系统:Ubuntu 22.04
显卡:2×RTX 2080Ti 22G
架构:SM75
模型:Qwen3.6-27B-AWQ-INT4
推理框架:vLLM
插件版本:caovan-vllm-sm75-turbo3 v0.4.33
Python 环境:Miniconda / Conda

实测环境中使用的关键软件栈包括:

Python 3.11
PyTorch 2.11.0+cu130
CUDA runtime 13.0
Triton 3.6.0
vLLM 0.21.0
ptxas /usr/local/cuda/bin/ptxas

注意:不同机器的软件栈可能存在差异。如果环境差异较大,建议先运行 caovan-sm75-doctor 检查。


三、准备插件压缩包

下载插件:

Premium

PREMIUM ACCESS

会员专属内容

开通会员后可查看完整内容、下载资源和使用隐藏教程。

将插件压缩包上传到服务器用户目录,例如:

~/caovan-vllm-sm75-turbo3-v0.4.33-external-plugin.zip

压缩包内应包含:

CHANGELOG.md
LICENSE
README.md
VERSION
docs/
pyproject.toml
src/
dist/caovan_vllm_sm75_turbo3-0.4.33-py3-none-any.whl

其中真正安装的是 dist/ 目录下的 wheel 文件。


四、安装 v0.4.33 插件

请复制以下完整命令执行:

cd ~

source ~/miniconda3/etc/profile.d/conda.sh

conda activate caovan-vllm

rm -rf ~/caovan-vllm-sm75-turbo3-v0.4.33

unzip -o ~/caovan-vllm-sm75-turbo3-v0.4.33-external-plugin.zip -d ~/caovan-vllm-sm75-turbo3-v0.4.33

cd ~/caovan-vllm-sm75-turbo3-v0.4.33

pip install --force-reinstall dist/caovan_vllm_sm75_turbo3-0.4.33-py3-none-any.whl

caovan-sm75-doctor

如果安装成功,终端中应该能看到类似信息:

Successfully installed caovan-vllm-sm75-turbo3-0.4.33

然后 caovan-sm75-doctor 会输出当前 Python、CUDA、GPU、Triton、vLLM、GDNCore、AutoSpec、AutoMem 等检查结果。


五、doctor 检查重点

运行:

caovan-sm75-doctor

需要重点确认以下信息。

1. 插件版本正确

应该看到:

Caovan vLLM SM75 Turbo3 external plugin v0.4.33

如果这里仍然显示旧版本,比如 v0.4.22、v0.4.28、v0.4.30、v0.4.32,说明当前环境中插件没有正确覆盖安装。


2. GPU 架构识别正确

应该能看到类似:

gpu0=NVIDIA GeForce RTX 2080 Ti, capability=(7, 5)
gpu1=NVIDIA GeForce RTX 2080 Ti, capability=(7, 5)

其中 capability=(7, 5) 就是 SM75。


3. vLLM 状态正常

应该看到:

vLLM 状态:PASS

如果 vLLM 导入失败,通常说明当前 Conda 环境不对,或者 vLLM 没有正确安装。


4. GDN 接口检查通过

v0.4.33 会自动检查 vLLM 内部 GDN 路径。不同 vLLM 版本内部目录可能不同,所以某个候选路径跳过并不一定是错误。

常见正常情况类似:

GDN 候选路径:跳过 modular-qwen-gdn-v021
GDN 接口检查:PASS family=legacy-gdn-linear-attn-v020

只要最终有 PASS 路径接管,就说明正常。


5. GDNCore 检查通过

v0.4.33 的核心是 Caovan GDNCore Real Prefill AcceptanceLock Iota。doctor 中应该显示类似:

Caovan GDNCore:PASS
GDNCore backend=caovan_gdncore
GDNCore external_gdn_kernel_dependency=none
GDNCore tilelang=not required
GDNCore runtime_cuda_extension=not required

这说明 v0.4.33 不依赖 FlashQLA、TileLang 或外部 GDN runtime extension。


6. AutoSpec 结果保持 MTP=3

在 2×RTX 2080Ti 22G 环境中,推荐保持 MTP=3:

AutoSpec 结果:MTP=3

这里不建议使用 MTP=4。虽然 MTP=4 在某些情况下可以提高速度,但在 2×2080Ti 22G 上容易带来 OOM 风险。v0.4.33 的路线是保持 MTP=3,通过底层 GDNCore 和 decode path 优化提高效率,而不是用 MTP=4 硬拉速度。


六、启动 vLLM 服务

确认 doctor 正常后,可以使用以下命令启动服务:

cd ~

source ~/miniconda3/etc/profile.d/conda.sh

conda activate caovan-vllm

export CUDA_VISIBLE_DEVICES=0,1
export OMP_NUM_THREADS=12
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
export PYTORCH_NVML_BASED_CUDA_CHECK=1

export CAOVAN_REQUIRE_TURBO3=1
export CAOVAN_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/caovan-sm75-turbo3"

unset CAOVAN_FLASHQLA_PRECOMPILE
unset CAOVAN_FLASHQLA_FORCE
unset CAOVAN_FLASHQLA_DISABLE

export TORCHINDUCTOR_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/torchinductor"
export TORCHINDUCTOR_COMPILE_THREADS=1
export TRITON_CACHE_AUTOTUNING=1
export TRITON_PTXAS_PATH=/usr/local/cuda/bin/ptxas

caovan-vllm-serve /data/qwen/Qwen3.6-27B-AWQ-INT4 \
  --host 0.0.0.0 \
  --port 8000 \
  --served-model-name Qwen3.6-27B-AWQ-INT4 \
  --tensor-parallel-size 2 \
  --dtype half \
  --max-model-len 262144 \
  --max-num-seqs 2 \
  --max-num-batched-tokens 8192 \
  --kv-cache-dtype fp8 \
  --disable-custom-all-reduce \
  --enable-prefix-caching \
  --mamba-cache-mode align \
  --additional-config '{"caovan":true,"caovan_mode":"auto","caovan_require_turbo3":true}' \
  --reasoning-parser qwen3 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder

七、启动参数说明

CUDA_VISIBLE_DEVICES

export CUDA_VISIBLE_DEVICES=0,1

表示只使用 GPU0 和 GPU1 两张显卡。

如果你的机器中有 4 张显卡,但只希望 vLLM 使用前两张,就保持这个设置。


OMP_NUM_THREADS

export OMP_NUM_THREADS=12

用于控制 CPU 线程数量,避免 CPU 线程过度争抢。


PYTORCH_CUDA_ALLOC_CONF

export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True

用于缓解 PyTorch CUDA 内存碎片问题。


CAOVAN_REQUIRE_TURBO3

export CAOVAN_REQUIRE_TURBO3=1

表示要求启用 Caovan Turbo3 插件。如果插件没有正确启用,应尽早暴露问题。


CAOVAN_CACHE_DIR

export CAOVAN_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/caovan-sm75-turbo3"

用于指定 Caovan 插件缓存目录。


unset FlashQLA 相关变量

unset CAOVAN_FLASHQLA_PRECOMPILE
unset CAOVAN_FLASHQLA_FORCE
unset CAOVAN_FLASHQLA_DISABLE

v0.4.33 不依赖 FlashQLA,因此这里清理掉旧版本可能遗留的 FlashQLA 环境变量,避免混淆。


TORCHINDUCTOR_CACHE_DIR

export TORCHINDUCTOR_CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/torchinductor"

用于指定 TorchInductor 缓存目录。


TRITON_PTXAS_PATH

export TRITON_PTXAS_PATH=/usr/local/cuda/bin/ptxas

确保 Triton 使用正确的 ptxas。


–tensor-parallel-size 2

--tensor-parallel-size 2

表示模型使用两张显卡做 tensor parallel。


–max-model-len 262144

--max-model-len 262144

表示最大上下文长度为 262144。

如果你的显存、模型、并发或使用场景不同,这个参数需要谨慎调整。


–max-num-seqs 2

--max-num-seqs 2

表示最多同时处理 2 个序列。


–max-num-batched-tokens 8192

--max-num-batched-tokens 8192

控制 batch token 上限。


–kv-cache-dtype fp8

--kv-cache-dtype fp8

使用 FP8 KV cache,降低显存压力。


–mamba-cache-mode align

--mamba-cache-mode align

用于 GDN / Mamba 相关路径的 cache 对齐。


–additional-config

--additional-config '{"caovan":true,"caovan_mode":"auto","caovan_require_turbo3":true}'

这是 Caovan 插件的关键配置。一般用户不需要额外手写 MTP 或 gpu_memory_utilization,插件会通过 AutoSpec 和 AutoMem 自动处理。


八、如何判断 v0.4.33 是否真正生效

启动后重点看日志。

1. 确认插件启用

应该看到类似:

Caovan SM75 Turbo3

或者:

caovan_mode=auto

2. 确认 MTP=3

应该看到:

speculative_config=auto MTP=3

如果显示 MTP=4,不符合 v0.4.33 的推荐路线。2×RTX 2080Ti 22G 不建议默认使用 MTP=4。


3. 确认 GDNCore real-prefill 生效

真实请求后应该出现:

[Caovan GDNCore] ACTIVE REAL PREFILL

这说明 Caovan GDNCore 已经进入真实 prefill 路径,而不是只停留在 selftest 或 doctor 检查阶段。


4. 确认 decode path

v0.4.33 应该回到 acceptance-locked split-QK 路线。日志中重点看类似:

Caovan SM75 Turbo3 ACTIVE DISPATCH confirmed

如果看到 v0.4.32 的 single-launch 路线,说明版本或环境变量可能混用了。


5. 观察吞吐速度

在测试环境中,v0.4.33 的目标是恢复到 80+ tokens/s,并尽量稳定在 88–92 tokens/s 区间。

日志中可能看到类似:

Avg generation throughput: 88 tokens/s
Avg generation throughput: 90 tokens/s
Avg generation throughput: 92 tokens/s

不同 prompt、上下文长度、输出长度、并发状态都会影响速度,所以不要只看单个瞬时值,要看一段时间内的稳定区间。


6. 观察 Draft acceptance rate

v0.4.33 的一个重点是保护 speculative decoding 接受率。日志中可以关注:

Avg Draft acceptance rate

如果接受率长期低于预期,说明 decode path、prompt 类型或底层 kernel 可能影响了 MTP 接受率。

v0.4.33 的 AcceptanceLock 思路就是为了避免 v0.4.32 那种“kernel launch 减少了,但接受率下降、最终速度变慢”的问题。


九、测试 API 是否正常

服务启动后,可以在另一个终端测试接口:

curl http://127.0.0.1:8000/v1/models

如果服务正常,应该能看到模型列表。

也可以测试对话接口:

curl http://127.0.0.1:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen3.6-27B-AWQ-INT4",
    "messages": [
      {"role": "user", "content": "请用三句话介绍一下你自己。"}
    ],
    "max_tokens": 256,
    "temperature": 0.7
  }'

如果返回正常文本,说明接口可用。


十、v0.4.33 相比 v0.4.22 的核心变化

1. 从参数自动化走向底层 GDNCore 接管

v0.4.22 的重点是 AutoSpec、DynamicTP、AutoMem、Elastic-KV 等自动化启动画像能力。

v0.4.33 在此基础上进一步启用 Caovan GDNCore real-prefill,让插件真正进入 GDN prefill 热路径。


2. 不再依赖 FlashQLA / TileLang / 外部 GDN kernel

v0.4.33 的 GDNCore 路线不需要 FlashQLA,不需要 TileLang,也不需要外部 runtime CUDA extension。

这可以减少用户安装复杂度,也降低不同用户环境中出现兼容性问题的概率。


3. 固定 MTP=3,避免 MTP=4 OOM

2×RTX 2080Ti 22G 上,MTP=4 虽然可能提高速度,但更容易 OOM。

v0.4.33 的思路是:

MTP=3 不变
显存压力不增加
通过底层计算路径优化提速

4. 引入 AcceptanceLock

v0.4.33 不盲目追求 kernel fusion,而是保护 speculative decoding 的 draft acceptance rate。

它保留 split-QK + fused V/GDN 路线,避免 v0.4.32 中 single-launch 路线造成接受率下降的问题。


5. 更适合作为阶段性稳定版本

v0.4.33 同时具备:

GDNCore real-prefill
MTP=3 稳定路线
AutoMem / Elastic-KV
外部 GDN 依赖清理
AcceptanceLock decode path
较高 draft acceptance
较稳定 tokens/s

因此可以作为 v0.4.22 之后的阶段性新版本。


十一、常见问题

问题 1:doctor 里跳过 modular-qwen-gdn-v021 是不是错误?

不一定。

vLLM 不同版本内部目录结构可能不同。只要后面有 legacy GDN 路径 PASS,就说明插件已经找到可接管路径。


问题 2:为什么不用 MTP=4?

因为 2×RTX 2080Ti 22G 上 MTP=4 容易 OOM。

v0.4.33 的目标不是用更高 MTP 参数硬拉速度,而是在 MTP=3 下通过 GDNCore 和 decode path 优化效率。


问题 3:为什么 v0.4.33 不依赖 FlashQLA?

FlashQLA 是很重要的 Qwen Linear Attention / GDN prefill kernel 项目,对本项目早期路线有参考价值。

但 v0.4.33 的目标是面向 SM75 / 2080Ti 用户分发一个更低依赖、更可控的插件。因此当前版本选择自研 Caovan GDNCore,不再把 FlashQLA / TileLang / 外部 GDN runtime 作为直接依赖。


问题 4:为什么不继续使用 v0.4.32 的 single-launch 路线?

因为实测发现,single-launch 虽然减少了一次 kernel launch,但会降低 speculative decoding 的接受率,最终速度反而下降。

v0.4.33 恢复 split-QK + fused V/GDN,是为了保护 MTP acceptance。


问题 5:启动后第一次很慢怎么办?

第一次启动可能会触发 Triton / TorchInductor / vLLM 的编译和缓存构建。

建议确认以下目录是否有写入权限:

echo $CAOVAN_CACHE_DIR
echo $TORCHINDUCTOR_CACHE_DIR

如果缓存目录正常,后续启动通常会更快。


问题 6:如何确认不是旧版本残留?

执行:

python - <<'PY'
import caovan_vllm_sm75_turbo3 as p
print("version =", p.__version__)
print("file =", p.__file__)
PY

应该输出:

version = 0.4.33

如果版本不对,需要重新安装 wheel。


十二、回滚到旧版本

如果需要临时回滚到 v0.4.22,可以重新安装 v0.4.22 的 wheel。

示例:

cd ~/caovan-vllm-sm75-turbo3-v0.4.22

pip install --force-reinstall dist/caovan_vllm_sm75_turbo3-0.4.22-py3-none-any.whl

caovan-sm75-doctor

回滚后再次启动服务即可。


十三、总结

Caovan vLLM SM75 Turbo3 v0.4.33 是一个重要的阶段性版本。

它相比 v0.4.22 的核心变化不是简单改参数,而是把优化推进到底层 GDNCore 和 decode path:

自研 GDNCore Real Prefill
AcceptanceLock Iota
MTP=3 稳定路线
split-QK + fused V/GDN
不依赖 FlashQLA / TileLang / 外部 GDN kernel
不使用 MTP=4 硬拉速度

对于 2×RTX 2080Ti 22G 用户来说,v0.4.33 的意义在于:在不明显增加显存风险的情况下,进一步提高 Qwen3.6-27B-AWQ-INT4 的真实推理效率,并为后续继续开发 key-head grouped decode kernel、V/GDN tile 几何优化等底层路径打下基础。

如果你正在使用 v0.4.22,并且希望测试新的 GDNCore real-prefill 和 AcceptanceLock 路线,可以按照本文教程升级到 v0.4.33。

原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/caovan-vllm-sm75-turbo3-v0433-install-guide/.html

(0)
打赏 微信扫一扫 微信扫一扫
朋远方的头像朋远方
Caovan vLLM SM75 Turbo3 v0.4.33 技术报告
上一篇 2026年6月11日 下午10:12
Stable Diffusion提示词入门
下一篇 2023年6月18日 下午3:12

相关推荐

发表回复

登录后才能评论