推理多部署能力,即一个推理服务中可以创建多个部署。支持该能力后,用户可以在一个推理服务中使用不同硬件规格的资源类型,从而更加灵活的应对业务需求;支持一个推理服务中同时使用到预付费和后付费能力,在保证业务稳定性的同时能够通过后付费弹性能力及时应对流量高峰。多个部署间用户可以通过多种分流策略来做流量分配,满足推理请求灵活分配的同时也能够实现服务的蓝绿发布、灰度升级能力。
登录机器学习平台,单击左侧导航栏中的【模型服务】-【在线服务】进入列表页面。
单击列表页面左上方的【+ 创建服务】进入创建页面。
在创建服务页面填写相关参数,具体参数如下:
参数名称 | 参数说明 |
---|---|
服务名称 |
|
服务描述 |
|
资源组 | - 新增限制同一服务需在同一资源组下,支持「预付费」、「按量后付费」等多种资源组类型。必填。 |
网络类型 | 支持「公共网关」和「专属私有网关」两种网络类型,默认为「公共网关」。
|
端口 |
|
服务创建完成后,即可跳转「服务详情」页面,在「服务详情」页面您可点击「新增部署」。具体参数说明如下:
参数名称 | 参数说明 |
---|---|
部署名称 | 填写部署的名称。 必填 。支持1~200位可见字符,且只包含大小写字母、中文、数字、中划线、下划线。部署名称可重复。 |
镜像 | 选择推理引擎的镜像。 必填 。您可以选择平台提供的「预置镜像」、或者您自己上传的「自定义镜像」,也可以选择输入「镜像 URL 」。 |
模型 |
|
所属队列 | 选择部署的队列,队列的可用区将影响子网的可用区选择。即确定选择的队列后,会根据当前选择队列的可用区过滤服务私有网络下相同可用区的子网。必填。 |
共享文件系统挂载 | 平台提供多种存储方案,并支持以共享文件系统的方式挂载到实例中。用户可以在尽量不修改代码的前提下,像操作本地文件一样地操作远端数据,并且在推理实例停止或者删除后远端数据也不会丢失。详细操作可参考:挂载共享文件系统 |
推理模式 | 支持「标准模式」和「多角色分离」两种,当需要使用 PD 分离或者 DiT 分离架构时可使用「多角色分离」模式。 |
计算规格 |
|
入口命令 | 推理镜像的启动命令。选填。 |
副本数 | 部署运行的副本数量。 必填 。副本数需要≥1。 |
滚动更新 | 支持配置滚动更新的策略,必填。最大不可用:滚动更新过程中不可用实例的数量占预期实例数的百分比。假设预期实例数为10,最大不可用为20%,则更新过程中可用的实例数最少有8个最大超量:滚动更新过程中超出预期的实例数量占预期实例数的百分比。假设预期实例数为10,最大超量为10%,则更新过程中实例数最多可达11个 |
环境变量 | 将被注入到容器实例中的环境变量。 选填 。环境变量key值仅支持大小写字母、数字、下划线,且不能以数字作为开头。可配置多个环境变量。 |
自动扩缩容 | 支持基于定时或指标的扩缩容策略,选填。详见下方「扩缩容」说明。配置自动扩缩容后,则默认关闭「实例数」的设定。自动扩缩容设定的实例数需要≥1。 |
存活检查/就绪检查/启动检查 | 存活检查:用于判断实例是否存活(running状态),如果存活探针探测到实例不健康,则会杀掉该实例并根据策略进行重启。就绪检查:用于判断实例是否启动完成(ready状态),可以接收请求。启动检查:用于判断应用是否已经启动,如果提供了启动探针,则禁用所有其他探针,直到它成功为止。如果启动探针失败,平台将杀掉实例并根据策略进行重启。配置检查的方式,包括:HTTP 请求检查:使用 HTTP 或 HTTPS 协议,向容器发送一个 HTTP Get 请求,通过检查响应确认容器状态。您需要进行如下检查配置:协议:HTTP 或 HTTPS。HTTP 请求头:HTTP 请求中自定义的请求头(HTTP Headers)。单击 添加 输入键值对的配置方式。路径:访问 HTTP Server 的路径。端口:容器暴露的访问端口号或端口名称。TCP 端口检查:向容器发送一个TCP Socket,Kubelet将尝试在指定端口上打开容器的 Socket。 如果可以建立连接,容器被认为是健康的,如果不能就认为是失败的。您需要进行如下检查配置:端口:容器暴露的访问端口号或端口名称。执行命令检查:在容器内执行指定的命令,通过检查命令执行的结果确认容器状态。 您需要进行如下检查配置:命令:检测容器健康情况的探测命令。配置检查的时间参数,包括:初始等待时间:指容器启动后,第一次执行探测时需要等待的时间,默认为1秒。超时时间:指发送检查请求后,等待响应的超时时间。超过此时间表示容器无响应,默认为1秒。检查间隔:相邻两次检查的时间间隔。默认为10秒。配置检查的结果阈值。包括:成功阈值:检查请求发送后,表示系统正常的响应次数,默认为1次。该项不可配置。失败阈值:检查请求发送后,表示系统异常的无响应次数,默认为3次。即如果容器对请求3次无响应,则认为容器状态异常。 |
优雅关闭时间 | 实例下线前等待一段时间来处理该实例已经接收的请求,以减少实例变更带来的请求报错,默认设置为30秒。选填。 |
子网 | 子网的可用区需要与部署所选队列的可用区保持一致,因此需要先选择部署使用的队列资源,才能过滤出相同可用区内可用的子网。必填。 |
安全组 | 请确保选择的「安全组」已放通需要配置的服务和部署的端口。必填。 |
端口 | 支持部署中新增自定义监听端口和调用端口,但请确保安全组规则已方通需要配置的端口。选填。监听端口限制范围:1-29999、32768-65535。调用端口限制范围:1-65535。API 网关端口用途:支持HTTP/1.1、HTTP2、GRPC、Metrics、Other。CLB端口用途:支持 HTTP、RPC、Metrics、Other。当端口用途为Metrics 时支持额外填写自定义指标的采集路径,平台会将该路径下的指标数据推送到用户指定的 VMP工作区(需要提前在【全局配置】模块中开启监控归档的功能)。端口限制:部署端口默认会继承在服务中配置的端口。并且包括服务中配置的端口,最多可添加5个端口,且端口及路径都不能冲突。API 网关仅支持创建一个 GRPC 用途端口,且路径必须为“/”。 |
优先级 | 与自定义任务的优先级配置一致,详见发起单机/分布式训练任务。 |
使用闲时资源 | 开启“使用闲时资源”的部署可以使用当前或其他队列(支持空闲资源出借)中的空闲资源。但开启后,部署中的实例随时可能会因为被抢占而停止并触发迁移操作。请谨慎选择。默认为关闭状态。 |
NUMA 亲和 | 部署新增支持 NUMA 亲和能力。即 CPU 和 GPU 调度时符合 NUMA 亲和策略。默认为关闭状态。开启后,当前部署下所有实例都将优先调度到满足 NUMA 亲和的节点,但最终调度结果还需以环境实际情况判断。建议仅针对访存密集型任务开启 NUMA亲和。计算密集型任务在开启 NUMA 亲和后会带来性能下降风险。当使用的GPU卡数/CPU核数超出机型规格一半以上的时候,即GPU/CPU本身跨NUMA 时,不存在 NUMA 亲和策略。 |
承接流量 | 当且仅当服务选择「CLB」,且「分流策略」配置为「按实例数自动分流」时,则出现「承接流量」选项。必填。开启「承接流量」,则当前部署在创建完成后将自动承接流量,若您不希望该部署承接服务负载均衡器的流量请求,则可以选择关闭「承接流量」。默认为开启状态。 |
推理多部署能力支持向前兼容,即现有已创建的推理服务在升级为多部署形态后,会默认变为一个推理服务,并且该推理服务下存在一个 Default 部署,其他配置皆相同。此时在当前服务下第一次执行新增部署或者更新、编辑 Default 部署都会触发 Default 部署重新部署。建议在执行操作前将 Default 部署的「滚动更新」策略中「最大不可用比例」设置 < 100%,即至少保留一个实例在可用状态以完成滚动更新,否则重新部署会影响服务的可用性。