用VLLM部署qwen3-reranker-0.6b模型时,部署成功但是不可用的解决方法
·
用VLLM部署qwen3-reranker-0.6b模型时,部署成功但是不可用,其实是VLLM把qwen3-reranker-0.6b这个模型识别成了LLM模型,在部署时加以下参数后可以正常启动了。
--hf_overrides '{"architectures": ["Qwen3ForSequenceClassification"], "classifier_from_token": ["no", "yes"], "is_original_qwen3_reranker": true}'
--trust-remote-code
此外,显存不够时还需要加 --gpu-memory-utilization 0.1
完整记录:
问题已经解决,核心原因是 vLLM 对 Qwen3-Reranker 的架构识别错误 + 显存分配默认值过高。
根本原因
Qwen3-Reranker-0.6B
↓
vLLM 0.17.1 默认识别为 Qwen3ForCausalLM(生成模型)
↓
只暴露 /v1/chat/completions 等生成端点
↓
调用 /v1/rerank → 404 Not Found
两个参数的作用
1. --hf_overrides {...} —— 强制纠正模型架构
vLLM 0.17.1 不认识 Qwen3-Reranker 的原始架构 Qwen3RerankerModel,默认把它当成 CausalLM(聊天生成模型)加载,所以只注册了生成类端点。
这个参数直接覆盖模型配置,告诉 vLLM:
| 覆盖项 | 作用 |
|---|---|
architectures: ["Qwen3ForSequenceClassification"] | 强制声明这是"序列分类模型",不是生成模型 |
classifier_from_token: ["no", "yes"] | 指定分类方式(从 token 级别取分类结果) |
is_original_qwen3_reranker: true | 标记这是原始 Qwen3 Reranker,触发 vLLM 内部特殊处理逻辑 |
效果: vLLM 日志从 Resolved architecture: Qwen3ForCausalLM 变成 Qwen3ForSequenceClassification,并自动切换为 pooling + classify 模式,最终暴露 /v1/rerank 端点。
2. --gpu-memory-utilization 0.1 —— 限制显存占用
vLLM 默认按 90% (0.9) 申请 GPU 显存。你的卡上其他模型/进程已经占用了大部分显存,空闲只剩约 8.6 GiB,远不够 71 GiB,所以启动直接 OOM 崩溃。
设为 0.1 表示最多只申请 10% 的显存(约 7.9 GiB),刚好能容纳这个 0.6B 小模型,避免和其他进程抢资源。
完整链路
加参数前:
vLLM 认成 CausalLM → 只有 chat/completions → /v1/rerank 404
且默认占 90% 显存 → OOM 启动失败
加参数后:
hf_overrides 纠正为 SequenceClassification → 启用 classify 模式 → 暴露 /v1/rerank
gpu-memory-utilization 0.1 → 只占 10% 显存 → 正常启动
一句话总结
--hf_overrides 解决"是什么"的问题(让 vLLM 知道这是 Reranker 不是聊天模型),--gpu-memory-utilization 解决"能不能跑"的问题(防止显存申请过多导致启动失败)。
更多推荐


所有评论(0)