Skip to main content
Version: Next

支持模型列表

*在线运行 vLLM 入门教程:零基础分步指南

vLLM 支持跨多种任务的生成式和池化模型。若模型支持多个任务,可通过 --task 参数指定任务。

针对每个任务,我们列出了 vLLM 中已实现的模型架构。每个架构旁附带了使用该架构的热门模型示例。

加载模型

HuggingFace Hub

默认情况下,vLLM 从 HuggingFace (HF) Hub 加载模型。

要判断某个模型是否原生支持,可检查 HF 仓库内的 config.json 文件。若 "architectures" 字段包含以下列出的模型架构,则该模型应被原生支持。

模型无需原生支持即可在 vLLM 中使用。Transformers 回退 允许您直接使用模型的 Transformers 实现运行(甚至支持 Hugging Face 模型中心的远程代码)。

提示

运行时验证模型是否支持的最简单方法是运行以下程序:

from vllm import LLM


# For generative models (task=generate) only
# 仅适用于生成式模型(task=generate)
llm = LLM(model=..., task="generate") # Name or path of your model
output = llm.generate("Hello, my name is")
print(output)


# For pooling models (task={embed,classify,reward,score}) only
# 仅适用于池化模型(task={embed,classify,reward,score})
llm = LLM(model=..., task="embed") # Name or path of your model
output = llm.encode("Hello, my name is")
print(output)

若 vLLM 成功返回文本(生成式模型)或隐藏状态(池化模型),则表明您的模型受支持。

否则,请参考 添加新模型 了解如何在 vLLM 中实现您的模型。您也可 在 GitHub 提交 Issue 请求 vLLM 支持。

Transformers 回退

vLLM 可回退至 Transformers 中可用的模型实现。目前并非所有模型均支持此功能,但大多数解码器语言模型已支持,视觉语言模型支持正在规划中!

要检查是否使用 Transformers 后端,可执行以下操作:

from vllm import LLM
llm = LLM(model=..., task="generate") # Name or path of your model # 模型的名称或路径
llm.apply_model(lambda model: print(type(model)))

若输出为 TransformersForCausalLM,则表示它基于 Transformers 实现!

提示

对于 离线推理,可通过设置 model_impl="transformers" 强制使用 TransformersForCausalLM;对于 OpenAI 兼容服务器,可使用 --model-impl transformers

注意

vLLM 可能无法完全优化 Transformers 实现,因此若在 vLLM 中比较原生模型与 Transformers 模型,可能会观察到性能下降。

支持功能

Transformers 回退明确支持以下功能:

远程代码

前文提到,Transformers 回退允许您直接在 vLLM 中运行远程代码模型。若对此功能感兴趣,本节将为您说明!

只需设置 trust_remote_code=True,vLLM 即可运行模型中心中与 Transformers 兼容的任何模型。只要模型开发者以兼容方式实现其模型,您便可在 Transformers 或 vLLM 官方支持前运行新模型!

from vllm import LLM
llm = LLM(model=..., task="generate", trust_remote_code=True) # 模型的名称或路径
llm.apply_model(lambda model: print(model.__class__))

要使您的模型兼容 Transformers 回退,需满足以下要求:

modeling_my_model.py

from transformers import PreTrainedModel
from torch import nn


class MyAttention(nn.Module):


def forward(self, hidden_states, **kwargs): # <- kwargs are required # <- 需包含 kwargs
...
attention_interface = ALL_ATTENTION_FUNCTIONS[self.config._attn_implementation]
attn_output, attn_weights = attention_interface(
self,
query_states,
key_states,
value_states,
**kwargs,
)
...


class MyModel(PreTrainedModel):
_supports_attention_backend = True

后台流程如下:

  1. 加载配置

  2. 从 auto_map 加载 MyModel Python 类,并验证模型 _supports_attention_backend

  3. 使用 TransformersForCausalLM 后端(参见 vllm/model_executor/models/transformers.py),该后端利用 self.config._attn_implementation = "vllm",因此需使用 ALL_ATTENTION_FUNCTION

要使模型兼容张量并行,需满足:

