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

Unmaintained

基于vLLM v0.7.3版本和MindSpore 2.6.0版本CI看护。仅允许文档修复

r0.3.0

Maintained

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

r0.4.0

Maintained

基于vLLM v0.9.1版本和MindSpore 2.7.1版本CI看护

SIG组织

许可证

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