是否有这些疑问:
- 内置的 Operator 阈值设置不符合我的需求, 怎么实现定制化的 Operator?
- 内置的 Operator 模型不符合我的精度要求,怎么实现定制化的 Operator?
- 我实现了一篇最新论文中的 SOTA 模型,怎么实现定制化的 Operator?
- 我对常用模型进行了特定领域的 fine-tuning,怎么实现定制化的 Operator?
如何实现定制化的 Operator?
- 具有一定能力的 Python 开发能力
- 了解 gRPC 与 protobuf
- 掌握基础的 Docker 命令
以下列出的是实现定制化 Operator 的必要事项,可以实现这些步骤进行接入。
- 准备模型。
- 实现 rpc 目录下的 gRPC 接口。
- 调试并打包为 Docker 镜像
在 example-custom-operator 下可以看到一个最简单的 operator 结构
- 在 data 目录下通常存放用于下载模型文件的的脚本,在制作镜像时用于下载模型
- 在 rpc 目录下是 gRPC 生成的 python 文件
- 主目录下的 server 文件通常用来保存 gRPC server 的相关逻辑
- 主目录下的 custom_operator 文件用来实现 rpc 文件需要的接口
proto 文件可以在 这里 找到
一共需要实现 3 个接口
- Execute 用于执行这个 operator。
- Healthy 检查 operator 是否正在运行。
- Identity 返回 operator 的相关信息(名称、类型、端点等等)。