configuration_my_model.py

from transformers import PretrainedConfig


class MyConfig(PretrainedConfig):
base_model_tp_plan = {
"layers.*.self_attn.q_proj": "colwise",
...
}

提示

base_model_tp_plan 是一个 dict,用于将全限定层名模式映射到张量并行风格(当前仅支持 "colwise" 和 "rowwise")。

ModelScope

要使用 ModelScope 的模型而非 HuggingFace Hub,请设置环境变量:

export VLLM_USE_MODELSCOPE=True

并与 trust_remote_code=True 配合使用:

from vllm import LLM


llm = LLM(model=..., revision=..., task=..., trust_remote_code=True)


# For generative models (task=generate) only
# 仅适用于生成式模型(task=generate)
output = llm.generate("Hello, my name is")
print(output)


# For pooling models (task={embed,classify,reward,score}) only
# 仅适用于池化模型(task={embed,classify,reward,score})
output = llm.encode("Hello, my name is")
print(output)

纯文本语言模型列表

生成式模型

关于生成式模型的使用详情,请参阅此页面

文本生成 (--task generate)

架构模型HF 模型示例LoRAPP
AquilaForCausalLMAquila, Aquila2BAAI/Aquila-7B, BAAI/AquilaChat-7B, etc.✅︎✅︎
ArcticForCausalLMArcticSnowflake/snowflake-arctic-base, Snowflake/snowflake-arctic-instruct, etc.✅︎
BaiChuanForCausalLMBaichuan2, Baichuanbaichuan-inc/Baichuan2-13B-Chat, baichuan-inc/Baichuan-7B, etc.✅︎✅︎
BloomForCausalLMBLOOM, BLOOMZ, BLOOMChatbigscience/bloom, bigscience/bloomz, etc.✅︎
BartForConditionalGenerationBARTfacebook/bart-base, facebook/bart-large-cnn, etc.
ChatGLMModelChatGLMTHUDM/chatglm2-6b, THUDM/chatglm3-6b, etc.✅︎✅︎
CohereForCausalLM, Cohere2ForCausalLMCommand-RCohereForAI/c4ai-command-r-v01, CohereForAI/c4ai-command-r7b-12-2024, etc.✅︎✅︎
DbrxForCausalLMDBRXdatabricks/dbrx-base, databricks/dbrx-instruct, etc.✅︎
DeciLMForCausalLMDeciLMDeci/DeciLM-7B, Deci/DeciLM-7B-instruct, etc.✅︎
DeepseekForCausalLMDeepSeekdeepseek-ai/deepseek-llm-67b-base, deepseek-ai/deepseek-llm-7b-chat etc.✅︎
DeepseekV2ForCausalLMDeepSeek-V2deepseek-ai/DeepSeek-V2, deepseek-ai/DeepSeek-V2-Chat etc.✅︎
DeepseekV3ForCausalLMDeepSeek-V3deepseek-ai/DeepSeek-V3-Base, deepseek-ai/DeepSeek-V3 etc.✅︎
ExaoneForCausalLMEXAONE-3LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct, etc.✅︎✅︎
FalconForCausalLMFalcontiiuae/falcon-7b, tiiuae/falcon-40b, tiiuae/falcon-rw-7b, etc.✅︎
FalconMambaForCausalLMFalconMambatiiuae/falcon-mamba-7b, tiiuae/falcon-mamba-7b-instruct, etc.✅︎✅︎
GemmaForCausalLMGemmagoogle/gemma-2b, google/gemma-7b, etc.✅︎✅︎
Gemma2ForCausalLMGemma 2google/gemma-2-9b, google/gemma-2-27b, etc.✅︎✅︎
Gemma3ForCausalLMGemma 3google/gemma-3-1b-it, etc.✅︎✅︎
GlmForCausalLMGLM-4THUDM/glm-4-9b-chat-hf, etc.✅︎✅︎
GPT2LMHeadModelGPT-2gpt2, gpt2-xl, etc.✅︎
GPTBigCodeForCausalLMStarCoder, SantaCoder, WizardCoderbigcode/starcoder, bigcode/gpt_bigcode-santacoder, WizardLM/WizardCoder-15B-V1.0, etc.✅︎✅︎
GPTJForCausalLMGPT-JEleutherAI/gpt-j-6b, nomic-ai/gpt4all-j, etc.✅︎
GPTNeoXForCausalLMGPT-NeoX, Pythia, OpenAssistant, Dolly V2, StableLMEleutherAI/gpt-neox-20b, EleutherAI/pythia-12b, OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5, databricks/dolly-v2-12b, stabilityai/stablelm-tuned-alpha-7b, etc.✅︎
GraniteForCausalLMGranite 3.0, Granite 3.1, PowerLMibm-granite/granite-3.0-2b-base, ibm-granite/granite-3.1-8b-instruct, ibm/PowerLM-3b, etc.✅︎✅︎
GraniteMoeForCausalLMGranite 3.0 MoE, PowerMoEibm-granite/granite-3.0-1b-a400m-base, ibm-granite/granite-3.0-3b-a800m-instruct, ibm/PowerMoE-3b, etc.✅︎✅︎
GraniteMoeSharedForCausalLMGranite MoE Sharedibm-research/moe-7b-1b-active-shared-experts (test model)✅︎✅︎
GritLMGritLMparasail-ai/GritLM-7B-vllm.✅︎✅︎
Grok1ModelForCausalLMGrok1hpcai-tech/grok-1.✅︎✅︎
InternLMForCausalLMInternLMinternlm/internlm-7b, internlm/internlm-chat-7b, etc.✅︎✅︎
InternLM2ForCausalLMInternLM2internlm/internlm2-7b, internlm/internlm2-chat-7b, etc.✅︎✅︎
InternLM3ForCausalLMInternLM3internlm/internlm3-8b-instruct, etc.✅︎✅︎
JAISLMHeadModelJaisinceptionai/jais-13b, inceptionai/jais-13b-chat, inceptionai/jais-30b-v3, inceptionai/jais-30b-chat-v3, etc.✅︎
JambaForCausalLMJambaai21labs/AI21-Jamba-1.5-Large, ai21labs/AI21-Jamba-1.5-Mini, ai21labs/Jamba-v0.1, etc.✅︎✅︎
LlamaForCausalLMLlama 3.1, Llama 3, Llama 2, LLaMA, Yimeta-llama/Meta-Llama-3.1-405B-Instruct, meta-llama/Meta-Llama-3.1-70B, meta-llama/Meta-Llama-3-70B-Instruct, meta-llama/Llama-2-70b-hf, 01-ai/Yi-34B, etc.✅︎✅︎
MambaForCausalLMMambastate-spaces/mamba-130m-hf, state-spaces/mamba-790m-hf, state-spaces/mamba-2.8b-hf, etc.✅︎
MiniCPMForCausalLMMiniCPMopenbmb/MiniCPM-2B-sft-bf16, openbmb/MiniCPM-2B-dpo-bf16, openbmb/MiniCPM-S-1B-sft, etc.✅︎✅︎
MiniCPM3ForCausalLMMiniCPM3openbmb/MiniCPM3-4B, etc.✅︎✅︎
MistralForCausalLMMistral, Mistral-Instructmistralai/Mistral-7B-v0.1, mistralai/Mistral-7B-Instruct-v0.1, etc.✅︎✅︎
MixtralForCausalLMMixtral-8x7B, Mixtral-8x7B-Instructmistralai/Mixtral-8x7B-v0.1, mistralai/Mixtral-8x7B-Instruct-v0.1, mistral-community/Mixtral-8x22B-v0.1, etc.✅︎✅︎
MPTForCausalLMMPT, MPT-Instruct, MPT-Chat, MPT-StoryWritermosaicml/mpt-7b, mosaicml/mpt-7b-storywriter, mosaicml/mpt-30b, etc.✅︎
NemotronForCausalLMNemotron-3, Nemotron-4, Minitronnvidia/Minitron-8B-Base, mgoin/Nemotron-4-340B-Base-hf-FP8, etc.✅︎✅︎
OLMoForCausalLMOLMoallenai/OLMo-1B-hf, allenai/OLMo-7B-hf, etc.✅︎
OLMo2ForCausalLMOLMo2allenai/OLMo2-7B-1124, etc.✅︎
OLMoEForCausalLMOLMoEallenai/OLMoE-1B-7B-0924, allenai/OLMoE-1B-7B-0924-Instruct, etc.✅︎✅︎
OPTForCausalLMOPT, OPT-IMLfacebook/opt-66b, facebook/opt-iml-max-30b, etc.✅︎
OrionForCausalLMOrionOrionStarAI/Orion-14B-Base, OrionStarAI/Orion-14B-Chat, etc.✅︎
PhiForCausalLMPhimicrosoft/phi-1_5, microsoft/phi-2, etc.✅︎✅︎
Phi3ForCausalLMPhi-4, Phi-3microsoft/Phi-4-mini-instruct, microsoft/Phi-4, microsoft/Phi-3-mini-4k-instruct, microsoft/Phi-3-mini-128k-instruct, microsoft/Phi-3-medium-128k-instruct, etc.✅︎✅︎
Phi3SmallForCausalLMPhi-3-Smallmicrosoft/Phi-3-small-8k-instruct, microsoft/Phi-3-small-128k-instruct, etc.✅︎
PhiMoEForCausalLMPhi-3.5-MoEmicrosoft/Phi-3.5-MoE-instruct, etc.✅︎✅︎
PersimmonForCausalLMPersimmonadept/persimmon-8b-base, adept/persimmon-8b-chat, etc.✅︎
QWenLMHeadModelQwenQwen/Qwen-7B, Qwen/Qwen-7B-Chat, etc.✅︎✅︎
Qwen2ForCausalLMQwQ, Qwen2Qwen/QwQ-32B-Preview, Qwen/Qwen2-7B-Instruct, Qwen/Qwen2-7B, etc.✅︎✅︎
Qwen2MoeForCausalLMQwen2MoEQwen/Qwen1.5-MoE-A2.7B, Qwen/Qwen1.5-MoE-A2.7B-Chat, etc.✅︎
StableLmForCausalLMStableLMstabilityai/stablelm-3b-4e1t, stabilityai/stablelm-base-alpha-7b-v2, etc.✅︎
Starcoder2ForCausalLMStarcoder2bigcode/starcoder2-3b, bigcode/starcoder2-7b, bigcode/starcoder2-15b, etc.✅︎
SolarForCausalLMSolar Proupstage/solar-pro-preview-instruct, etc.✅︎✅︎
TeleChat2ForCausalLMTeleChat2Tele-AI/TeleChat2-3B, Tele-AI/TeleChat2-7B, Tele-AI/TeleChat2-35B, etc.✅︎✅︎
TeleFLMForCausalLMTeleFLMCofeAI/FLM-2-52B-Instruct-2407, CofeAI/Tele-FLM, etc.✅︎✅︎
XverseForCausalLMXVERSExverse/XVERSE-7B-Chat, xverse/XVERSE-13B-Chat, xverse/XVERSE-65B-Chat, etc.✅︎✅︎
Zamba2ForCausalLMZamba2Zyphra/Zamba2-7B-instruct, Zyphra/Zamba2-2.7B-instruct, Zyphra/Zamba2-1.2B-instruct, etc.

