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。
.. raw:: html
|
vLLM-MindSpore插件采用vLLM社区推荐的插件机制,实现能力注册。未来期望遵循 `RPC Multi-framework support for vllm `_ 所述原则。
代码仓地址:
环境准备
-----------------------------------------------------
- 硬件: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插件版本配套)
快速体验
-----------------------------------------------------
请查看 `快速开始 <./getting_started/quick_start/quick_start.html>`_ 和 `安装指南 <./getting_started/installation/installation.html>`_ 了解更多。
贡献
-----------------------------------------------------
请参考 `CONTRIBUTING <./developer_guide/contributing.html>`_ 文档了解更多关于开发环境搭建、功能测试以及 PR 提交规范的信息。
我们欢迎并重视任何形式的贡献与合作,请通过 `Issue `_ 来告知我们您遇到的任何Bug,或提交您的特性需求、改进建议、技术方案。
分支策略
-----------------------------------------------------
vLLM-MindSpore插件代码仓包含主干分支、开发分支、版本分支:
- **main**: 主干分支,与MindSpore master分支和vLLM v0.9.1版本配套,并通过昇腾+昇思CI持续进行质量看护;
- **develop**: 开发分支,在vLLM部分新版本发布时从主干分支拉出,用于开发适配vLLM的新功能特性。待特性适配稳定后合入主干分支。当前开发分支正在适配vLLM v0.9.1版本;
- **rX.Y.Z**: 版本分支,在完成vLLM某版本适配后,从主干分支拉出,用于正式版本发布归档。
下面是维护中的版本分支:
.. list-table::
:header-rows: 1
* - 分支
- 状态
- 备注
* - 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组织
-----------------------------------------------------
- 欢迎加入LLM Infercence Serving,参与开源项目共建和产业合作:https://www.mindspore.cn/community/SIG
- SIG例会,双周周五或周六晚上,20:00 - 21:00 (UTC+8, `查看您的时区 `_ )
许可证
-----------------------------------------------------
Apache 许可证 2.0,如 `LICENSE `_ 文件中所示。
.. toctree::
:glob:
:maxdepth: 2
:caption: 快速开始
:hidden:
getting_started/quick_start/quick_start
getting_started/installation/installation
getting_started/tutorials/qwen2.5_7b_singleNPU/qwen2.5_7b_singleNPU
getting_started/tutorials/qwen2.5_32b_multiNPU/qwen2.5_32b_multiNPU
getting_started/tutorials/deepseek_parallel/deepseek_r1_671b_w8a8_dp4_tp4_ep4
.. toctree::
:glob:
:maxdepth: 1
:caption: 使用指南
:hidden:
user_guide/supported_models/models_list/models_list
user_guide/supported_features/features_list/features_list
user_guide/supported_features/quantization/quantization
user_guide/supported_features/profiling/profiling
user_guide/supported_features/benchmark/benchmark
user_guide/environment_variables/environment_variables
.. toctree::
:glob:
:maxdepth: 1
:caption: 开发者指南
:hidden:
developer_guide/operations/custom_ops
developer_guide/contributing
.. toctree::
:glob:
:maxdepth: 1
:caption: 安全
:hidden:
general/security
.. toctree::
:glob:
:maxdepth: 1
:caption: FAQ
:hidden:
faqs/faqs
.. toctree::
:glob:
:maxdepth: 1
:caption: RELEASE NOTES
:hidden:
RELEASE