vLLM-MindSpore插件文档

vLLM-MindSpore插件简介

vLLM-MindSpore插件(vllm-mindspore)是一个由 MindSpore社区 孵化的vLLM后端插件。其将基于MindSpore构建的大模型推理能力接入 vLLM ,从而有机整合MindSpore和vLLM的技术优势,提供全栈开源、高性能、易用的大模型推理解决方案。

vLLM是由加州大学伯克利分校Sky Computing Lab创建的社区开源项目,已广泛用于学术研究和工业应用。vLLM以Continuous Batching调度机制和PagedAttention Key-Value缓存管理为基础,提供了丰富的推理服务功能,包括投机推理、Prefix Caching、Multi-LoRA等。同时,vLLM已支持种类丰富的开源大模型,包括Transformer类(如LLaMa)、混合专家类(如DeepSeek)、Embedding类(如E5-Mistral)、多模态类(如LLaVA)等。由于vLLM选用PyTorch构建大模型和管理计算存储资源,此前无法使用其部署基于MindSpore大模型的推理服务。

vLLM-MindSpore插件以将MindSpore大模型接入vLLM,并实现服务化部署为功能目标。其遵循以下设计原则:

  • 接口兼容:支持vLLM原生的API和服务部署接口,避免新增配置文件或接口,降低用户学习成本和确保易用性。

  • 最小化侵入式修改:尽可能避免侵入式修改vLLM代码,以保障系统的可维护性和可演进性。

  • 组件解耦:最小化和规范化MindSpore大模型组件和vLLM服务组件的耦合面,以利于多种MindSpore大模型套件接入。

基于上述设计原则,vLLM-MindSpore插件采用如下图所示的系统架构,分组件类别实现vLLM与MindSpore的对接:

  • 服务化组件:通过将LLM Engine、Scheduler等服务化组件中的PyTorch API调用映射至MindSpore能力调用,继承支持包括Continuous Batching、PagedAttention在内的服务化功能。

  • 大模型组件:通过注册或替换模型、网络层、自定义算子等组件,将MindSpore Transformers、MindSpore One等MindSpore大模型套件和自定义大模型接入vLLM。

vLLM-MindSpore插件采用vLLM社区推荐的插件机制,实现能力注册。未来期望遵循 RPC Multi-framework support for vllm 所述原则。

代码仓地址:<https://gitee.com/mindspore/vllm-mindspore>

环境准备

  • 硬件:Atlas 800I A2推理服务器,或Atlas 800T A2推理服务器,已安装必要的驱动程序,并可连接至互联网

  • 操作系统:openEuler或Ubuntu Linux

  • 软件:

    • Python >= 3.9, < 3.12

    • CANN >= 8.0.0.beta1

    • MindSpore (与vLLM-MindSpore插件版本配套)

    • vLLM (与vLLM-MindSpore插件版本配套)

快速体验

请查看 快速开始安装指南 了解更多。

贡献

请参考 CONTRIBUTING 文档了解更多关于开发环境搭建、功能测试以及 PR 提交规范的信息。

我们欢迎并重视任何形式的贡献与合作,请通过 Issue 来告知我们您遇到的任何Bug,或提交您的特性需求、改进建议、技术方案。

分支策略

vLLM-MindSpore插件代码仓包含主干分支、开发分支、版本分支:

  • main: 主干分支,与MindSpore master分支和vLLM v0.9.1版本配套,并通过昇腾+昇思CI持续进行质量看护;

  • develop: 开发分支,在vLLM部分新版本发布时从主干分支拉出,用于开发适配vLLM的新功能特性。待特性适配稳定后合入主干分支。当前开发分支正在适配vLLM v0.9.1版本;

  • rX.Y.Z: 版本分支,在完成vLLM某版本适配后,从主干分支拉出,用于正式版本发布归档。

下面是维护中的版本分支:

分支

状态

备注

master

Maintained

基于vLLM v0.9.1版本和MindSpore master分支CI看护

develop

Maintained

基于vLLM v0.9.1版本

r0.1

Unmaintained

仅允许文档修复

r0.2

Maintained

基于vLLM v0.7.3版本和MindSpore 2.6.0版本CI看护

r0.3.0

Maintained

基于vLLM v0.7.3版本和MindSpore 2.7.0版本CI看护

SIG组织

许可证

Apache 许可证 2.0,如 LICENSE 文件中所示。