注意

当前 ROCm 版本的 vLLM 仅支持 Mistral 和 Mixtral 模型,且上下文长度上限为 4096。

池化模型

关于池化模型的使用详情,请参阅此页面

重要 由于部分模型架构同时支持生成式和池化任务,您应显式指定任务类型以确保模型以池化模式而非生成模式运行。

文本嵌入 (--task embed)

架构模型HF 模型示例LoRAPP
BertModelBERT-basedBAAI/bge-base-en-v1.5, etc.
Gemma2ModelGemma 2-basedBAAI/bge-multilingual-gemma2, etc.✅︎
GritLMGritLMparasail-ai/GritLM-7B-vllm.✅︎✅︎
LlamaModel, LlamaForCausalLM, MistralModel, etc.Llama-basedintfloat/e5-mistral-7b-instruct, etc.✅︎✅︎
Qwen2Model, Qwen2ForCausalLMQwen2-basedssmits/Qwen2-7B-Instruct-embed-base (see note), Alibaba-NLP/gte-Qwen2-7B-instruct (see note), etc.✅︎✅︎
RobertaModel, RobertaForMaskedLMRoBERTa-basedsentence-transformers/all-roberta-large-v1, sentence-transformers/all-roberta-large-v1, etc.
XLMRobertaModelXLM-RoBERTa-basedintfloat/multilingual-e5-large, etc.

