将模型注册到 vLLM#
vLLM 依赖于模型注册表来确定如何运行每个模型。预注册架构列表可以在此处找到。
如果您的模型不在该列表中,您必须将其注册到 vLLM。此页面提供了关于如何执行此操作的详细说明。
内置模型#
要将模型直接添加到 vLLM 库,请首先 fork 我们的 GitHub 仓库,然后从源代码构建它。这使您能够修改代码库并测试您的模型。
在您实现了您的模型之后(参见教程),将其放入 vllm/model_executor/models 目录中。然后,将您的模型类添加到 _VLLM_MODELS
在 vllm/model_executor/models/registry.py 中,以便在导入 vLLM 时自动注册。最后,更新我们的支持的模型列表以推广您的模型!
重要提示
每个部分中的模型列表应按字母顺序维护。
树外模型#
您可以使用插件加载外部模型,而无需修改 vLLM 代码库。
另请参阅
要注册模型,请使用以下代码
from vllm import ModelRegistry
from your_code import YourModelForCausalLM
ModelRegistry.register_model("YourModelForCausalLM", YourModelForCausalLM)
如果您的模型导入了初始化 CUDA 的模块,请考虑延迟导入它,以避免出现类似 RuntimeError: Cannot re-initialize CUDA in forked subprocess
的错误
from vllm import ModelRegistry
ModelRegistry.register_model("YourModelForCausalLM", "your_code:YourModelForCausalLM")
重要提示
如果您的模型是多模态模型,请确保模型类实现了 SupportsMultiModal
接口。阅读更多关于 此处 的信息。
注意
虽然您可以直接在脚本中使用 vllm.LLM
放入这些代码片段,但推荐的方法是将这些代码片段放在 vLLM 插件中。这确保了与各种 vLLM 功能的兼容性,例如分布式推理和 API 服务器。