本文介绍了如何向边缘节点部署基于 Triton 推理框架(即 Triton Inference Server)的模型服务。您可以部署边缘智能提供的官方模型,也可以部署自定义模型。
推理框架提供了模型的运行环境。Triton 推理框架兼容各种主流训练框架的模型。支持的模型框架包括:
ONNX、TensorRT、PyTorch、TensorFlow、OpenVINO、ByteNN、PaddlePaddle、Python、Ensemble、TensorRT-LLM
不同模型框架对边缘节点指令集架构、协处理器类型有不同的要求。具体如下表所示。在部署模型服务前,请确保您的边缘节点与要部署的模型是兼容的。
模型框架 | 指令集架构要求 | 协处理器要求 |
---|---|---|
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 |
登录边缘智能控制台。
在左侧导航栏顶部的 我的项目 区域,选择您的项目。
在左侧导航栏,选择 边缘推理 > 模型服务。
在 Triton框架 标签页,单击 部署模型服务。
在 部署模型服务 页面,配置以下参数,然后单击 确认。
区域 | 参数 | 说明 |
---|---|---|
基本信息 | 所属项目 | 默认为当前选择的项目。 |
节点 | 选择需要部署模型服务的边缘节点。 | |
服务名称 | 为模型服务设置名称。您可以使用以下字符:英文字母、数字、汉字、下划线(_)和连字符(-)。请注意以下规则:
| |
模型信息 | 模型 | 选择要使用的模型。您可以选择边缘智能的官方模型,也可以选择您创建的自定义模型。 |
模型版本 | 选择要使用的模型版本。 | |
模型前后处理 | 选择要使用的前后处理版本。更多信息,请参见创建一个前后处理版本。 | |
服务配置 | 服务状态类型 | 默认为 无服务状态。 |
最大批处理大小 | 设置最大批处理数量。取值范围:0 ~ 100。 注意 如果部署官方模型,在选择 模型 和 模型版本 后,请勿修改最大批处理的默认填充值。 如果部署自定义模型,可以参考以下说明设置最大批处理:
推理框架在将 input 送入模型前会增加一个维度,用来表示批次数。
| |
HTTP端口 | 输入 HTTP 服务端口号。取值范围:30000 ~ 40000。 | |
GRPC端口 | 输入 GRPC 服务端口号。取值范围:30000 ~ 40000。 | |
部署实例 | 为每个子模型分别配置以下参数: 说明 当 模型 是 Ensemble 以外的类型时,子模型只有一个;当 模型 是 Ensemble 类型时,子模型有多个。更多信息,请参见创建自定义模型。
| |
资源配置 | 为模型服务分配边缘节点资源。支持的配置项包括:
注意 如果模型服务在 CPU 或内存方面超过限额,容器将会被终止。 | |
压缩模式 | 选择是否采用输入压缩模式来部署模型服务。 说明 当 模型 是 Ensemble 类型时,不支持开启压缩模式。 在模型服务与数据流分开部署的场景(如云边协同)建议开启输入压缩模式。开启输入压缩模式后,模型服务的部署会自动转化为一个 Ensemble 联合模型服务的部署,它包含三部分:Ensemble 模型,Python 前处理模型以及您选择的模型本身。
| |
共享内存 | 说明 只有当 模型框架 是 Python 或者 Ensemble 时,共享内存 才会显示。 设置 Docker 共享内存。带有模型服务的容器通常需要比 Docker 默认的 64MB 更大的共享内存。在大多数情况下,256MB 通常就足够了。您可以增加单个容器的共享内存 (SHM) 大小,也可以更改 Docker 的默认值。
|
完成以上操作后,您可以在 模型服务 列表看到刚刚部署的模型服务。此时,模型服务的状态是 部署中。您可以将光标放置在状态旁边的问号图标上,了解部署进度。
说明
Triton 模型服务的部署基于边缘智能下发的 GPU 镜像文件。当您首次在某个边缘节点上部署模型服务时,该边缘节点将自动下载必要的 GPU 镜像文件。下载所需的时间长度取决于该边缘节点的网络环境,过程大约需耗时 5~10 分钟。若边缘节点已开启 GPU 镜像预加载 功能,则部署模型服务的时间将会明显缩短。更多信息,请参见绑定节点。