注意 >ssmits/Qwen2-7B-Instruct-embed-base 的 Sentence Transformers 配置定义有误。您需手动设置均值池化:传递 --override-pooler-config '{"pooling_type": "MEAN"}'

注意 >Alibaba-NLP/gte-Qwen2-1.5B-instruct 的 HF 实现强制使用因果注意力(与 config.json 所示不符)。为比较 vLLM 与 HF 结果,应在 vLLM 中设置 --hf-overrides '{"is_causal": true}' 以确保两者实现一致。

对于 1.5B 和 7B 版本,还需启用 --trust-remote-code 以加载正确的分词器。详见 HF Transformers 相关 Issue

若您的模型未列于上方,我们将尝试通过 as_embedding_model() 自动转换模型。默认情况下,从最后一个 token 对应的归一化隐藏状态提取完整提示的嵌入。

奖励建模 (--task reward)

架构模型HF 模型示例LoRAPP
InternLM2ForRewardModelInternLM2-basedinternlm/internlm2-1_8b-reward, internlm/internlm2-7b-reward, etc.✅︎✅︎
LlamaForCausalLMLlama-basedpeiyi9979/math-shepherd-mistral-7b-prm, etc.✅︎✅︎
Qwen2ForRewardModelQwen2-basedQwen/Qwen2.5-Math-RM-72B, etc.✅︎✅︎
Qwen2ForProcessRewardModelQwen2-basedQwen/Qwen2.5-Math-PRM-7B, Qwen/Qwen2.5-Math-PRM-72B, etc.✅︎✅︎

