用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 解决"能不能跑"的问题(防止显存申请过多导致启动失败)。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