跳到内容

注册模型

vLLM 依赖于模型注册表来确定如何运行每个模型。预先注册的架构列表可以在此处找到。

如果您的模型不在该列表中,则必须将其注册到 vLLM。本页面提供了如何操作的详细说明。

内置模型

要将模型直接添加到 vLLM 库,请先 Fork 我们的GitHub 仓库,然后从源代码构建。这将使您能够修改代码库并测试您的模型。

在实现了您的模型(请参阅教程)后,将其放入 vllm/model_executor/models 目录。然后,将您的模型类添加到 vllm/model_executor/models/registry.py 中的 _VLLM_MODELS,以便在导入 vLLM 时自动注册。最后,更新我们的支持的模型列表以推广您的模型!

重要

每个部分中的模型列表应按字母顺序维护。

外部模型

您可以通过使用插件加载外部模型,而无需修改 vLLM 代码库。

要注册模型,请使用以下代码

# The entrypoint of your plugin
def register():
    from vllm import ModelRegistry
    from your_code import YourModelForCausalLM

    ModelRegistry.register_model("YourModelForCausalLM", YourModelForCausalLM)

如果您的模型导入了初始化 CUDA 的模块,请考虑延迟导入它,以避免出现 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 接口。在此阅读更多