若您的模型不在上述列表中,我们将尝试通过 as_reward_model() 自动转换模型。默认直接返回每个 token 的隐藏状态。

重要**信息** 对于过程监督奖励模型(如 peiyi9979/math-shepherd-mistral-7b-prm),需显式设置池化配置,例如: --override-pooler-config '{"pooling_type": "STEP", "step_tag_id": 123, "returned_token_ids": [456, 789]}'

分类 (--task classify)

架构建模HF 模型示例LoRAPP
JambaForSequenceClassificationJambaai21labs/Jamba-tiny-reward-dev, etc.✅︎✅︎
Qwen2ForSequenceClassificationQwen2-basedjason9693/Qwen2.5-1.5B-apeach, etc.✅︎✅︎

若您的模型不在上述列表中,我们将尝试通过 as_classification_model() 自动转换模型。默认从最后一个 token 对应的 softmax 化隐藏状态提取类别概率。

句子对评分 (--task score)

架构建模HF 模型示例LoRAPP
BertForSequenceClassificationBERT-basedcross-encoder/ms-marco-MiniLM-L-6-v2, etc.
RobertaForSequenceClassificationRoBERTa-basedcross-encoder/quora-roberta-base, etc.
XLMRobertaForSequenceClassificationXLM-RoBERTa-basedBAAI/bge-reranker-v2-m3, etc.

多模态语言模型列表

根据模型不同,支持以下模态组合:

  • Text 文本
  • Image 图像
  • Video 视频
  • Audio 音频

支持通过 + 连接的任意模态组合:

  • 例如 T + I 表示模型支持纯文本、纯图像及图文混合输入。

以 / 分隔的模态互斥:

  • 例如 T / I 表示模型支持纯文本或纯图像输入,但不支持图文混合输入。

关于如何传递多模态输入,请参阅此页面

