支持的模型#

vLLM 支持 HuggingFace Transformers 中的多种生成式 Transformer 模型。以下是 vLLM 目前支持的模型架构列表。在每个架构旁边,我们列出了一些使用该架构的流行模型。

纯文本语言模型#

文本生成#

架构

模型

示例 HuggingFace 模型

LoRA

PP

AquilaForCausalLM

Aquila, Aquila2

BAAI/Aquila-7B, BAAI/AquilaChat-7B, 等等。

✅︎

✅︎

ArcticForCausalLM

北极

Snowflake/snowflake-arctic-base, Snowflake/snowflake-arctic-instruct, 等等。

✅︎

BaiChuanForCausalLM

百川2,百川

baichuan-inc/Baichuan2-13B-Chat, baichuan-inc/Baichuan-7B, 等等。

✅︎

✅︎

BloomForCausalLM

BLOOM, BLOOMZ, BLOOMChat

bigscience/bloom, bigscience/bloomz, 等等。

✅︎

BartForConditionalGeneration

BART

facebook/bart-base, facebook/bart-large-cnn, 等等。

ChatGLMModel

ChatGLM

THUDM/chatglm2-6b, THUDM/chatglm3-6b, 等等。

✅︎

✅︎

CohereForCausalLM

Command-R

CohereForAI/c4ai-command-r-v01, 等。

✅︎

✅︎

DbrxForCausalLM

DBRX

databricks/dbrx-base, databricks/dbrx-instruct, 等等。

✅︎

DeciLMForCausalLM

DeciLM

Deci/DeciLM-7B, Deci/DeciLM-7B-instruct, 等等。

✅︎

DeepseekForCausalLM

深度探索

deepseek-ai/deepseek-llm-67b-base, deepseek-ai/deepseek-llm-7b-chat 等。

✅︎

DeepseekV2ForCausalLM

深度探索-V2

deepseek-ai/DeepSeek-V2, deepseek-ai/DeepSeek-V2-Chat 等。

✅︎

ExaoneForCausalLM

EXAONE-3

LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct 等。

✅︎

✅︎

FalconForCausalLM

Falcon

tiiuae/falcon-7b, tiiuae/falcon-40b, tiiuae/falcon-rw-7b, 等等。

✅︎

GemmaForCausalLM

Gemma

google/gemma-2b, google/gemma-7b, 等等。

✅︎

✅︎

Gemma2ForCausalLM

Gemma2

google/gemma-2-9b, google/gemma-2-27b, 等等。

✅︎

✅︎

GPT2LMHeadModel

GPT-2

gpt2, gpt2-xl, 等等。

✅︎

GPTBigCodeForCausalLM

StarCoder, SantaCoder, WizardCoder

bigcode/starcoder, bigcode/gpt_bigcode-santacoder, WizardLM/WizardCoder-15B-V1.0, 等。

✅︎

✅︎

GPTJForCausalLM

GPT-J

EleutherAI/gpt-j-6b, nomic-ai/gpt4all-j, 等等。

✅︎

GPTNeoXForCausalLM

GPT-NeoX, Pythia, OpenAssistant, Dolly V2, StableLM

EleutherAI/gpt-neox-20b, EleutherAI/pythia-12b, OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5, databricks/dolly-v2-12b, stabilityai/stablelm-tuned-alpha-7b, 等等。

✅︎

GraniteForCausalLM

PowerLM

ibm/PowerLM-3b 等。

✅︎

✅︎

GraniteMoeForCausalLM

PowerMoE

ibm/PowerMoE-3b 等。

✅︎

✅︎

InternLMForCausalLM

InternLM

internlm/internlm-7b, internlm/internlm-chat-7b, 等等。

✅︎

✅︎

InternLM2ForCausalLM

InternLM2

internlm/internlm2-7b, internlm/internlm2-chat-7b, 等等。

✅︎

JAISLMHeadModel

Jais

core42/jais-13b, core42/jais-13b-chat, core42/jais-30b-v3, core42/jais-30b-chat-v3, 等等。

✅︎

JambaForCausalLM

Jamba

ai21labs/AI21-Jamba-1.5-Large, ai21labs/AI21-Jamba-1.5-Mini, ai21labs/Jamba-v0.1, 等。

