部署上线模型的第一个版本¶
模型版本上架完成后,可将模型版本部署到对应的容器中运行。
创建部署实例¶
登录至 EnOS 管理控制台并在左侧导航栏中选择 智能工作室 > 智能集市。
在模型列表中,选择模型名称,打开 版本管理 页面。
在 云端部署 标签下,选择 新建部署实例。
输入以下信息:
实例名称:输入部署实例名称
资源池:选择已创建的资源池
标签:输入部署实例标签
描述:输入对部署实例的描述信息
选择 确认,完成部署实例创建。新创建的部署实例将显示在 部署实例 列表中。
配置部署实例¶
部署模型版本¶
在左侧导航栏中选择 智能工作室 > 智能集市。
选择部署实例名称,进入模型部署页面。模型部署页面主要由编辑画布、部署配置栏和部署日志栏组成。编辑画布中的卡片可代表模型、模型版本、流量路由器等。选择选中卡片后,部署配置栏中显示对应的配置项。选择选中模型版本卡片后,部署日志栏中显示模型版本的部署日志。
在编辑画布中,选择 进入配置,在画布中选择 请添加部署版本,
在弹窗中选择需要部署的模型版本并选择 确定。
添加的模型版本将显示为编辑画布中的 Version 卡片。选中 Version 卡片,然后在右侧的 部署配置 窗口中,配置运行模型版本的资源:
在 请求资源 一栏中,输入运行模型版本需要的 CPU 和内存
在 资源限制 一栏中,输入运行模型版本的 CPU 和内存上限
如果底层资源支持 GPU,可选择开启 GPU
如需根据模型服务的繁忙率指标,自动对运行模型服务所需资源进行扩容或缩容,可开启 是否开启自动扩容,并完成以下配置:
在 Pod 设置 一栏中,输入 Pod 副本的最小值和最大值
在 扩容度量 一栏中,选择启动弹性扩缩容的触发指标(CPU 或内存)以及目标平均利用率
选择页面右上角的 部署 按钮,系统将按设置的资源配置部署模型版本。展开部署日志,可查看模型版本的部署进度。
测试部署版本¶
模型版本部署成功后,可通过以下步骤测试当前版本:
在左侧导航栏中选择 智能工作室 > 智能集市。
选择部署实例名称,进入模型部署页面。
在模型部署页面左侧的编辑画布栏中,选中 Predictor 卡片,即可在右侧的 调用服务 窗口中查看模型服务的调用方式和调用地址。
在 在线测试 部分中,选择 调用服务测试 类型,并在 输入参数 输入框中输入测试参数,然后选择 发起测试,即可测试验证模型服务。
在 在线测试 部分中,选择 Feedback测试 类型,并在 输入参数 输入框中输入测试参数,然后选择 发起测试,即可测试验证模型 Feedback。
选择 进入配置 并在画布选中 Predictor 卡片,可在 请求超时 输入框中,对访问模型服务 API 设置
timeout
时限,最小可设置 1000ms 的时长,最大可设置 600000ms 的时长。返回 模型版本管理 页面,可在 版本管理 标签下查看模型版本的状态已变更为
生产中
。
(可选)调整模型输入格式¶
若模型版本的输入格式与智能工作室支持的输入格式不兼容,通过以下步骤对当前模型版本的输入格式进行调整:
在左侧导航栏中选择 智能工作室 > 智能集市。
在部署实力列表中选择部署实例名称打开模型部署页面。
在编辑画布中开启 前处理 开关,将 Pre-Processor 卡片添加到画布中。
选择 Pre-Processor 卡片并在右侧面板的前处理脚本框中输入如下所示的处理脚本:
import json import logging import numpy as np # you may use numpy if necessary def transform_input(user_input: dict) -> dict: log=logging.getLogger() log.info("this is a sample log in code") user_input["data"]["ndarray"][0][0] = 2 user_input["data"]["names"][0] = "input_2" return user_input
选择 部署。
(可选)记录 API 调用日志¶
通过以下步骤记录 API 调用日志:
在左侧导航栏中选择 智能工作室 > 智能集市。
在部署实力列表中选择部署实例名称打开模型部署页面。
在编辑画布中开启 API 调用记录 开关,将 API Call Recorder 卡片添加到画布中。
选择 API Call Recorder 卡片并在右侧面板中输入以下信息:
目标数据源:指定用于保存 API 调用记录的 MySQL 或 Hive 数据源。
目标表名:指定用于保存 API 调用记录的数据表。
选择 部署。
如需将测试数据写入目标数据源,则在 Predictor 卡片测试之前启用 API 调用记录,否则禁用 API 调用记录功能后再进行测试。