重要**信息**

要为每个文本提示启用多个多模态项,需设置 limit_mm_per_prompt(离线推理)或 --limit-mm-per-prompt(在线服务)。例如允许每个文本提示传递最多 4 张图像:

离线推理:

llm = LLM(
model="Qwen/Qwen2-VL-7B-Instruct",
limit_mm_per_prompt={"image": 4},
)

在线服务:

vllm serve Qwen/Qwen2-VL-7B-Instruct --limit-mm-per-prompt image=4

注意 当前 vLLM 仅支持对多模态模型的语言主干添加 LoRA。

生成式模型

关于生成式模型的使用详情,请参阅此页面

文本生成 (--task generate)

架构模型输入HF 模型示例LoRAPPV1
AriaForConditionalGenerationAriaT + I+rhymes-ai/Aria✅︎✅︎
Blip2ForConditionalGenerationBLIP-2T + IESalesforce/blip2-opt-2.7b, Salesforce/blip2-opt-6.7b, etc.✅︎✅︎
ChameleonForConditionalGenerationChameleonT + Ifacebook/chameleon-7b etc.✅︎✅︎
DeepseekVLV2ForCausalLM^DeepSeek-VL2T + I+deepseek-ai/deepseek-vl2-tiny, deepseek-ai/deepseek-vl2-small, deepseek-ai/deepseek-vl2 etc.✅︎✅︎
Florence2ForConditionalGenerationFlorence-2T + Imicrosoft/Florence-2-base, microsoft/Florence-2-large etc.
FuyuForCausalLMFuyuT + Iadept/fuyu-8b etc.✅︎✅︎
Gemma3ForConditionalGenerationGemma 3T + I+google/gemma-3-4b-it, google/gemma-3-27b-it, etc.✅︎✅︎⚠️
GLM4VForCausalLM^GLM-4VT + ITHUDM/glm-4v-9b, THUDM/cogagent-9b-20241220 etc.✅︎✅︎✅︎
H2OVLChatModelH2OVLT + IE+h2oai/h2ovl-mississippi-800m, h2oai/h2ovl-mississippi-2b, etc.✅︎✅︎*
Idefics3ForConditionalGenerationIdefics3T + IHuggingFaceM4/Idefics3-8B-Llama3 etc.✅︎✅︎
InternVLChatModelInternVideo 2.5, InternVL 2.5, Mono-InternVL, InternVL 2.0T + IE+OpenGVLab/InternVideo2_5_Chat_8B, OpenGVLab/InternVL2_5-4B, OpenGVLab/Mono-InternVL-2B, OpenGVLab/InternVL2-4B, etc.✅︎✅︎
LlavaForConditionalGenerationLLaVA-1.5T + IE+llava-hf/llava-1.5-7b-hf, TIGER-Lab/Mantis-8B-siglip-llama3 (see note), etc.✅︎✅︎
LlavaNextForConditionalGenerationLLaVA-NeXTT + IE+llava-hf/llava-v1.6-mistral-7b-hf, llava-hf/llava-v1.6-vicuna-7b-hf, etc.✅︎✅︎
LlavaNextVideoForConditionalGenerationLLaVA-NeXT-VideoT + Vllava-hf/LLaVA-NeXT-Video-7B-hf, etc.✅︎✅︎
LlavaOnevisionForConditionalGenerationLLaVA-OnevisionT + I+ + V+llava-hf/llava-onevision-qwen2-7b-ov-hf, llava-hf/llava-onevision-qwen2-0.5b-ov-hf, etc.✅︎✅︎
MiniCPMOMiniCPM-OT + IE+ + VE+ + AE+openbmb/MiniCPM-o-2_6, etc.✅︎✅︎✅︎
MiniCPMVMiniCPM-VT + IE+ + VE+openbmb/MiniCPM-V-2 (see note), openbmb/MiniCPM-Llama3-V-2_5, openbmb/MiniCPM-V-2_6, etc.✅︎✅︎✅︎
MllamaForConditionalGenerationLlama 3.2T + I+meta-llama/Llama-3.2-90B-Vision-Instruct, meta-llama/Llama-3.2-11B-Vision, etc.
MolmoForCausalLMMolmoT + I+allenai/Molmo-7B-D-0924, allenai/Molmo-7B-O-0924, etc.✅︎✅︎✅︎
NVLM_D_ModelNVLM-D 1.0T + I+nvidia/NVLM-D-72B, etc.✅︎✅︎
PaliGemmaForConditionalGenerationPaliGemma, PaliGemma 2T + IEgoogle/paligemma-3b-pt-224, google/paligemma-3b-mix-224, google/paligemma2-3b-ft-docci-448, etc.✅︎⚠️
Phi3VForCausalLMPhi-3-Vision, Phi-3.5-VisionT + IE+microsoft/Phi-3-vision-128k-instruct, microsoft/Phi-3.5-vision-instruct, etc.✅︎✅︎
Phi4MMForCausalLMPhi-4-multimodalT + I+ / T + A+ / I+ + A+microsoft/Phi-4-multimodal-instruct, etc.✅︎
PixtralForConditionalGenerationPixtralT + I+mistralai/Mistral-Small-3.1-24B-Instruct-2503, mistral-community/pixtral-12b, etc.✅︎✅︎
QwenVLForConditionalGeneration^Qwen-VLT + IE+Qwen/Qwen-VL, Qwen/Qwen-VL-Chat, etc.✅︎✅︎✅︎
Qwen2AudioForConditionalGenerationQwen2-AudioT + A+Qwen/Qwen2-Audio-7B-Instruct✅︎✅︎
Qwen2VLForConditionalGenerationQVQ, Qwen2-VLT + IE+ + VE+Qwen/QVQ-72B-Preview, Qwen/Qwen2-VL-7B-Instruct, Qwen/Qwen2-VL-72B-Instruct, etc.✅︎✅︎✅︎
Qwen2_5_VLForConditionalGenerationQwen2.5-VLT + IE+ + VE+Qwen/Qwen2.5-VL-3B-Instruct, Qwen/Qwen2.5-VL-72B-Instruct, etc.✅︎✅︎✅︎
UltravoxModelUltravoxT + AE+fixie-ai/ultravox-v0_5-llama-3_2-1b✅︎✅︎✅︎

