Какие модели поддерживает для запуска VLLM

Перевод на основе страницы документации https://docs.vllm.ai/en/latest/models/supported_models.html#writing-custom-models_1 на 1.09.25.

Страницы документации VLLM могут быть не доступны с Российский IP адресов.

Github проекта VLLM с информацией https://github.com/vllm-project/vllm

Поддерживаемые модели

vLLM поддерживает генеративные и пулинговые модели для различных задач. Для каждой задачи перечислены архитектуры моделей, реализованные в vLLM, а также популярные модели, использующие эти архитектуры.

Если модель нативно поддерживается vLLM, её реализация находится в репозитории проекта по пути vllm/model_executor/models

Список моделей на 01.09.25 приведен далее в статье.

vLLM также поддерживает модели, доступные в библиотеке Transformers. Это работает не для всех моделей, но большинство декодерных языковых моделей и распространённые визуально-языковые модели поддерживаются! Визуально-языковые модели на данный момент принимают только изображения в качестве входных данных. Поддержка видео будет добавлена в будущих релизах.

Чтобы проверить, используется ли Transformers в качестве бэкенда, можно сделать следующее:

from vllm import LLM
llm = LLM(model=...)  # Имя или путь к модели
llm.apply_model(lambda model: print(type(model)))

Если тип модели — TransformersForCausalLM или TransformersForMultimodalLM, значит, используется Transformers.

Совет: Можно принудительно использовать TransformersForCausalLM, установив model_impl="transformers" для офлайн-инференса или --model-impl transformers для совместимого с OpenAI сервера.

Примечание: vLLM может не полностью оптимизировать реализацию Transformers, поэтому производительность может быть ниже по сравнению с нативной моделью.

Примечание: Для визуально-языковых моделей, если вы загружаете с dtype="auto", vLLM загружает всю модель с типом данных из конфигурации, если он существует. В отличие от нативного Transformers, который учитывает атрибут dtype каждого бэкенда в модели. Это может вызвать небольшие различия в производительности.

Пользовательские модели

Если модель не поддерживается нативно ни vLLM, ни Transformers, её всё равно можно использовать в vLLM!

Для совместимости с бэкендом Transformers в vLLM модель должна:

  • Быть совместимой с Transformers (см. Transformers - Кастомизация моделей):
    • Директория модели должна иметь правильную структуру (например, присутствует config.json).
    • В config.json должен быть указан auto_map.AutoModel.
  • Быть совместимой с бэкендом Transformers для vLLM (см. написание пользовательских моделей):
    • Кастомизация должна быть выполнена в базовой модели (например, в MyModel, а не в MyModelForCausalLM).

Если совместимая модель:

  • Находится на Hugging Face Model Hub, установите trust_remote_code=True для офлайн-инференса или --trust-remote-code для совместимого с OpenAI сервера.
  • Находится в локальной директории, просто передайте путь к директории в model=<MODEL_DIR> для офлайн-инференса или vllm serve <MODEL_DIR> для совместимого с OpenAI сервера.

Это означает, что с бэкендом Transformers для vLLM можно использовать новые модели до их официальной поддержки в Transformers или vLLM!

Написание пользовательских моделей

В этом разделе описаны необходимые изменения для совместимости пользовательской модели с бэкендом Transformers для vLLM. (Предполагается, что пользовательская модель уже совместима с Transformers, см. Transformers - Кастомизация моделей).

Для совместимости модели с бэкендом Transformers необходимо:

  • Передавать kwargs через все модули от MyModel до MyAttention.
  • MyAttention должен использовать ALL_ATTENTION_FUNCTIONS для вызова механизма внимания.
  • MyModel должен содержать _supports_attention_backend = True.

Пример:

# modeling_my_model.py

from transformers import PreTrainedModel
from torch import nn

