管理推理服务
推理服务功能的核心定义是将训练好的机器学习或深度学习模型部署为可在线调用的服务,并使用 HTTP API 或 gRPC 等协议,使原生应用能够实时或批量使用模型的预测、分类、生成及其他功能。此功能主要解决模型训练完成后,如何高效、稳定、便捷地将模型部署到生产环境,并提供可扩展的在线服务。
优势
- 简化模型部署流程,降低部署复杂度。
- 提供高可用、高性能的在线和批量推理服务。
- 支持动态模型更新和版本管理。
- 实现模型推理服务的自动化运维与监控。
核心功能
直接将模型部署为推理服务
- 允许用户部署 Model Catalog 中的制品或 Model Registry 中选定的活动版本,也可直接从 PVC 挂载模型。系统会自动下载、缓存并加载模型,然后启动推理服务。
将原生应用用作推理服务
- 使用 Kubernetes 原生应用作为推理服务。此方式具有更大的灵活性,允许用户根据需要自定义推理环境。
推理服务模板管理
- 支持创建、管理和删除推理服务模板,允许用户基于预定义模板快速部署推理服务。
推理服务批量操作
- 支持对多个推理服务执行批量操作,例如批量启动、停止、更新和删除。
- 支持创建和监控批量推理任务,以及导出任务结果。
- 提供批量资源管理,可批量分配和调整推理服务的资源。
推理体验
- 提供交互式界面,便于用户测试和体验推理服务。
- 支持多种输入和输出格式,满足不同原生应用场景的需求。
- 提供模型性能评估工具,帮助用户优化模型部署。
推理 Runtime 支持
- 集成 vLLM、Seldon MLServer 等多种主流推理框架,并支持用户自定义推理 Runtime。
- vLLM:针对 DeepSeek/Qwen 等大型语言模型 (LLM) 进行了优化,支持高并发处理和更高吞吐量,同时具备出色的资源效率。
- MLServer:专为传统 ML 模型(XGBoost/图像分类)设计,提供多框架兼容性和简化的调试流程。
访问方式、日志、Swagger、监控等
- 提供 HTTP API 和 gRPC 等多种访问方式。
- 支持详细的日志记录与分析,便于用户排查问题。
- 自动生成 Swagger 文档,便于用户集成和调用推理服务。
- 提供实时监控和告警功能,确保服务稳定运行。
创建推理服务
第 1 步:访问推理服务创建页面
可通过以下两种方式启动推理服务发布流程:
- 从 Model Catalog:在用户视图中,打开 AI Hub > Model Catalog,选择一个目录模型,然后单击 创建推理 API。
- 从 Model Registry:在用户视图中,打开 AI Hub > Model Registry,选择一个活动的已注册模型版本,然后单击 创建推理 API 或 部署。
- 从推理服务:打开 AI Hub > 推理服务,然后选择 创建推理服务。
自定义发布推理服务需要手动设置参数。您也可以通过组合输入参数创建“模板”,以便快速发布推理服务。
第 2 步:配置模型元数据(如需要)
如果 创建推理 API 不可用,请确认目录条目或已注册模型版本具有制品 URI,以及所需的任务和框架元数据。对于已注册模型,可在 Model Registry 详情页面更新标签或自定义属性。模型版本必须处于活动 (LIVE) 状态后才能部署。
第 3 步:选择发布模式并配置
进入 发布模式选择 页面。AML 提供 自定义发布 和 模板发布 选项。
-
模板发布:
- 选择模型并单击 模板名称
- 进入模板发布表单,其中已预加载模板中的参数,但可手动编辑
- 单击 发布 以部署推理服务
-
自定义发布:
- 单击 自定义发布
- 进入自定义发布表单并配置参数,包括 模型来源(Model Catalog、Model Registry、Connection 或 Persistent Volume Claim,具体取决于已安装的版本)。
- 单击 发布 以部署推理服务
第 4 步:监控和管理推理服务
您可以在左侧导航栏的推理服务下查看已发布推理服务的状态、日志及其他详细信息。如果推理服务启动失败或运行资源不足,您可能需要更新或重新发布推理服务,并修改可能导致启动失败的配置。
注意: 推理服务会根据请求流量,在“最小副本数”和“最大副本数”之间自动扩缩容。如果“最小副本数”设置为 0,则在一段时间内没有请求时,推理服务会自动暂停并释放资源。此时,如果有请求到达,推理服务可自动启动并加载缓存在 PVC 中的模型。
AML 基于 kserve InferenceService CRD 完成云原生推理服务的发布和运行。如果您熟悉 kserve 的使用,也可以在“直接从模型发布推理服务”时单击右上角的“YAML”按钮,直接修改 YAML 文件以完成更高级的发布操作。
模型发布参数说明
推理服务模板管理
AML 引入了 模板发布,用于快速部署推理服务。您可以创建和删除模板(更新模板需要创建新模板)。
第 1 步:创建模板
- 在左侧导航栏中,单击 推理服务 > 创建推理服务
- 单击 自定义发布
- 进入表单页面并配置参数
- 单击 创建模板
第 2 步:从现有模板创建新模板
- 在左侧导航栏中,单击 推理服务 > 创建推理服务
- 选择模型并单击 模板名称
- 根据需要编辑参数
- 单击 创建模板,另存为新模板
第 3 步:删除模板
- 在左侧导航栏中,单击 推理服务 > 创建推理服务
- 在模板卡片上,单击 操作 > 删除
- 确认删除
更新推理服务
- 在左侧导航栏中,单击 推理服务。
- 单击 推理服务名称。
- 在推理服务详情页面,单击右上角的 操作 > 更新,进入更新页面。
- 修改必要字段,然后单击 更新。系统将执行滚动更新,以免中断现有客户端请求。
调用已发布的推理服务
AML 为常见任务类型提供可视化的 “推理体验” 方式来访问已发布的推理服务;您也可以使用 HTTP API 调用推理服务。
推理体验
AML 支持演示以下任务类型的推理服务推理(任务类型在模型元数据中指定):
- 文本生成
- 文本分类
- 图像分类
- 图像生成
成功发布上述任务类型的推理服务后,您可以在模型详情页面和推理服务详情页面右侧显示 “推理体验” 对话框。根据推理任务的类型,输入和输出数据类型可能有所不同。以文本生成为例,输入文本后,模型生成的文本会以蓝色字体追加到文本框中输入的文本之后。 推理体验支持选择由同一模型多次发布、部署在不同集群中的不同推理服务。选择推理服务后,将调用该推理服务并返回推理结果。
通过 HTTP API 调用
发布推理服务后,您可以在原生应用或其他服务中调用此推理服务。本文档将以 Python 代码为例,说明如何调用已发布的推理 API。
-
在左侧导航栏中单击 推理服务 > 推理服务名称,进入推理服务详情页面。
-
单击 访问方式 选项卡,获取集群内或集群外访问方式。可以直接从此 K8s 集群中的 Notebook 或其他容器使用集群内访问方式。如果需要从集群外的位置(例如本地笔记本电脑)访问,则需要使用集群外访问方式。
-
单击调用示例以查看示例代码。
注意:调用示例中提供的代码仅适用于使用 mlserver runtime (Seldon MLServer) 发布的推理服务所支持的 API 调用协议。此外,Swagger 选项卡也仅支持访问由 mlserver runtime 发布的推理服务。
推理参数说明
调用推理服务时,您可以通过调整模型推理参数来调整模型输出效果。 在 推理体验 界面中,已预置常用参数和默认值,也可以添加任意自定义参数。
不同任务类型的参数说明
文本生成
预置参数
其他参数
有关更多参数,请参阅文本生成参数配置。
图像生成
预置参数
其他参数
有关更多参数,请参阅图像生成参数配置。
文本分类
预置参数
有关更多参数,请参阅文本分类参数配置