^ 您需要通过 --hf-overrides 设置架构名称以匹配 vLLM 中的定义。

    • 例如使用 DeepSeek-VL2 系列模型:

      --hf-overrides '{"architectures": ["DeepseekVLV2ForCausalLM"]}'

E 可为此模态输入预计算嵌入。

  • 可为此模态的每个文本提示输入多项内容。

重要**信息** 使用 Gemma3 系列模型需通过 pip install git+https://github.com/huggingface/transformers 从源码安装 Hugging Face Transformers 库。

平移扫描图像预处理当前仅 V0 支持(V1 不支持)。可通过传递 --mm-processor-kwargs '{"do_pan_and_scan": True}' 启用。

警告 V0 和 V1 均支持 Gemma3ForConditionalGeneration 的纯文本输入,但对图文混合输入的处理存在差异:

V0 正确实现模型的注意力模式: 对同一图像的图像 token 使用双向注意力 对其他 token 使用因果注意力 通过(原生)PyTorch SDPA 与掩码张量实现 注意:长提示含图像时可能占用显存较多

V1 当前使用简化注意力模式: 对所有 token(含图像 token)使用因果注意力 生成合理输出但与原始模型的图文混合输入注意力模式不匹配(尤其当 {"do_pan_and_scan": True} 时) 未来将更新以支持正确行为

此限制源于模型的混合注意力模式(图像双向/其他因果)尚未被 vLLM 注意力后端支持。

注意 >h2oai/h2ovl-mississippi-2b 将在 V1 支持非 FlashAttention 后端后可用。

注意 使用 TIGER-Lab/Mantis-8B-siglip-llama3 需在运行 vLLM 时传递 --hf_overrides '{"architectures": ["MantisForConditionalGeneration"]}'

