注册模型¶
vLLM 依赖于模型注册表来确定如何运行每个模型。已预注册的架构列表可以在这里找到。
如果您的模型不在列表中,您必须将其注册到 vLLM。本页面提供了详细的注册指南。
内置模型¶
要将模型直接添加到 vLLM 库中,请先 fork 我们的 GitHub 仓库,然后从源码构建。这使您能够修改代码库并测试您的模型。
在实现模型后(请参阅教程),将其放入 vllm/model_executor/models 目录。然后,将您的模型类添加到 vllm/model_executor/models/registry.py 中的 _VLLM_MODELS,这样在导入 vLLM 时它会被自动注册。最后,更新我们的支持模型列表来推广您的模型!
重要
每个部分中的模型列表应保持按字母顺序排列。
树外模型 (Out-of-tree models)¶
您可以在不修改 vLLM 代码库的情况下,使用插件加载外部模型。
要注册该模型,请使用以下代码:
# The entrypoint of your plugin
def register():
from vllm import ModelRegistry
from your_code import YourModelForCausalLM
ModelRegistry.register_model("YourModelForCausalLM", YourModelForCausalLM)
如果您的模型导入了初始化 CUDA 的模块,请考虑使用延迟导入(lazy-import)来避免出现诸如 RuntimeError: Cannot re-initialize CUDA in forked subprocess 之类的错误。
# The entrypoint of your plugin
def register():
from vllm import ModelRegistry
ModelRegistry.register_model(
"YourModelForCausalLM",
"your_code:YourModelForCausalLM",
)
重要
如果您的模型是多模态模型,请确保该模型类实现了 SupportsMultiModal 接口。点击这里阅读更多相关信息。