昇腾推理微服务管理插件
特性介绍
昇腾推理微服务管理插件(mis-management)是一个面向昇腾AI推理场景的统一管理插件,提供可视化、声明式的昇腾推理微服务(Mind Inference Service)全生命周期管理能力。该插件通过Web界面帮助用户轻松完成推理微服务的注册、模型权重下载、实例部署和状态监控等操作,显著降低昇腾推理服务的使用门槛。
说明:
mis-management当前支持文本大模型LLM与视觉大模型VLM推理微服务,向量化EMB推理微服务暂不支持。
应用场景
- AI工程师需要快速部署和管理昇腾推理微服务。
- 用户需要集中管理多个推理模型及其运行实例。
能力范围
- 微服务管理:支持通过Web UI创建、查看、修改和删除推理微服务。
- 配置管理:支持多种推理微服务配置,适配不同硬件环境和推理需求。
- 自动拉取:支持模型权重一键下载,简化部署流程。
- 实例管理:支持通过Web UI查看、启动、删除推理微服务实例。
- 状态监控:支持实时查看模型权重与实例的运行状态。
亮点特征
- 可视化操作界面:提供直观的Web UI,无需编写YAML配置文件即可完成全部操作。
- 全生命周期管理:覆盖从微服务注册、权重下载到实例部署和监控的完整流程。
- 与MIS-Operator深度集成:基于MIS-Operator实现推理微服务的标准化管理。
- 统一存储管理:通过PVC统一管理模型权重文件,支持共享存储。
基本概念
- 微服务:包含推理模型及其运行环境的容器化服务单元。
- 权重文件:模型推理所需的本体参数文件,通常体积较大需要单独管理。
- 实例:微服务的具体运行实例,可配置副本数和资源规格。
- 推理配置:针对特定硬件环境优化的推理参数配置。
实现原理
插件中各组件架构图如下。
图1 MIS管理插件架构图
插件采用前后端分离架构:
- 前端:基于JavaScript实现的Web界面,提供用户交互功能。
- 后端:Go语言编写的API服务,处理业务逻辑并调用Kubernetes的API。
- 存储:通过挂载的PVC实现配置信息和模型权重的持久化存储。
工作流程:
- 用户通过Web界面注册微服务信息。
- 根据配置自动下载模型权重文件。
- 用户部署微服务实例,系统调用MIS-Operator创建相应的Kubernetes资源。
- 实时监控实例状态并在界面中展示。
与相关特性的关系
本插件依赖MIS-Operator实现推理微服务实例的生命周期管理,需要在Kubernetes集群中预先部署MIS-Operator。
安装
前提条件
- 已部署Kubernetes集群。
- 已安装MIS-Operator。
- 已配置PVC存储用于模型权重存储。
- 可访问昇腾模型仓库(AscendHub)。
开始安装
在安装插件之前,请确保已经准备好Kubernetes环境。
-
创建命名空间。
kubectl create ns mis-management
-
构建镜像。
nerdctl build -t mis-management:latest -f build/Dockerfile .
-
使用Helm安装服务。
helm install -n mis-manager mis-management charts/mis-management
-
使用以下命令应用服务配置。
kubectl apply -f charts/mis-management/templates/service.yaml
-
安装完成后,通过以下方式验证服务是否正常运行。
kubectl get pods -n mis-management
kubectl get svc -n mis-management
使用微服务管理
前提条件
背景信息
微服务仓库负责管理推理微服务的元数据信息。
使用限制
仅支持AscendHub提供的昇腾推理微服务。
新增微服务
- 登录openFuyao平台,左侧导航栏选择“昇腾推理微服务”。
- 单击“微服务仓库”,进入微服务列表页面。
- 列表页右上角单击“新增微服务”。
- 页面弹出“新增微服务”窗口,输入以下相关信息:
- “微服务名称”(例如:
qwen2.5-0.5b-instruct
) - “镜像名”(例如:
swr.cn-south-1.myhuaweicloud.com/ascendhub/qwen2.5-0.5b-instruct:7.1.T9-aarch64
) - “推理配置”(例如:
atlas800ia2-1x32gb-bf16-vllm-default
、atlas800ia2-1x32gb-bf16-vllm-latency
、atlas800ia2-1x32gb-bf16-vllm-throughput
,配置字段之间以回车分隔) 详细配置信息请参考昇腾推理微服务仓库中推理镜像描述的优化配置
详情。
- “微服务名称”(例如:
- “权重状态”若为“未下载”,可单击“下载”。
- 单击“确定”完成微服务新增。
相关操作
-
查看推理微服务:单击已创建的微服务名称,可查看微服务基本信息。
-
编辑推理微服务:微服务基本信息页面中单击“镜像名”与“推理配置”右侧的编辑按钮
可修改相应内容。
-
删除推理微服务:单击“操作”列中
的“删除”,确认风险提示后完成删除。
使用权重仓库
前提条件
背景信息
权重仓库负责管理模型权重文件的状态和存储。
使用限制
需要足够的存储空间用于模型权重文件。
查看权重文件状态
-
登录openFuyao平台,左侧导航栏选择“昇腾推理微服务”。
-
单击“权重仓库”,进入权重仓库页面。列表页展示“微服务名称”、“推理配置”、“权重路径”、“镜像大小”和“权重状态”等信息。
-
查看权重状态。
入口一:单击“微服务仓库”操作列中
的“部署实例”。
入口二:单击左侧“实例管理”右上角的“部署微服务实例”,弹出窗口可查看“权重状态”。
入口三:单击左侧“权重仓库”列表页中查看“权重状态”。
重新下载权重文件
-
提供两种方法重新下载权重文件:
-
方式一:(推荐)可单击权重仓库页面中单击“操作”列中
的“删除”,在实例部署场景中设置相同参数配置后单击“下载”。
-
方式二:若“权重状态”为“失败”,可在权重仓库页面中单击“操作”列中
的“重新下载”。
-
-
等待下载完成后,“权重状态”将变为“正常”。
相关操作
删除权重文件:单击“操作”列中的“删除”,确认风险提示后,完成删除。
说明:
模型权重下载成功前部署对应推理实例可能导致部署失败。
实例管理
前提条件
背景信息
实例管理负责管理推理服务实例的部署和运行状态。
使用限制
微服务实例必须通过MIS-Operator进行部署。
部署实例
-
登录openFuyao平台,左侧导航栏选择“昇腾推理微服务”。
-
实例部署包含两个入口,可二选其一。
-
单击左侧“微服务仓库”,进入微服务列表页面,单击“微服务仓库”列表页面“操作”列中
,选择“部署实例”。
-
单击左侧“实例管理”,进入实例管理页面,单击右上角的“部署微服务实例”。
-
-
弹出“部署实例”窗口,输入以下相关信息:
- “微服务实例名称”(例如:
qwen2.5-0.5b-instruct-instance-1
)。 - 选取“推理配置(例如:
atlas800ia2-1x32gb-bf16-vllm-default
)。 - 选择“服务类型(“ClusterIP”或“NodePort”)。
- 如果选择“NodePort,需指定“端口号”(例如
30001
,范围30000-32767)。 - 设置“单个实例NPU数量”(例如:
1
,包含并行推理配置的实例才能选择多卡)。 - 设置“实例数”(例如:
1
)。
- “微服务实例名称”(例如:
-
“权重状态”若为“未下载”,可单击“下载”。
-
单击“确定”创建实例。
-
在实例列表中查看状态,等待“状态”变为“Ready”。
后续操作
实例部署完成后,可根据实例管理页面,实例列表中访问路径列的URL访问推理微服务API。若访问路径为localhost:30001/openai/v1/models
,则:
# 基础模型信息访问地址
http://{主机地址}:30001/openai/v1/models
# 聊天接口访问地址
http://{主机地址}:30001/openai/v1/chat/completions
详细请求参数格式请参考昇腾推理微服务仓库对应镜像描述。
相关操作
-
查看实例状态:单击已创建的实例名称,可查看实例基本信息。
-
删除实例:单击“操作”列的删除按钮
,确认风险提示后,完成删除。
FAQ
-
微服务部署失败
解决方法:
- 确认MIS-Operator已正确部署。
- 确认模型权重已成功下载。
- 检查Kubernetes集群资源是否充足。
- 查看实例详细状态信息定位具体错误。
-
模型权重下载失败
可能原因:
- 网络连接问题导致无法访问模型仓库。
- 存储空间不足。
- 镜像配置错误。
解决办法:
- 检查网络连接和防火墙设置。
- 确认PVC存储空间充足。
- 验证镜像名和配置是否正确。
- 尝试删除对应权重并重新下载。
附录
支持的推理配置
常见推理配置包括:
atlas800ia2-1x32gb-bf16-vllm-default
:默认配置。atlas800ia2-1x32gb-bf16-vllm-latency
:低延迟优化配置。atlas800ia2-1x32gb-bf16-vllm-throughput
:高吞吐量优化配置。