✅︎

LlamaForCausalLM

Llama 3.1, Llama 3, Llama 2, LLaMA, Yi

meta-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, 等。

✅︎

✅︎

MambaForCausalLM

Mamba

state-spaces/mamba-130m-hf, state-spaces/mamba-790m-hf, state-spaces/mamba-2.8b-hf, 等等。

✅︎

MiniCPMForCausalLM

MiniCPM

openbmb/MiniCPM-2B-sft-bf16, openbmb/MiniCPM-2B-dpo-bf16, 等等。

✅︎

✅︎

MiniCPM3ForCausalLM

MiniCPM3

openbmb/MiniCPM3-4B, 等等。

✅︎

✅︎

MistralForCausalLM

Mistral, Mistral-Instruct

mistralai/Mistral-7B-v0.1, mistralai/Mistral-7B-Instruct-v0.1, 等等。

✅︎

✅︎

MixtralForCausalLM

Mixtral-8x7B, Mixtral-8x7B-Instruct

mistralai/Mixtral-8x7B-v0.1, mistralai/Mixtral-8x7B-Instruct-v0.1, mistral-community/Mixtral-8x22B-v0.1, 等等。

✅︎

✅︎

MPTForCausalLM

MPT, MPT-Instruct, MPT-Chat, MPT-StoryWriter

mosaicml/mpt-7b, mosaicml/mpt-7b-storywriter, mosaicml/mpt-30b, 等等。

✅︎

NemotronForCausalLM

Nemotron-3, Nemotron-4, Minitron

nvidia/Minitron-8B-Base, mgoin/Nemotron-4-340B-Base-hf-FP8, 等。

✅︎

✅︎

OLMoForCausalLM

OLMo

allenai/OLMo-1B-hf, allenai/OLMo-7B-hf, 等等。

✅︎

OLMoEForCausalLM

OLMoE

allenai/OLMoE-1B-7B-0924, allenai/OLMoE-1B-7B-0924-Instruct, 等等。

✅︎

✅︎

OPTForCausalLM

OPT, OPT-IML

facebook/opt-66b, facebook/opt-iml-max-30b, 等等。

✅︎

OrionForCausalLM

猎户座

OrionStarAI/Orion-14B-Base, OrionStarAI/Orion-14B-Chat, 等等。

✅︎

PhiForCausalLM

Phi

microsoft/phi-1_5, microsoft/phi-2, 等等。

✅︎

✅︎

Phi3ForCausalLM

Phi-3

microsoft/Phi-3-mini-4k-instruct, microsoft/Phi-3-mini-128k-instruct, microsoft/Phi-3-medium-128k-instruct, 等等。

✅︎

✅︎

Phi3SmallForCausalLM

Phi-3-Small

microsoft/Phi-3-small-8k-instruct, microsoft/Phi-3-small-128k-instruct, 等等。

✅︎

PhiMoEForCausalLM

Phi-3.5-MoE

microsoft/Phi-3.5-MoE-instruct, 等等。

✅︎

✅︎

PersimmonForCausalLM

柿子

adept/persimmon-8b-base, adept/persimmon-8b-chat, 等等。

✅︎

QWenLMHeadModel

Qwen

Qwen/Qwen-7B, Qwen/Qwen-7B-Chat, 等等。

✅︎

Qwen2ForCausalLM

Qwen2

Qwen/Qwen2-beta-7B, Qwen/Qwen2-beta-7B-Chat, 等。

✅︎

✅︎

Qwen2MoeForCausalLM

Qwen2MoE

Qwen/Qwen1.5-MoE-A2.7B, Qwen/Qwen1.5-MoE-A2.7B-Chat, 等。

✅︎

StableLmForCausalLM

StableLM

stabilityai/stablelm-3b-4e1t, stabilityai/stablelm-base-alpha-7b-v2, 等等。

✅︎

Starcoder2ForCausalLM

Starcoder2

bigcode/starcoder2-3b, bigcode/starcoder2-7b, bigcode/starcoder2-15b, 等等。

✅︎

SolarForCausalLM

太阳能专业

upstage/solar-pro-preview-instruct 等。

✅︎

✅︎

XverseForCausalLM

XVERSE