注意 官方 openbmb/MiniCPM-V-2 暂不可用,需使用分支版本(HwwwH/MiniCPM-V-2)。详情见 PR #4087

警告 我们的 PaliGemma 实现在 V0 和 V1 中均存在与 Gemma3 相同的问题(见上文)。

池化模型

关于池化模型的使用详情,请参阅 此页面

重要**信息** 由于部分模型架构同时支持生成式和池化任务,您应显式指定任务类型以确保模型以池化模式而非生成模式运行。

文本嵌入 (--task embed)

任何文本生成模型均可通过传递 --task embed 转换为嵌入模型。

注意 为获得最佳效果,应使用专门训练的池化模型。下表列出 vLLM 中已验证的模型。

架构模型输入HF 模型示例LoRAPP
LlavaNextForConditionalGenerationLLaVA-NeXT-basedT / Iroyokong/e5-v✅︎
Phi3VForCausalLMPhi-3-Vision-basedT + ITIGER-Lab/VLM2Vec-Full🚧✅︎
Qwen2VLForConditionalGenerationQwen2-VL-basedT + IMrLight/dse-qwen2-2b-mrl-v1✅︎

语音转录 (--task transcription)

专为自动语音识别训练的 Speech2Text 模型。

架构模型模型示例LoRAPP
WhisperWhisper-basedopenai/whisper-large-v3-turbo🚧🚧

模型支持政策

vLLM 致力于促进第三方模型在生态中的集成与支持。我们的方法旨在平衡鲁棒性需求与广泛支持模型的实际限制。以下是第三方模型的管理方式:

  1. 社区驱动支持:鼓励社区贡献添加新模型。当用户请求支持新模型时,我们欢迎社区提交 PR。这些贡献主要评估生成输出的合理性,而非与 transformers 等现有实现的严格一致性。贡献呼吁:来自模型供应商的直接 PR 尤为欢迎!

  2. 尽力保证一致性:虽然我们力求保持 vLLM 实现的模型与其他框架(如 transformers)的一致性,但完全对齐并非总能实现。加速技术和低精度计算等因素可能引入差异。我们的承诺是确保实现的模型功能正常且输出合理。

提示 比较 HuggingFace Transformers 的 model.generate 与 vLLM 的 llm.generate 输出时,请注意前者读取模型的生成配置文件(即 generation_config.json)并应用默认生成参数,而后者仅使用函数传递的参数。比较输出时需确保所有采样参数一致。

  1. 问题解决与模型更新:鼓励用户报告第三方模型的任何缺陷。修复建议应通过 PR 提交,并清晰说明问题及解决方案依据。若某模型的修复影响其他模型,我们依赖社区指出并解决这些跨模型依赖。注意:提交修复 PR 时,通知原作者征求意见是良好实践。

  2. 监控与更新:关注特定模型的用户应监控这些模型的提交历史(例如跟踪 main/vllm/model_executor/models 目录的变更)。这种主动方式有助于用户及时了解可能影响所用模型的更新。

  3. 选择性聚焦:我们的资源主要投向用户关注度高、影响大的模型。使用较少的模型可能获得较少关注,这些模型的维护和改进更依赖社区积极参与。

通过这种方式,vLLM 培育了一个协作环境,核心开发团队与广大社区共同贡献于生态中第三方模型的鲁棒性和多样性。

注意:作为推理引擎,vLLM 不引入新模型。因此,所有 vLLM 支持的模型在此意义上均为第三方模型。

我们对模型的测试分为以下级别:

  1. 严格一致性:在贪婪解码下比较模型输出与 HuggingFace Transformers 库的输出。这是最严格的测试。通过此测试的模型见 模型测试

  2. 输出合理性:通过测量输出的困惑度及检查明显错误,验证模型输出是否合理连贯。此为较宽松的测试。

  3. 运行时功能性:检查模型能否无错误加载运行。此为最宽松的测试。通过此测试的模型见 功能测试 和 示例

  4. 社区反馈:依赖社区提供模型反馈。若模型存在故障或未达预期,鼓励用户提交 Issue 报告或提交 PR 修复。其余模型归入此类。