MindIE对接vLLM框架开发指南

简介: vLLM对接MindIE,使能快速迁移到昇腾设备上,当前MindIE 1.0.0发布版本已支持多种三方框架。

vLLM适配昇腾方案

参考官方文档:功能介绍-vLLM-MindIE开源第三方服务化框架适配开发指南-服务化集成部署-MindIE1.0.0开发文档-昇腾社区

vLLM框架在昇腾环境适配的整体方案为上层运行vLLM框架原生的逻辑,包括请求调度、Batch组建、Ray分布式拉起多卡服务等;下层模型推理与后处理通过MindIE LLM提供的GeneratorTorch统一接口接入MindIE模型仓统一进行管理,实现加速库整图模式的模型推理加速。

vLLM框架下层模型推理对接Text Generator接口的基本方式为实例化Text Generator中的GeneratorTorch类,继而通过该类的实例对象的forward_tensor和sample函数分别去使用MindIE LLM的模型推理和后处理功能。

当前MindIE 1.0.0版本已经适配vLLM的版本有:0.3.3/0.4.2/0.6.2。

安装+部署

环境准备

  • MindIE安装

参考MindIE安装指南:产品版本信息-版本说明-MindIE1.0.0开发文档-昇腾社区

  • vLLM安装

以vLLM 0.4.2为例,提供两种安装方式:

方式1:拉取Vllm-MindIE代码仓进行安装

# 以vLLM 0.4.2为例,对应Vllm-MindIE仓的br_noncom_vllm_patch_v0.4.2
# 1.拉取Vllm-MindIE仓对应分支代码
git clone -b br_noncom_vllm_patch_v0.4.2 https://gitee.com/ascend/Vllm-MindIE.git
# 2.执行安装脚本
cd Vllm-MindIE
bash install.sh

Vllm-MindIE代码仓定向开源,如要申请权限请联系华为工程师。

方式2:根据MindIE官方文档提供的适配参考代码手工修改

参考链接:详细说明-vLLM 0.4.2 版本昇腾框架适配说明-适配说明-vLLM-MindIE开源第三方服务化框架适配开发指南-服务化集成部署-MindIE1.0.0开发文档-昇腾社区

适配代码仓的目录结构如下所示:

├── cover
│   ├── requirements-ascend.txt
│   ├── setup.py
│   └── vllm
│       └── __init__.py
├── examples
│   ├── offline_inference.py
│   ├── offline_inference.sh
│   └── start_server.sh
├── install.sh
├── OWNERS
├── README.en.md
├── README.md
└── vllm_npu
    ├── README.md
    ├── requirements.txt
    ├── setup.py
    └── vllm_npu
        ├── attention
        │   ├── backends.py
        │   ├── __init__.py
        │   └── selector.py
        ├── config.py
        ├── core
        │   └── __init__.py
        ├── engine
        │   ├── arg_utils.py
        │   ├── ascend_engine.py
        │   ├── async_ascend_engine.py
        │   └── __init__.py
        ├── executor
        │   ├── ascend_executor.py
        │   ├── ascend_ray_executor.py
        │   ├── __init__.py
        │   └── ray_utils.py
        ├── __init__.py
        ├── model_executor
        │   ├── ascend_model_loader.py
        │   ├── __init__.py
        │   ├── layers
        │   │   ├── ascend_sampler.py
        │   │   └── __init__.py
        │   └── models
        │       ├── ascend
        │       │   ├── __init__.py
        │       │   └── mindie_llm_wrapper.py
        │       └── __init__.py
        ├── npu_adaptor.py
        ├── usage
        │   ├── __init__.py
        │   └── usage_lib.py
        ├── utils.py
        └── worker
            ├── ascend_model_runner.py
            ├── ascend_worker.py
            ├── cache_engine.py
            └── __init__.py

检查是否安装成功:

pip show vllm
pip show vllm_npu

回显如下表示安装成功:

服务部署

  • 离线推理
cd Vllm-MindIE/examples
# 修改offline_inference.sh中--model_path为本地的模型权重路径,如:--model_path /data/models/LLaMA3-8B/
# 执行脚本
bash offline_inference.sh