xverse/XVERSE-7B-Chat, xverse/XVERSE-13B-Chat, xverse/XVERSE-65B-Chat, 等等。

✅︎

✅︎

备注

目前,vLLM 的 ROCm 版本仅支持 Mistral 和 Mixtral,上下文长度最多为 4096。

文本嵌入#

架构

模型

示例 HuggingFace 模型

LoRA

PP

Gemma2Model

基于Gemma2的

BAAI/bge-multilingual-gemma2 等。

✅︎

MistralModel

基于 Mistral

intfloat/e5-mistral-7b-instruct 等。

✅︎

奖励建模#

架构

模型

示例 HuggingFace 模型

LoRA

PP

Qwen2ForRewardModel

基于Qwen2

Qwen/Qwen2.5-Math-RM-72B 等。

✅︎

备注

作为一种临时措施,这些模型通过嵌入API得到支持。有关即将到来的更改,请参阅 此RFC

多模态语言模型#

文本生成#

架构

模型

模式

示例 HuggingFace 模型

LoRA

PP

Blip2ForConditionalGeneration

BLIP-2

图像E

Salesforce/blip2-opt-2.7b, Salesforce/blip2-opt-6.7b, 等等。

✅︎

ChameleonForConditionalGeneration

变色龙

图像

facebook/chameleon-7b 等。

✅︎

FuyuForCausalLM

Fuyu

图像

adept/fuyu-8b 等等。

✅︎

ChatGLMModel

GLM-4V

图像

THUDM/glm-4v-9b 等。

✅︎

InternVLChatModel

InternVL2

图像E+

OpenGVLab/InternVL2-4B, OpenGVLab/InternVL2-8B, 等等。

✅︎

LlavaForConditionalGeneration

LLaVA-1.5

图像E+

llava-hf/llava-1.5-7b-hf, llava-hf/llava-1.5-13b-hf, 等等。

✅︎

LlavaNextForConditionalGeneration

LLaVA-NeXT

图像E+

llava-hf/llava-v1.6-mistral-7b-hf, llava-hf/llava-v1.6-vicuna-7b-hf, 等等。

✅︎

LlavaNextVideoForConditionalGeneration

LLaVA-NeXT-Video

视频

llava-hf/LLaVA-NeXT-Video-7B-hf 等。

✅︎

LlavaOnevisionForConditionalGeneration

LLaVA-Onevision

图像+ / 视频

llava-hf/llava-onevision-qwen2-7b-ov-hf, llava-hf/llava-onevision-qwen2-0.5b-ov-hf, 等。

✅︎

MiniCPMV

MiniCPM-V

图像E+

openbmb/MiniCPM-V-2 (见注释), openbmb/MiniCPM-Llama3-V-2_5, openbmb/MiniCPM-V-2_6, 等等。

✅︎

✅︎

MllamaForConditionalGeneration

Llama 3.2

图像

meta-llama/Llama-3.2-90B-Vision-Instruct, meta-llama/Llama-3.2-11B-Vision, 等。

MolmoForCausalLM

Molmo

图像

allenai/Molmo-7B-D-0924, allenai/Molmo-72B-0924, 等等。

✅︎

NVLM_D_Model

NVLM-D 1.0

图像E+

nvidia/NVLM-D-72B, 等等。

✅︎

PaliGemmaForConditionalGeneration

PaliGemma

图像E

google/paligemma-3b-pt-224, google/paligemma-3b-mix-224, 等等。

✅︎

Phi3VForCausalLM

Phi-3-Vision, Phi-3.5-Vision

图像E+

microsoft/Phi-3-vision-128k-instruct, microsoft/Phi-3.5-vision-instruct 等。

✅︎

PixtralForConditionalGeneration

Pixtral

图像+

mistralai/Pixtral-12B-2409

✅︎

QWenLMHeadModel

Qwen-VL

图像E+

Qwen/Qwen-VL, Qwen/Qwen-VL-Chat, 等等。

✅︎

Qwen2VLForConditionalGeneration

Qwen2-VL

图像E+ / 视频+

Qwen/Qwen2-VL-2B-Instruct, Qwen/Qwen2-VL-7B-Instruct, Qwen/Qwen2-VL-72B-Instruct, 等等。

✅︎

UltravoxModel