class MyAttention(nn.Module):

    def forward(self, hidden_states, **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

При загрузке модели происходит следующее:

  • Загружается конфигурация.
  • Загружается класс MyModel из auto_map в конфигурации, и проверяется, что модель совместима с бэкендом (is_backend_compatible()).
  • MyModel загружается в TransformersForCausalLM или TransformersForMultimodalLM (см. vllm/model_executor/models/transformers.py), где устанавливается self.config._attn_implementation = "vllm", чтобы использовался слой внимания vLLM.

Для совместимости модели с функциями тензорного и/или конвейерного параллелизма vLLM необходимо добавить base_model_tp_plan и/или base_model_pp_plan в класс конфигурации модели:

Пример:

# configuration_my_model.py

from transformers import PretrainedConfig

class MyConfig(PretrainedConfig):
    base_model_tp_plan = {
        "layers.*.self_attn.k_proj": "colwise",
        "layers.*.self_attn.v_proj": "colwise",
        "layers.*.self_attn.o_proj": "rowwise",
        "layers.*.mlp.gate_proj": "colwise",
        "layers.*.mlp.up_proj": "colwise",
        "layers.*.mlp.down_proj": "rowwise",
    }
    base_model_pp_plan = {
        "embed_tokens": (["input_ids"], ["inputs_embeds"]),
        "layers": (["hidden_states", "attention_mask"], ["hidden_states"]),
        "norm": (["hidden_states"], ["hidden_states"]),
    }
  • base_model_tp_plan — словарь, сопоставляющий полностью квалифицированные имена слоёв с тензорными стилями параллелизма (в настоящее время поддерживаются только "colwise" и "rowwise").
  • base_model_pp_plan — словарь, сопоставляющий имена дочерних слоёв с кортежами списков строк:
    • Это нужно только для слоёв, которые не присутствуют на всех этапах конвейера.
    • vLLM предполагает, что будет только один nn.ModuleList, распределённый по этапам конвейера.
    • Список в первом элементе кортежа содержит имена аргументов ввода.
    • Список во втором элементе кортежа содержит имена переменных, которые слой выводит в вашем коде моделирования.

Загрузка модели

Hugging Face Hub

По умолчанию vLLM загружает модели с Hugging Face Hub. Чтобы изменить путь для загрузки моделей, можно установить переменную окружения HF_HOME; подробнее см. в официальной документации.

Чтобы определить, поддерживается ли модель нативно, можно проверить файл config.json внутри репозитория Hugging Face. Если поле "architectures" содержит архитектуру модели из списка ниже, то она должна поддерживаться нативно.

Модели не обязательно должны поддерживаться нативно, чтобы использоваться в vLLM. Бэкенд Transformers позволяет запускать модели напрямую с использованием их реализации в Transformers (или даже удалённого кода на Hugging Face Model Hub!).

Совет: Самый простой способ проверить, действительно ли модель поддерживается во время выполнения, — запустить следующую программу:

from vllm import LLM

# Только для генеративных моделей (runner=generate)
llm = LLM(model=..., runner="generate")  # Имя или путь к модели
output = llm.generate("Hello, my name is")
print(output)

# Только для пулинговых моделей (runner=pooling)
llm = LLM(model=..., runner="pooling")  # Имя или путь к модели
output = llm.encode("Hello, my name is")
print(output)

Если vLLM успешно возвращает текст (для генеративных моделей) или скрытые состояния (для пулинговых моделей), это означает, что модель поддерживается.

В противном случае см. Добавление новой модели для инструкций по реализации модели в vLLM. Или можно создать issue на GitHub, чтобы запросить поддержку vLLM.

Загрузка модели

Если вы предпочитаете, можно использовать Hugging Face CLI для загрузки модели или конкретных файлов из репозитория модели:

# Загрузить модель
huggingface-cli download HuggingFaceH4/zephyr-7b-beta
# Указать пользовательскую директорию кэша
huggingface-cli download HuggingFaceH4/zephyr-7b-beta --cache-dir ./path/to/cache
# Загрузить конкретный файл из репозитория модели
huggingface-cli download HuggingFaceH4/zephyr-7b-beta eval_results.json

Список загруженных моделей

Используйте Hugging Face CLI для управления моделями, хранящимися в локальном кэше:

# Список кэшированных моделей
huggingface-cli scan-cache
# Показать подробный (verbose) вывод
huggingface-cli scan-cache -v
# Указать пользовательскую директорию кэша
huggingface-cli scan-cache --dir ~/.cache/huggingface/hub

Удаление кэшированной модели

Используйте Hugging Face CLI для интерактивного удаления загруженной модели из кэша:

huggingface-cli delete-cache

Использование прокси

Несколько советов по загрузке/скачиванию моделей с Hugging Face через прокси:

  • Установите прокси глобально для сессии (или в файле профиля):
    export http_proxy=http://your.proxy.server:port
    export https_proxy=http://your.proxy.server:port
  • Установите прокси только для текущей команды:
    https_proxy=http://your.proxy.server:port huggingface-cli download <model_name>
    # или используйте команду vllm напрямую
    https_proxy=http://your.proxy.server:port vllm serve <model_name>
  • Установите прокси в интерпретаторе Python:
    import os
    os.environ['http_proxy'] = 'http://your.proxy.server:port'
    os.environ['https_proxy'] = 'http://your.proxy.server:port'

ModelScope

Чтобы использовать модели из ModelScope вместо Hugging Face Hub, установите переменную окружения:

export VLLM_USE_MODELSCOPE=True

И используйте с trust_remote_code=True:

from vllm import LLM
llm = LLM(model=..., revision=..., runner=..., trust_remote_code=True)

# Только для генеративных моделей (runner=generate)
output = llm.generate("Hello, my name is")
print(output)

# Только для пулинговых моделей (runner=pooling)
output = llm.encode("Hello, my name is")
print(output)

Легенда статуса функций

  • ✅ — функция поддерживается для модели.
  • 🚧 — функция запланирована, но ещё не поддерживается.
  • ⚠️ — функция доступна, но может иметь известные проблемы или ограничения.

Список текстовых языковых моделей

Генеративные модели

См. эту страницу для получения дополнительной информации о том, как использовать генеративные модели.

Генерация текста Эти модели в основном поддерживают API LLM.generate. Модели чата/инструкций дополнительно поддерживают API LLM.chat.

Architecture Models Example HF Models LoRA PP V1
AquilaForCausalLM Aquila, Aquila2 BAAI/Aquila-7B, BAAI/AquilaChat-7B, etc. ✅︎ ✅︎ ✅︎
ArceeForCausalLM Arcee (AFM) arcee-ai/AFM-4.5B-Base, etc. ✅︎ ✅︎ ✅︎
ArcticForCausalLM Arctic Snowflake/snowflake-arctic-base, Snowflake/snowflake-arctic-instruct, etc. ✅︎ ✅︎
BaiChuanForCausalLM Baichuan2, Baichuan baichuan-inc/Baichuan2-13B-Chat, baichuan-inc/Baichuan-7B, etc. ✅︎ ✅︎ ✅︎
BailingMoeForCausalLM Ling inclusionAI/Ling-lite-1.5, inclusionAI/Ling-plus, etc. ✅︎ ✅︎ ✅︎
BambaForCausalLM Bamba ibm-ai-platform/Bamba-9B-fp8, ibm-ai-platform/Bamba-9B ✅︎ ✅︎ ✅︎
BloomForCausalLM BLOOM, BLOOMZ, BLOOMChat bigscience/bloom, bigscience/bloomz, etc. ✅︎ ✅︎
BartForConditionalGeneration BART facebook/bart-base, facebook/bart-large-cnn, etc.
MBartForConditionalGeneration mBART facebook/mbart-large-en-ro, facebook/mbart-large-50, etc.
ChatGLMModel, ChatGLMForConditionalGeneration ChatGLM zai-org/chatglm2-6b, zai-org/chatglm3-6b, ShieldLM-6B-chatglm3, etc. ✅︎ ✅︎ ✅︎
CohereForCausalLM, Cohere2ForCausalLM Command-R, Command-A CohereLabs/c4ai-command-r-v01, CohereLabs/c4ai-command-r7b-12-2024, CohereLabs/c4ai-command-a-03-2025, CohereLabs/command-a-reasoning-08-2025, etc. ✅︎ ✅︎ ✅︎
DbrxForCausalLM DBRX databricks/dbrx-base, databricks/dbrx-instruct, etc. ✅︎ ✅︎
DeciLMForCausalLM DeciLM nvidia/Llama-3_3-Nemotron-Super-49B-v1, etc. ✅︎ ✅︎ ✅︎
DeepseekForCausalLM DeepSeek deepseek-ai/deepseek-llm-67b-base, deepseek-ai/deepseek-llm-7b-chat, etc. ✅︎ ✅︎ ✅︎
DeepseekV2ForCausalLM DeepSeek-V2 deepseek-ai/DeepSeek-V2, deepseek-ai/DeepSeek-V2-Chat, etc. ✅︎ ✅︎ ✅︎
DeepseekV3ForCausalLM DeepSeek-V3 deepseek-ai/DeepSeek-V3, deepseek-ai/DeepSeek-R1, deepseek-ai/DeepSeek-V3.1, etc. ✅︎ ✅︎ ✅︎
Dots1ForCausalLM dots.llm1 rednote-hilab/dots.llm1.base, rednote-hilab/dots.llm1.inst, etc. ✅︎ ✅︎
Ernie4_5ForCausalLM Ernie4.5 baidu/ERNIE-4.5-0.3B-PT, etc. ✅︎ ✅︎ ✅︎
Ernie4_5_MoeForCausalLM Ernie4.5MoE baidu/ERNIE-4.5-21B-A3B-PT, baidu/ERNIE-4.5-300B-A47B-PT, etc. ✅︎ ✅︎ ✅︎
ExaoneForCausalLM EXAONE-3 LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct, etc. ✅︎ ✅︎ ✅︎
Exaone4ForCausalLM EXAONE-4 LGAI-EXAONE/EXAONE-4.0-32B, etc. ✅︎ ✅︎ ✅︎
Fairseq2LlamaForCausalLM Llama (fairseq2 format) mgleize/fairseq2-dummy-Llama-3.2-1B, etc. ✅︎ ✅︎ ✅︎
FalconForCausalLM Falcon tiiuae/falcon-7b, tiiuae/falcon-40b, tiiuae/falcon-rw-7b, etc. ✅︎ ✅︎
FalconMambaForCausalLM FalconMamba tiiuae/falcon-mamba-7b, tiiuae/falcon-mamba-7b-instruct, etc. ✅︎ ✅︎
FalconH1ForCausalLM Falcon-H1 tiiuae/Falcon-H1-34B-Base, tiiuae/Falcon-H1-34B-Instruct, etc. ✅︎ ✅︎ ✅︎
GemmaForCausalLM Gemma google/gemma-2b, google/gemma-1.1-2b-it, etc. ✅︎ ✅︎ ✅︎
Gemma2ForCausalLM Gemma 2 google/gemma-2-9b, google/gemma-2-27b, etc. ✅︎ ✅︎ ✅︎
Gemma3ForCausalLM Gemma 3 google/gemma-3-1b-it, etc. ✅︎ ✅︎ ✅︎
Gemma3nForCausalLM Gemma 3n google/gemma-3n-E2B-it, google/gemma-3n-E4B-it, etc. ✅︎
GlmForCausalLM GLM-4 zai-org/glm-4-9b-chat-hf, etc. ✅︎ ✅︎ ✅︎
Glm4ForCausalLM GLM-4-0414 zai-org/GLM-4-32B-0414, etc. ✅︎ ✅︎ ✅︎
Glm4MoeForCausalLM GLM-4.5 zai-org/GLM-4.5, etc. ✅︎ ✅︎ ✅︎
GPT2LMHeadModel GPT-2 gpt2, gpt2-xl, etc. ✅︎ ✅︎
GPTBigCodeForCausalLM StarCoder, SantaCoder, WizardCoder bigcode/starcoder, bigcode/gpt_bigcode-santacoder, WizardLM/WizardCoder-15B-V1.0, etc. ✅︎ ✅︎ ✅︎
GPTJForCausalLM GPT-J EleutherAI/gpt-j-6b, nomic-ai/gpt4all-j, etc. ✅︎ ✅︎
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, etc. ✅︎ ✅︎
GptOssForCausalLM GPT-OSS openai/gpt-oss-120b, openai/gpt-oss-20b ✅︎ ✅︎
GraniteForCausalLM Granite 3.0, Granite 3.1, PowerLM ibm-granite/granite-3.0-2b-base, ibm-granite/granite-3.1-8b-instruct, ibm/PowerLM-3b, etc. ✅︎ ✅︎ ✅︎
GraniteMoeForCausalLM Granite 3.0 MoE, PowerMoE ibm-granite/granite-3.0-1b-a400m-base, ibm-granite/granite-3.0-3b-a800m-instruct, ibm/PowerMoE-3b, etc. ✅︎ ✅︎ ✅︎
GraniteMoeHybridForCausalLM Granite 4.0 MoE Hybrid ibm-granite/granite-4.0-tiny-preview, etc. ✅︎ ✅︎ ✅︎
GraniteMoeSharedForCausalLM Granite MoE Shared ibm-research/moe-7b-1b-active-shared-experts (test model) ✅︎ ✅︎ ✅︎
GritLM GritLM parasail-ai/GritLM-7B-vllm. ✅︎ ✅︎ ✅︎
Grok1ModelForCausalLM Grok1 hpcai-tech/grok-1. ✅︎ ✅︎ ✅︎
HunYuanDenseV1ForCausalLM Hunyuan-7B-Instruct-0124 tencent/Hunyuan-7B-Instruct-0124 ✅︎ ✅︎
HunYuanMoEV1ForCausalLM Hunyuan-80B-A13B tencent/Hunyuan-A13B-Instruct, tencent/Hunyuan-A13B-Pretrain, tencent/Hunyuan-A13B-Instruct-FP8, etc. ✅︎ ✅︎
HCXVisionForCausalLM HyperCLOVAX-SEED-Vision-Instruct-3B naver-hyperclovax/HyperCLOVAX-SEED-Vision-Instruct-3B ✅︎
InternLMForCausalLM InternLM internlm/internlm-7b, internlm/internlm-chat-7b, etc. ✅︎ ✅︎ ✅︎
InternLM2ForCausalLM InternLM2 internlm/internlm2-7b, internlm/internlm2-chat-7b, etc. ✅︎ ✅︎ ✅︎
InternLM3ForCausalLM InternLM3 internlm/internlm3-8b-instruct, etc. ✅︎ ✅︎ ✅︎
JAISLMHeadModel Jais inceptionai/jais-13b, inceptionai/jais-13b-chat, inceptionai/jais-30b-v3, inceptionai/jais-30b-chat-v3, etc. ✅︎ ✅︎
JambaForCausalLM Jamba ai21labs/AI21-Jamba-1.5-Large, ai21labs/AI21-Jamba-1.5-Mini, ai21labs/Jamba-v0.1, etc. ✅︎ ✅︎ ✅︎
Lfm2ForCausalLM LFM2 LiquidAI/LFM2-1.2B, LiquidAI/LFM2-700M, LiquidAI/LFM2-350M, etc. ✅︎ ✅︎ ✅︎
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, etc. ✅︎ ✅︎ ✅︎
MambaForCausalLM Mamba state-spaces/mamba-130m-hf, state-spaces/mamba-790m-hf, state-spaces/mamba-2.8b-hf, etc. ✅︎ ✅︎
Mamba2ForCausalLM Mamba2 mistralai/Mamba-Codestral-7B-v0.1, etc. ✅︎ ✅︎
MiMoForCausalLM MiMo XiaomiMiMo/MiMo-7B-RL, etc. ✅︎ ✅︎ ✅︎
MiniCPMForCausalLM MiniCPM openbmb/MiniCPM-2B-sft-bf16, openbmb/MiniCPM-2B-dpo-bf16, openbmb/MiniCPM-S-1B-sft, etc. ✅︎ ✅︎ ✅︎
MiniCPM3ForCausalLM MiniCPM3 openbmb/MiniCPM3-4B, etc. ✅︎ ✅︎ ✅︎
MistralForCausalLM Mistral, Mistral-Instruct mistralai/Mistral-7B-v0.1, mistralai/Mistral-7B-Instruct-v0.1, etc. ✅︎ ✅︎ ✅︎
MixtralForCausalLM Mixtral-8x7B, Mixtral-8x7B-Instruct mistralai/Mixtral-8x7B-v0.1, mistralai/Mixtral-8x7B-Instruct-v0.1, mistral-community/Mixtral-8x22B-v0.1, etc. ✅︎ ✅︎ ✅︎
MPTForCausalLM MPT, MPT-Instruct, MPT-Chat, MPT-StoryWriter mosaicml/mpt-7b, mosaicml/mpt-7b-storywriter, mosaicml/mpt-30b, etc. ✅︎ ✅︎
NemotronForCausalLM Nemotron-3, Nemotron-4, Minitron nvidia/Minitron-8B-Base, mgoin/Nemotron-4-340B-Base-hf-FP8, etc. ✅︎ ✅︎ ✅︎
NemotronHForCausalLM Nemotron-H nvidia/Nemotron-H-8B-Base-8K, nvidia/Nemotron-H-47B-Base-8K, nvidia/Nemotron-H-56B-Base-8K, etc. ✅︎ ✅︎ ✅︎
OLMoForCausalLM OLMo allenai/OLMo-1B-hf, allenai/OLMo-7B-hf, etc. ✅︎ ✅︎ ✅︎
OLMo2ForCausalLM OLMo2 allenai/OLMo-2-0425-1B, etc. ✅︎ ✅︎ ✅︎
OLMoEForCausalLM OLMoE allenai/OLMoE-1B-7B-0924, allenai/OLMoE-1B-7B-0924-Instruct, etc. ✅︎ ✅︎
OPTForCausalLM OPT, OPT-IML facebook/opt-66b, facebook/opt-iml-max-30b, etc. ✅︎ ✅︎
OrionForCausalLM Orion OrionStarAI/Orion-14B-Base, OrionStarAI/Orion-14B-Chat, etc. ✅︎ ✅︎
PhiForCausalLM Phi microsoft/phi-1_5, microsoft/phi-2, etc. ✅︎ ✅︎ ✅︎
Phi3ForCausalLM Phi-4, Phi-3 microsoft/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. ✅︎ ✅︎ ✅︎
PhiMoEForCausalLM Phi-3.5-MoE microsoft/Phi-3.5-MoE-instruct, etc. ✅︎ ✅︎ ✅︎
Phi4FlashForCausalLM Phi-4-mini-flash-reasoning microsoft/microsoft/Phi-4-mini-instruct, etc.
PersimmonForCausalLM Persimmon adept/persimmon-8b-base, adept/persimmon-8b-chat, etc. ✅︎ ✅︎
Plamo2ForCausalLM PLaMo2 pfnet/plamo-2-1b, pfnet/plamo-2-8b, etc. ✅︎ ✅︎
QWenLMHeadModel Qwen Qwen/Qwen-7B, Qwen/Qwen-7B-Chat, etc. ✅︎ ✅︎ ✅︎
Qwen2ForCausalLM QwQ, Qwen2 Qwen/QwQ-32B-Preview, Qwen/Qwen2-7B-Instruct, Qwen/Qwen2-7B, etc. ✅︎ ✅︎ ✅︎
Qwen2MoeForCausalLM Qwen2MoE Qwen/Qwen1.5-MoE-A2.7B, Qwen/Qwen1.5-MoE-A2.7B-Chat, etc. ✅︎ ✅︎ ✅︎
Qwen3ForCausalLM Qwen3 Qwen/Qwen3-8B, etc. ✅︎ ✅︎ ✅︎
Qwen3MoeForCausalLM Qwen3MoE Qwen/Qwen3-30B-A3B, etc. ✅︎ ✅︎ ✅︎
SeedOssForCausalLM SeedOss ByteDance-Seed/Seed-OSS-36B-Instruct, etc. ✅︎ ✅︎ ✅︎
StableLmForCausalLM StableLM stabilityai/stablelm-3b-4e1t, stabilityai/stablelm-base-alpha-7b-v2, etc. ✅︎
Starcoder2ForCausalLM Starcoder2 bigcode/starcoder2-3b, bigcode/starcoder2-7b, bigcode/starcoder2-15b, etc. ✅︎ ✅︎
SolarForCausalLM Solar Pro upstage/solar-pro-preview-instruct, etc. ✅︎ ✅︎ ✅︎
TeleChat2ForCausalLM TeleChat2 Tele-AI/TeleChat2-3B, Tele-AI/TeleChat2-7B, Tele-AI/TeleChat2-35B, etc. ✅︎ ✅︎ ✅︎
TeleFLMForCausalLM TeleFLM CofeAI/FLM-2-52B-Instruct-2407, CofeAI/Tele-FLM, etc. ✅︎ ✅︎ ✅︎
XverseForCausalLM XVERSE xverse/XVERSE-7B-Chat, xverse/XVERSE-13B-Chat, xverse/XVERSE-65B-Chat, etc. ✅︎ ✅︎ ✅︎
MiniMaxM1ForCausalLM MiniMax-Text MiniMaxAI/MiniMax-M1-40k, MiniMaxAI/MiniMax-M1-80k, etc. ✅︎
MiniMaxText01ForCausalLM MiniMax-Text MiniMaxAI/MiniMax-Text-01, etc. ✅︎
Zamba2ForCausalLM Zamba2 Zyphra/Zamba2-7B-instruct, Zyphra/Zamba2-2.7B-instruct, Zyphra/Zamba2-1.2B-instruct, etc. ✅︎

Пулинговые модели

См. эту страницу для получения дополнительной информации о том, как использовать пулинговые модели.

Важно: Поскольку некоторые архитектуры моделей поддерживают как генеративные, так и пулинговые задачи, необходимо явно указать --runner pooling, чтобы модель использовалась в режиме пулинга, а не генерации.

Встраивание Эти модели в основном поддерживают API LLM.embed.

Architecture Models Example HF Models LoRA PP V1
BertModelC BERT-based BAAI/bge-base-en-v1.5, Snowflake/snowflake-arctic-embed-xs, etc. ✅︎
Gemma2ModelC Gemma 2-based BAAI/bge-multilingual-gemma2, etc. ✅︎ ✅︎ ✅︎
GritLM GritLM parasail-ai/GritLM-7B-vllm. ✅︎ ✅︎ ✅︎
GteModelC Arctic-Embed-2.0-M Snowflake/snowflake-arctic-embed-m-v2.0. ✅︎
GteNewModelC mGTE-TRM (see note) Alibaba-NLP/gte-multilingual-base, etc. ✅︎
ModernBertModelC ModernBERT-based Alibaba-NLP/gte-modernbert-base, etc. ✅︎
NomicBertModelC Nomic BERT nomic-ai/nomic-embed-text-v1, nomic-ai/nomic-embed-text-v2-moe, Snowflake/snowflake-arctic-embed-m-long, etc. ✅︎
LlamaModelC, LlamaForCausalLMC, MistralModelC, etc. Llama-based intfloat/e5-mistral-7b-instruct, etc. ✅︎ ✅︎ ✅︎
Qwen2ModelC, Qwen2ForCausalLMC Qwen2-based ssmits/Qwen2-7B-Instruct-embed-base (see note), Alibaba-NLP/gte-Qwen2-7B-instruct (see note), etc. ✅︎ ✅︎ ✅︎
Qwen3ModelC, Qwen3ForCausalLMC Qwen3-based Qwen/Qwen3-Embedding-0.6B, etc. ✅︎ ✅︎ ✅︎
RobertaModel, RobertaForMaskedLM RoBERTa-based sentence-transformers/all-roberta-large-v1, etc. ✅︎
*ModelC, *ForCausalLMC, etc. Generative models N/A * * *

Классификация

Эти модели в основном поддерживают API LLM.classify.

Architecture Models Example HF Models LoRA PP V1
JambaForSequenceClassification Jamba ai21labs/Jamba-tiny-reward-dev, etc. ✅︎ ✅︎ ✅︎
GPT2ForSequenceClassification GPT2 nie3e/sentiment-polish-gpt2-small ✅︎
*ModelC, *ForCausalLMC, etc. Generative models N/A * * *

Кросс-энкодеры / Реранкеры

Кросс-энкодеры и реранкеры — это подмножество классификационных моделей, которые принимают два промпта в качестве входных данных. Эти модели в основном поддерживают API LLM.score.

Architecture Models Example HF Models LoRA PP V1
BertForSequenceClassification BERT-based cross-encoder/ms-marco-MiniLM-L-6-v2, etc. ✅︎
GemmaForSequenceClassification Gemma-based BAAI/bge-reranker-v2-gemma (see note), etc. ✅︎ ✅︎ ✅︎
GteNewForSequenceClassification mGTE-TRM (see note) Alibaba-NLP/gte-multilingual-reranker-base, etc. ✅︎
Qwen2ForSequenceClassification Qwen2-based mixedbread-ai/mxbai-rerank-base-v2 (see note), etc. ✅︎ ✅︎ ✅︎
Qwen3ForSequenceClassification Qwen3-based tomaarsen/Qwen3-Reranker-0.6B-seq-cls, Qwen/Qwen3-Reranker-0.6B (see note), etc. ✅︎ ✅︎ ✅︎
RobertaForSequenceClassification RoBERTa-based cross-encoder/quora-roberta-base, etc. ✅︎
XLMRobertaForSequenceClassification XLM-RoBERTa-based BAAI/bge-reranker-v2-m3, etc. ✅︎
*ModelC, *ForCausalLMC, etc. Generative models N/A * * *

Модели вознаграждения

Эти модели в основном поддерживают API LLM.reward.

Architecture Models Example HF Models LoRA PP V1
InternLM2ForRewardModel InternLM2-based internlm/internlm2-1_8b-reward, internlm/internlm2-7b-reward, etc. ✅︎ ✅︎ ✅︎
LlamaForCausalLMC Llama-based peiyi9979/math-shepherd-mistral-7b-prm, etc. ✅︎ ✅︎ ✅︎
Qwen2ForRewardModel Qwen2-based Qwen/Qwen2.5-Math-RM-72B, etc. ✅︎ ✅︎ ✅︎
Qwen2ForProcessRewardModel Qwen2-based Qwen/Qwen2.5-Math-PRM-7B, etc. ✅︎ ✅︎ ✅︎
*ModelC, *ForCausalLMC, etc. Generative models N/A * * *

Список мультимодальных языковых моделей

Следующие модальности поддерживаются в зависимости от модели:

  • Текст
  • Изображение
  • Видео
  • Аудио

Любая комбинация модальностей, соединённых знаком +, поддерживается. Например: T + I означает, что модель поддерживает текст, изображение и текст с изображением.

С другой стороны, модальности, разделённые /, являются взаимоисключающими. Например: T / I означает, что модель поддерживает только текст или только изображение, но не текст с изображением.

Важно: Чтобы включить несколько мультимодальных элементов на текстовый промпт в vLLM V0, необходимо установить limit_mm_per_prompt (для офлайн-инференса) или --limit-mm-per-prompt (для онлайн-сервиса). Например, чтобы передать до 4 изображений на текстовый промпт:

# Офлайн-инференс:
from vllm import LLM
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 V1.

Совет: Для гибридных моделей, таких как Llama-4, Step3 и Mistral-3, можно включить режим "только текст", установив все поддерживаемые мультимодальные модальности в 0 (например, --limit-mm-per-prompt '{"image":0}'), чтобы их мультимодальные модули не загружались и освободилось больше памяти GPU для кэша KV.

Примечание: vLLM в настоящее время поддерживает добавление LoRA только к языковому бэкенду мультимодальных моделей.

Генеративные модели

См. эту страницу для получения дополнительной информации о том, как использовать генеративные модели.

Генерация текста Эти модели в основном поддерживают API LLM.generate. Модели чата/инструкций дополнительно поддерживают API LLM.chat.

Architecture Models Inputs Example HF Models LoRA PP V1
AriaForConditionalGeneration Aria T + I+ rhymes-ai/Aria ✅︎
AyaVisionForConditionalGeneration Aya Vision T + I+ CohereForAI/aya-vision-8b, CohereForAI/aya-vision-32b, etc. ✅︎ ✅︎
Blip2ForConditionalGeneration BLIP-2 T + IE Salesforce/blip2-opt-2.7b, Salesforce/blip2-opt-6.7b, etc. ✅︎ ✅︎
ChameleonForConditionalGeneration Chameleon T + I facebook/chameleon-7b, etc. ✅︎ ✅︎
Cohere2VisionForConditionalGeneration Command A Vision T + I+ CohereLabs/command-a-vision-07-2025, etc. ✅︎ ✅︎
DeepseekVLV2ForCausalLM^ DeepSeek-VL2 T + I+ deepseek-ai/deepseek-vl2-tiny, deepseek-ai/deepseek-vl2-small, deepseek-ai/deepseek-vl2, etc. ✅︎ ✅︎
DonutForConditionalGeneration^ Donut T + I ByteDance/Dolphin, naver-clova-ix/donut-base-finetuned-docvqa, etc.
Ernie4_5_VLMoeForConditionalGeneration Ernie4.5-VL T + I+/ V+ baidu/ERNIE-4.5-VL-28B-A3B-PT, baidu/ERNIE-4.5-VL-424B-A47B-PT ✅︎ ✅︎
Florence2ForConditionalGeneration Florence-2 T + I microsoft/Florence-2-base, microsoft/Florence-2-large, etc.
FuyuForCausalLM Fuyu T + I adept/fuyu-8b, etc. ✅︎ ✅︎
Gemma3ForConditionalGeneration Gemma 3 T + I+ google/gemma-3-4b-it, google/gemma-3-27b-it, etc. ✅︎ ✅︎ ⚠️
Gemma3nForConditionalGeneration Gemma 3n T + I + A google/gemma-3n-E2B-it, google/gemma-3n-E4B-it, etc. ✅︎
GLM4VForCausalLM^ GLM-4V T + I zai-org/glm-4v-9b, zai-org/cogagent-9b-20241220, etc. ✅︎ ✅︎ ✅︎
Glm4vForConditionalGeneration GLM-4.1V-Thinking T + IE+ + VE+ zai-org/GLM-4.1V-9B-Thinking, etc. ✅︎ ✅︎ ✅︎
Glm4vMoeForConditionalGeneration GLM-4.5V T + IE+ + VE+ zai-org/GLM-4.5V, etc. ✅︎ ✅︎ ✅︎
GraniteSpeechForConditionalGeneration Granite Speech T + A ibm-granite/granite-speech-3.3-8b ✅︎ ✅︎ ✅︎
H2OVLChatModel H2OVL T + IE+ h2oai/h2ovl-mississippi-800m, h2oai/h2ovl-mississippi-2b, etc. ✅︎ ✅︎
Idefics3ForConditionalGeneration Idefics3 T + I HuggingFaceM4/Idefics3-8B-Llama3, etc. ✅︎ ✅︎
InternS1ForConditionalGeneration Intern-S1 T + IE+ + VE+ internlm/Intern-S1, etc. ✅︎ ✅︎ ✅︎
InternVLChatModel InternVL 3.5, InternVL 3.0, InternVideo 2.5, InternVL 2.5, Mono-InternVL, InternVL 2.0 T + IE+ + (VE+) OpenGVLab/InternVL3_5-14B, OpenGVLab/InternVL3-9B, OpenGVLab/InternVideo2_5_Chat_8B, OpenGVLab/InternVL2_5-4B, OpenGVLab/Mono-InternVL-2B, OpenGVLab/InternVL2-4B, etc. ✅︎ ✅︎ ✅︎
InternVLForConditionalGeneration InternVL 3.0 (HF format) T + IE+ + VE+ OpenGVLab/InternVL3-1B-hf, etc. ✅︎ ✅︎ ✅︎
KeyeForConditionalGeneration Keye-VL-8B-Preview T + IE+ + VE+ Kwai-Keye/Keye-VL-8B-Preview ✅︎ ✅︎ ✅︎
KeyeVL1_5ForConditionalGeneration Keye-VL-1_5-8B T + IE+ + VE+ Kwai-Keye/Keye-VL-1_5-8B ✅︎ ✅︎ ✅︎
KimiVLForConditionalGeneration Kimi-VL-A3B-Instruct, Kimi-VL-A3B-Thinking T + I+ moonshotai/Kimi-VL-A3B-Instruct, moonshotai/Kimi-VL-A3B-Thinking ✅︎ ✅︎
Llama4ForConditionalGeneration Llama 4 T + I+ meta-llama/Llama-4-Scout-17B-16E-Instruct, meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8, meta-llama/Llama-4-Maverick-17B-128E-Instruct, etc. ✅︎ ✅︎
Llama_Nemotron_Nano_VL Llama Nemotron Nano VL T + IE+ nvidia/Llama-3.1-Nemotron-Nano-VL-8B-V1 ✅︎ ✅︎ ✅︎
LlavaForConditionalGeneration LLaVA-1.5, Pixtral (HF Transformers) T + IE+ llava-hf/llava-1.5-7b-hf, TIGER-Lab/Mantis-8B-siglip-llama3 (see note), mistral-community/pixtral-12b, etc. ✅︎ ✅︎
LlavaNextForConditionalGeneration LLaVA-NeXT T + IE+ llava-hf/llava-v1.6-mistral-7b-hf, llava-hf/llava-v1.6-vicuna-7b-hf, etc. ✅︎ ✅︎
LlavaNextVideoForConditionalGeneration LLaVA-NeXT-Video T + V llava-hf/LLaVA-NeXT-Video-7B-hf, etc. ✅︎ ✅︎
LlavaOnevisionForConditionalGeneration LLaVA-Onevision T + I+ + V+ llava-hf/llava-onevision-qwen2-7b-ov-hf, llava-hf/llava-onevision-qwen2-0.5b-ov-hf, etc. ✅︎ ✅︎
MiDashengLMModel MiDashengLM T + A+ mispeech/midashenglm-7b ✅︎ ✅︎
MiniCPMO MiniCPM-O T + IE+ + VE+ + AE+ openbmb/MiniCPM-o-2_6, etc. ✅︎ ✅︎ ✅︎
MiniCPMV MiniCPM-V T + IE+ + VE+ openbmb/MiniCPM-V-2 (see note), openbmb/MiniCPM-Llama3-V-2_5, openbmb/MiniCPM-V-2_6, openbmb/MiniCPM-V-4, openbmb/MiniCPM-V-4_5, etc. ✅︎ ✅︎
MiniMaxVL01ForConditionalGeneration MiniMax-VL T + IE+ MiniMaxAI/MiniMax-VL-01, etc. ✅︎ ✅︎
Mistral3ForConditionalGeneration Mistral3 (HF Transformers) T + I+ mistralai/Mistral-Small-3.1-24B-Instruct-2503, etc. ✅︎ ✅︎ ✅︎
MllamaForConditionalGeneration Llama 3.2 T + I+ meta-llama/Llama-3.2-90B-Vision-Instruct, meta-llama/Llama-3.2-11B-Vision, etc.
MolmoForCausalLM Molmo T + I+ allenai/Molmo-7B-D-0924, allenai/Molmo-7B-O-0924, etc. ✅︎ ✅︎ ✅︎
NVLM_D_Model NVLM-D 1.0 T + I+ nvidia/NVLM-D-72B, etc. ✅︎ ✅︎
Ovis Ovis2, Ovis1.6 T + I+ AIDC-AI/Ovis2-1B, AIDC-AI/Ovis1.6-Llama3.2-3B, etc. ✅︎ ✅︎
Ovis2_5 Ovis2.5 T + I+ + V AIDC-AI/Ovis2.5-9B, etc. ✅︎
PaliGemmaForConditionalGeneration PaliGemma, PaliGemma 2 T + IE google/paligemma-3b-pt-224, google/paligemma-3b-mix-224, google/paligemma2-3b-ft-docci-448, etc. ✅︎ ⚠️
Phi3VForCausalLM Phi-3-Vision, Phi-3.5-Vision T + IE+ microsoft/Phi-3-vision-128k-instruct, microsoft/Phi-3.5-vision-instruct, etc. ✅︎ ✅︎
Phi4MMForCausalLM Phi-4-multimodal T + I+ / T + A+ / I+ + A+ microsoft/Phi-4-multimodal-instruct, etc. ✅︎ ✅︎ ✅︎
Phi4MultimodalForCausalLM Phi-4-multimodal (HF Transformers) T + I+ / T + A+ / I+ + A+ microsoft/Phi-4-multimodal-instruct (with revision refs/pr/70), etc. ✅︎ ✅︎ ✅︎
PixtralForConditionalGeneration Mistral 3 (Mistral format), Pixtral (Mistral format) T + I+ mistralai/Mistral-Small-3.1-24B-Instruct-2503, mistralai/Pixtral-12B-2409, etc. ✅︎ ✅︎
QwenVLForConditionalGeneration^ Qwen-VL T + IE+ Qwen/Qwen-VL, Qwen/Qwen-VL-Chat, etc. ✅︎ ✅︎ ✅︎
Qwen2AudioForConditionalGeneration Qwen2-Audio T + A+ Qwen/Qwen2-Audio-7B-Instruct ✅︎ ✅︎
Qwen2VLForConditionalGeneration QVQ, Qwen2-VL T + IE+ + VE+ Qwen/QVQ-72B-Preview, Qwen/Qwen2-VL-7B-Instruct, Qwen/Qwen2-VL-72B-Instruct, etc. ✅︎ ✅︎ ✅︎
Qwen2_5_VLForConditionalGeneration Qwen2.5-VL T + IE+ + VE+ Qwen/Qwen2.5-VL-3B-Instruct, Qwen/Qwen2.5-VL-72B-Instruct, etc. ✅︎ ✅︎ ✅︎
Qwen2_5OmniThinkerForConditionalGeneration Qwen2.5-Omni T + IE+ + VE+ + A+ Qwen/Qwen2.5-Omni-7B ✅︎ ✅︎
RForConditionalGeneration R-VL-4B T + IE+ YannQi/R-4B ✅︎ ✅︎
SkyworkR1VChatModel Skywork-R1V-38B T + I Skywork/Skywork-R1V-38B ✅︎ ✅︎
SmolVLMForConditionalGeneration SmolVLM2 T + I SmolVLM2-2.2B-Instruct ✅︎ ✅︎
Step3VLForConditionalGeneration Step3-VL T + I+ stepfun-ai/step3 ✅︎ ✅︎
TarsierForConditionalGeneration Tarsier T + IE+ omni-search/Tarsier-7b, omni-search/Tarsier-34b ✅︎ ✅︎
Tarsier2ForConditionalGeneration^ Tarsier2 T + IE+ + VE+ omni-research/Tarsier2-Recap-7b, omni-research/Tarsier2-7b-0115 ✅︎ ✅︎

Транскрипция - Модели Speech2Text, обученные специально для автоматического распознавания речи.

Architecture Models Example HF Models LoRA PP V1
WhisperForConditionalGeneration Whisper openai/whisper-small, openai/whisper-large-v3-turbo, etc.
VoxtralForConditionalGeneration Voxtral (Mistral format) mistralai/Voxtral-Mini-3B-2507, mistralai/Voxtral-Small-24B-2507, etc. ✅︎ ✅︎

Пулинговые модели

См. эту страницу для получения дополнительной информации о том, как использовать пулинговые модели.

Встраивание для Vision-Language

Эти модели в основном поддерживают API LLM.embed.

Architecture Models Inputs Example HF Models LoRA PP V1
LlavaNextForConditionalGenerationC LLaVA-NeXT-based T / I royokong/e5-v
Phi3VForCausalLMC Phi-3-Vision-based T + I TIGER-Lab/VLM2Vec-Full 🚧 ✅︎
*ForConditionalGenerationC, *ForCausalLMC, etc. Generative models * N/A * * *

Кросс-энкодеры / Реранкеры

Кросс-энкодеры и реранкеры — это подмножество классификационных моделей, которые принимают два промпта в качестве входных данных. Эти модели в основном поддерживают API LLM.score.

Architecture Models Inputs Example HF Models LoRA PP V1
JinaVLForSequenceClassification JinaVL-based T + IE+ jinaai/jina-reranker-m0, etc. ✅︎

Политика поддержки моделей

В vLLM стремятся облегчить интеграцию и поддержку сторонних моделей в своей экосистеме. Подход направлен на баланс между необходимостью в надёжности и практическими ограничениями поддержки широкого спектра моделей.

Принципы политики от VLLM:

  • Поддержка сообществом: Мы приветствуем вклад сообщества в добавление новых моделей. Когда пользователь запрашивает поддержку новой модели, мы приветствуем pull request (PR) от сообщества. Эти вкладки оцениваются в первую очередь на основе разумности генерируемого вывода, а не на строгом соответствии с существующими реализациями, такими как в Transformers. Призыв к участию: PR, поступающие напрямую от вендоров моделей, особенно приветствуются!

  • Максимальное соответствие: Хотя мы стремимся поддерживать определённый уровень соответствия между моделями, реализованными в vLLM, и другими фреймворками, такими как Transformers, полное совпадение не всегда возможно. Факторы, такие как методы ускорения и использование вычислений с низкой точностью, могут вносить расхождения. Наша цель — обеспечить, чтобы реализованные модели были функциональными и давали разумные результаты.

  • Совет: При сравнении вывода model.generate из Hugging Face Transformers с выводом llm.generate из vLLM учтите, что первый считывает файл конфигурации генерации модели (т.е. generation_config.json) и применяет параметры по умолчанию для генерации, тогда как второй использует только параметры, переданные в функцию. Убедитесь, что все параметры выборки идентичны при сравнении выводов.

  • Разрешение проблем и обновления моделей: Пользователей призывают сообщать о любых багах или проблемах, с которыми они сталкиваются при работе со сторонними моделями. Предлагаемые исправления должны быть отправлены через PR с чётким объяснением проблемы и обоснованием предлагаемого решения. Если исправление для одной модели влияет на другую, мы полагаемся на сообщество, чтобы выявить и устранить эти межмодельные зависимости. Примечание: для PR с исправлением ошибок хорошим тоном будет уведомить оригинального автора, чтобы получить его отзыв.

  • Мониторинг и обновления: Пользователям, заинтересованным в конкретных моделях, рекомендуется отслеживать историю коммитов для этих моделей (например, отслеживая изменения в директории main/vllm/model_executor/models). Этот проактивный подход помогает пользователям быть в курсе обновлений и изменений, которые могут повлиять на используемые ими модели.

  • Выборочное внимание: Наши ресурсы в первую очередь направлены на модели с высоким интересом и влиянием пользователей. Модели, которые используются реже, могут получать меньше внимания, и мы полагаемся на сообщество, чтобы оно играло более активную роль в их поддержке и улучшении.

Благодаря этому подходу vLLM создаёт совместную среду, в которой как основная команда разработчиков, так и более широкое сообщество вносят вклад в надёжность и разнообразие сторонних моделей, поддерживаемых в нашей экосистеме.

Обратите внимание, что vLLM как движок инференса не вводит новые модели. Следовательно, все модели, поддерживаемые vLLM, являются сторонними моделями в этом отношении.

У нас есть следующие уровни тестирования моделей:

  • Строгое соответствие: Мы сравниваем вывод модели с выводом модели в библиотеке HuggingFace Transformers при жадном декодировании. Это самый строгий тест. См. тесты моделей для моделей, прошедших этот тест.

  • Разумность вывода: Мы проверяем, является ли вывод модели разумным и связным, измеряя перплексию вывода и проверяя наличие очевидных ошибок. Это менее строгий тест.

  • Функциональность во время выполнения: Мы проверяем, может ли модель быть загружена и запущена без ошибок. Это наименее строгий тест. См. функциональные тесты и примеры для моделей, прошедших этот тест.

  • Обратная связь от сообщества: Мы полагаемся на сообщество в предоставлении обратной связи по моделям. Если модель сломана или работает не так, как ожидалось, мы призываем пользователей создавать issue для её исправления или открывать pull request. Остальные модели попадают в эту категорию.