输出结果如下:

  • 在线推理

启动服务:

cd Vllm-MindIE/examples
# 修改start_server.sh中--model_path为本地的模型权重路径,如:--model_path /data/models/LLaMA3-8B/
# 执行脚本
bash start_server.sh

回显结果如下:

发送请求:

# model_path根据实际情况填写
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "model_path",
"max_tokens": 100,
"temperature": 0,
"top_p": 0.9,
"prompt": "The future of AI is"
}'

响应结果如下:

相关文章
|
10月前
|
负载均衡 Docker Python
vLLM-Ascend 安装部署与环境配置指南
vLLM-Ascend 是 vLLM 项目专为华为昇腾 NPU 设计的硬件插件,支持主流大模型与多模态架构,提供高性能推理能力。项目结构清晰,涵盖核心算子、工具脚本与容器化部署方案,兼容单/多节点环境,助力高效构建昇腾上的 AI 推理服务。
4651 1
|
Unix Docker 容器
Is the docker daemon running?
Is the docker daemon running?
4525 0
|
消息中间件 监控 数据安全/隐私保护
Docker安装部署RabbitMQ & 密码修改 &创建用户及角色
Docker安装部署RabbitMQ & 密码修改 &创建用户及角色
4109 0
vllm+vllm-ascend本地部署QwQ-32B
本指南介绍如何下载、安装和启动基于Ascend的vLLM模型。首先,可通过华为镜像或Hugging Face下载预训练模型;其次,安装vllm-ascend,支持通过基础镜像(如`quay.io/ascend/vllm-ascend:v0.7.3-dev`)或源码编译方式完成;最后,使用OpenAI兼容接口启动模型,例如运行`vllm serve`命令,设置模型路径、并行规模等参数。适用于大模型推理场景,需注意显存需求(如QwQ-32B需70G以上)。
5431 17
|
人工智能 Prometheus 监控
监控vLLM等大模型推理性能
本文将深入探讨 AI 推理应用的可观测方案,并基于 Prometheus 规范提供一套完整的指标观测方案,帮助开发者构建稳定、高效的推理应用。
2983 169
监控vLLM等大模型推理性能
|
机器学习/深度学习 自然语言处理 测试技术
Qwen3技术报告首次全公开!“混合推理模型”是这样炼成的
近日,通义千问Qwen3系列模型已开源,其技术报告也正式发布。Qwen3系列包含密集模型和混合专家(MoE)模型,参数规模从0.6B到235B不等。该模型引入了“思考模式”与“非思考模式”的动态切换机制,并采用思考预算机制优化推理性能。Qwen3支持119种语言及方言,较前代显著提升多语言能力,在多个基准测试中表现领先。此外,通过强到弱蒸馏技术,轻量级模型性能优异,且计算资源需求更低。所有Qwen3模型均采用Apache 2.0协议开源,便于社区开发与应用。
8464 30
|
SQL JavaScript 关系型数据库
号称下一代Node.js,Typescript以及go的orm的prisma 浅谈如何在nest.js中使用
号称下一代Node.js,Typescript以及go的orm的prisma 浅谈如何在nest.js中使用
号称下一代Node.js,Typescript以及go的orm的prisma 浅谈如何在nest.js中使用
|
编解码 人工智能 API
飞桨x昇腾生态适配方案:12_动态OM推理
本文介绍了基于Ascend AI平台的OM模型动态推理方法,包括动态BatchSize、动态分辨率、动态维度及动态Shape四种场景,支持固定模式与自动设置模式。通过`ais_bench`工具实现推理,提供示例命令及输出结果说明,并解决常见问题(如环境变量未设置、输入与模型不匹配等)。此外,还提供了API推理指南及参考链接,帮助用户深入了解ONNX离线推理流程、性能优化案例及工具使用方法。
1714 0
|
测试技术 Shell
MindIE LLM场景快速上手实验
MindIE是昇腾自研推理框架,本实验手册可指导小白用户快速掌握MindIE在LLM(large language model)场景的基本功能,包括:大模型推理功能测试、大模型性能测试、大模型精度测试、服务化推理部署、benchmark测试等。
1395 3

热门文章

最新文章