Ultravox

音频E+

fixie-ai/ultravox-v0_3

✅︎

E 预计算的嵌入可以输入到这种模态中。
+ 这种模式下,每个文本提示可以输入多个项目。

备注

对于 openbmb/MiniCPM-V-2,官方仓库尚未工作,因此我们目前需要使用一个分支(HwwwH/MiniCPM-V-2)。更多详情,请参见:vllm-project/vllm#4087


如果你的模型使用了上述模型架构之一,你可以无缝地使用 vLLM 运行你的模型。否则,请参考 添加新模型启用多模态输入 以获取实现对模型支持的说明。或者,你可以在我们的 GitHub 项目中提出问题。

小技巧

检查您的模型是否受支持的最简单方法是运行以下程序:

from vllm import LLM

llm = LLM(model=...)  # Name or path of your model
output = llm.generate("Hello, my name is")
print(output)

如果 vLLM 成功生成文本,则表明您的模型受支持。

小技巧

要使用 ModelScope 中的模型而不是 HuggingFace Hub,请设置一个环境变量:

$ export VLLM_USE_MODELSCOPE=True

并且使用 trust_remote_code=True

from vllm import LLM

llm = LLM(model=..., revision=..., trust_remote_code=True)  # Name or path of your model
output = llm.generate("Hello, my name is")
print(output)

模型支持政策#

在 vLLM,我们致力于促进第三方模型在我们生态系统中的集成和支持。我们的方法旨在平衡对稳健性的需求和支持广泛模型的实际限制。以下是我们如何管理第三方模型支持的方式:

  1. 社区驱动的支持:我们鼓励社区为添加新模型做出贡献。当用户请求支持新模型时,我们欢迎来自社区的拉取请求(PR)。这些贡献主要根据它们生成的输出的合理性进行评估,而不是严格地与现有实现(如transformers中的实现)保持一致。呼吁贡献: 直接来自模型供应商的PR非常受欢迎!

  2. 尽力一致性:虽然我们致力于在 vLLM 中实现的模型与其他框架(如 transformers)之间保持一定程度的一致性,但完全对齐并不总是可行的。诸如加速技术和使用低精度计算等因素可能会引入差异。我们的承诺是确保所实现的模型功能正常并产生合理的结果。

  3. 问题解决和模型更新:鼓励用户报告他们在使用第三方模型时遇到的任何错误或问题。建议的修复应通过PR提交,并清楚地解释问题和建议解决方案的理由。如果一个模型的修复影响到另一个模型,我们依赖社区来突出并解决这些跨模型的依赖关系。注意:对于错误修复PR,通知原作者以寻求他们的反馈是一种良好的礼仪。

  4. 监控和更新: 对特定模型感兴趣的用户应监控这些模型的提交历史(例如,通过跟踪主目录/vllm/model_executor/models目录中的更改)。这种主动的方法有助于用户了解可能影响他们所使用模型的更新和变化。

  5. 选择性聚焦:我们的资源主要集中在用户兴趣和影响力较大的模型上。使用频率较低的模型可能得到的关注较少,我们依赖社区在维护和改进这些模型中发挥更积极的作用。

通过这种方法,vLLM 促进了一个协作环境,其中核心开发团队和更广泛的社区共同致力于我们生态系统中支持的第三方模型的稳健性和多样性。

需要注意的是,作为一个推理引擎,vLLM 并没有引入新的模型。因此,vLLM 支持的所有模型在这方面都是第三方模型。

我们对模型有以下测试级别:

  1. 严格一致性:我们将模型的输出与在HuggingFace Transformers库中使用贪婪解码的模型输出进行比较。这是最严格的测试。请参阅 模型测试 以了解通过此测试的模型。

  2. 输出合理性:我们通过测量输出的困惑度并检查是否有明显错误,来检查模型的输出是否合理和连贯。这是一个较为宽松的测试。

  3. 运行时功能: 我们检查模型是否可以无错误地加载和运行。这是最宽松的测试。请参考 功能测试示例 了解通过此测试的模型。

  4. 社区反馈: 我们依赖社区对模型提供反馈。如果一个模型损坏或未按预期工作,我们鼓励用户提出问题报告或开启拉取请求进行修复。其余模型均属于此类别。