Перевод на основе страницы документации 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 модель должна:
config.json
).config.json
должен быть указан auto_map.AutoModel
.MyModel
, а не в MyModelForCausalLM
).Если совместимая модель:
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
— словарь, сопоставляющий имена дочерних слоёв с кортежами списков строк:
nn.ModuleList
, распределённый по этапам конвейера.По умолчанию 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>
import os
os.environ['http_proxy'] = 'http://your.proxy.server:port'
os.environ['https_proxy'] = 'http://your.proxy.server:port'
Чтобы использовать модели из 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 |
---|---|---|---|---|---|
BertModel C | BERT-based | BAAI/bge-base-en-v1.5 , Snowflake/snowflake-arctic-embed-xs , etc. | ✅︎ | ||
Gemma2Model C | Gemma 2-based | BAAI/bge-multilingual-gemma2 , etc. | ✅︎ | ✅︎ | ✅︎ |
GritLM | GritLM | parasail-ai/GritLM-7B-vllm . | ✅︎ | ✅︎ | ✅︎ |
GteModel C | Arctic-Embed-2.0-M | Snowflake/snowflake-arctic-embed-m-v2.0 . | ✅︎ | ||
GteNewModel C | mGTE-TRM (see note) | Alibaba-NLP/gte-multilingual-base , etc. | ✅︎ | ||
ModernBertModel C | ModernBERT-based | Alibaba-NLP/gte-modernbert-base , etc. | ✅︎ | ||
NomicBertModel C | Nomic BERT | nomic-ai/nomic-embed-text-v1 , nomic-ai/nomic-embed-text-v2-moe , Snowflake/snowflake-arctic-embed-m-long , etc. | ✅︎ | ||
LlamaModel C, LlamaForCausalLM C, MistralModel C, etc. | Llama-based | intfloat/e5-mistral-7b-instruct , etc. | ✅︎ | ✅︎ | ✅︎ |
Qwen2Model C, Qwen2ForCausalLM C | Qwen2-based | ssmits/Qwen2-7B-Instruct-embed-base (see note), Alibaba-NLP/gte-Qwen2-7B-instruct (see note), etc. | ✅︎ | ✅︎ | ✅︎ |
Qwen3Model C, Qwen3ForCausalLM C | Qwen3-based | Qwen/Qwen3-Embedding-0.6B , etc. | ✅︎ | ✅︎ | ✅︎ |
RobertaModel , RobertaForMaskedLM | RoBERTa-based | sentence-transformers/all-roberta-large-v1 , etc. | ✅︎ | ||
*Model C, *ForCausalLM C, 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 | ✅︎ | ||
*Model C, *ForCausalLM C, 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. | ✅︎ | ||
*Model C, *ForCausalLM C, 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. | ✅︎ | ✅︎ | ✅︎ |
LlamaForCausalLM C | 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. | ✅︎ | ✅︎ | ✅︎ |
*Model C, *ForCausalLM C, 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 | ✅︎ | ✅︎ |
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 |
---|---|---|---|---|---|---|
LlavaNextForConditionalGeneration C | LLaVA-NeXT-based | T / I | royokong/e5-v | |||
Phi3VForCausalLM C | Phi-3-Vision-based | T + I | TIGER-Lab/VLM2Vec-Full | 🚧 | ✅︎ | |
*ForConditionalGeneration C, *ForCausalLM C, 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. Остальные модели попадают в эту категорию.