本文描述了如何通过边缘智能控制台部署模型服务。您可以在一体机上部署边缘智能的官方模型、您创建的自定义模型。
背景信息
不同框架的模型对一体机指令集架构、协处理器类型有不同的要求。具体如下表所示。在部署模型服务前,请确保您的一体机与要部署的模型是兼容的。
模型框架 | 一体机指令集架构要求 | 一体机协处理器要求 |
---|
ONNX | x86/amd64、arm | CPU、GPU |
TensorRT | x86/amd64、arm | GPU |
PyTorch | x86/amd64、arm | CPU、GPU |
TensorFlow | x86/amd64、arm | CPU、GPU |
OpenVINO | x86/amd64 | CPU、GPU |
Bytenn | x86/amd64、arm | CPU、GPU |
PaddlePaddle | x86/amd64 | CPU、GPU |
前提条件
操作步骤
登录边缘智能控制台。
在左侧导航栏顶部的 我的项目 区域,选择您的项目。
在左侧导航栏,选择 边缘推理 > 模型服务。
单击 部署模型服务。
在 部署模型服务 页面,配置以下参数,然后单击 确认。
区域 | 参数 | 说明 |
---|
基本信息 | 所属项目 | 默认为当前选择的项目。 |
节点 | 选择需要部署模型服务的节点(一体机)。 |
服务名称 | 为模型服务设置名称。
您可以使用以下字符:英文字母、数字、汉字、下划线(_)和连字符(-)。请注意以下规则: - 长度限制为 32 个字符以内。
- 下划线和连字符不能用在开头或结尾,也不能连续使用。
- 名称不能与节点(一体机)上其他模型服务名称重复。
|
模型信息 | 模型 | 选择要使用的模型。
您可以选择边缘智能的官方模型,也可以选择您创建的自定义模型。 |
模型版本 | 选择要使用的模型版本。 |
模型前后处理 | 选择要使用的前后处理版本。
更多信息,请参见为模型创建版本。 |
服务配置 | 服务状态类型 | 默认为 无服务状态。 |
最大批处理大小 | 设置最大批处理数量。取值范围:0 ~ 100。 |
HTTP端口 | 输入 HTTP 服务端口号。取值范围:30000 ~ 40000。
请确保您设置的端口号在目标节点(一体机)上未被其他服务占用。 |
GRPC端口 | 输入 GRPC 服务端口号。取值范围:30000 ~ 40000。
请确保您设置的端口号在目标节点(一体机)上未被其他服务占用。 |
部署实例 | 为每个子模型分别配置以下参数: 说明 当 模型 是 Ensemble 以外的类型时,子模型只有一个;当 模型 是 Ensemble 类型时,子模型有多个。更多信息,请参见创建自定义模型。 - CPU实例数:
表示预期在 CPU 上水平扩展的模型实例的数量。取值范围:0 ~ 100。 - GPU实例数:
表示预期在 GPU 上水平扩展的模型实例的数量。取值范围:0 ~ 100。 - GPU ID:
表示在哪个或哪些 GPU 上创建模型实例。仅在节点(一体机)上包含 GPU 时允许配置该参数。
默认情况下,模型实例会在指定节点的所有 GPU 上创建。如果设置了 GPU ID,则仅在指定的 GPU 上创建模型实例。
假设节点包含 N 个 GPU,则 GPU ID 使用 0、1、……、N-1 表示。每输入一个 ID,按回车确认。 - 动态批处理:
设置是否开启动态批处理功能。该功能让模型服务器得以将多个推理请求组合,动态地生成一个批次。一般来说,创建请求批次可以优化吞吐量。 动态批处理 开启时,将会显示 最大延迟 参数。 最大延迟 表示表示批处理延迟的最大时间。(超过该时间会立刻开始推理。)单位:us。取值范围:0~1000000。 - 参数配置:
通过该参数自定义参数配置。自定义的参数配置将被推送到一体机。说明 - 只有当 模型 的类型是 Python 时,自定义的参数配置才会被启用。
- 如果您希望使用这个功能,建议您联系售后技术支持来帮助您完成配置。
|
资源配置 | 为模型服务分配一体机资源。支持的配置项包括: - CPU配额:
容器需要使用的最小 CPU 核数。单位:Core。使用一位小数表示。取值范围:0.1 ~ 128.0。 - CPU限额:
容器可以使用的最大 CPU 核数。单位:Core。使用一位小数表示。取值范围:0.1 ~ 128.0。 - 内存配额:
容器需要使用的最小内存值。单位:MB 或 GB。使用整数表示。取值范围:0MB ~ 128GB。 - 内存限额:
容器可以使用的最大内存值。单位:MB 或 GB。使用整数表示。取值范围:0MB ~ 128GB。
注意 如果模型服务在 CPU 或内存方面超过限额,容器将会被终止。 |
压缩模式 | 选择是否采用输入压缩模式来部署模型服务。 说明 当 模型 是 Ensemble 类型时,无法开启压缩模式。 在模型服务与数据流分开部署的场景(如云边协同)建议开启输入压缩模式。开启输入压缩模式后,模型服务的部署会自动转化为一个 Ensemble 联合模型服务的部署,它包含三部分:Ensemble 模型,Python 前处理模型以及您选择的模型本身。
在这种模式下,整个 Ensemble 模型的输入图片 Tensor 会变成压缩后的 jpeg string。相对于原始模型,输入 Tensor 的大小有大幅度的缩小。Python 前处理模型则是用来将压缩后的 jpeg string 恢复成原始模型的输入 Tensor。 示例:
假设原始模型的图片输入 Tensor 大小是 3×640×640,因此该输入 Tensor 大小是 4.6875MB。而压缩后,输入 Tensor 大小仅仅是 jpeg string 的大小,大约是几十 KB。
|
完成上述操作后,您可以在 模型服务 列表查看已经部署的模型服务。
- 当模型服务的状态是 部署中,您可以将光标放置在状态旁边的问号图标上,了解当前的部署进度。
说明
模型服务的部署基于边缘智能提供的 GPU 镜像文件。当您首次在某台一体机上部署模型服务时,该一体机将自动下载必要的 GPU 镜像文件。下载所需的时间长度取决于该一体机的网络环境,过程大约需耗时 5 至 10 分钟。若一体机已开启 GPU 镜像预加载 功能,则部署模型服务的时间将会明显缩短。更多信息,请参见绑定一体机。
- 当模型服务的状态变为 运行中,表示模型服务已经部署成功。
- 如果模型服务的状态是 部署失败,您可以将光标放置在 部署失败 上,然后单击 查看原因,以获取具体的错误消息。