高级配置:多规格实例选择

更新时间: 2023-08-21 22:19:07

在部署服务时,只指定单一规格的计算资源,会出现由于该规格库存不足导致服务长时间无法拉起的情况。针对该问题,PAI-EAS部署环节支持多规格实例选择,通过遍历配置文件中提供的规格列表来拉起资源,从而极大降低单一规格库存不足带来的部署风险。本文为您介绍多规格实例配置方法。

前提条件

如果您使用本地客户端方式配置多规格实例,则需要完成以下操作:

已下载EASCMD客户端并认证成功,具体操作,请参见下载并认证客户端

使用限制

仅支持部署在公共资源组上的EAS服务配置多规格实例。

部署服务时使用多规格实例

通过控制台配置多规格实例

  1. 进入部署服务页面,详情请参见服务部署:控制台

  2. 部署服务页面,配置以下关键参数,其他参数配置详情,请参见服务部署:控制台image..png

    参数

    描述

    资源组种类

    选择公共资源组

    资源配置方法

    选择性价比资源配置

    抢占型保留时长

    资源类型选择抢占型时,该配置生效。支持以下两种配置方式:

    • 设置1小时保护期:您可以为抢占型实例设置1小时保护期,即实例抢占成功后,默认至少可以使用1小时。

    • 无确定保护期:表示禁用保护期。不保证有固定时长的保护期来保障资源的使用。

    关于抢占型实例的详细介绍,请参见高级配置:抢占型实例选择

    部署资源

    • 资源类型:支持抢占型常规型

    • 机器型号:选择合适的机器型号。

    • 出价:仅抢占型资源需要设置出价,系统根据出价来自动竞价抢占资源。

      如果抢占式资源实例库存充足,且出价不低于当前抢占式实例市场价,可以使用抢占式实例。

    • 配置多规格实例

      您可以单击image..png来配置多规格实例,最多支持添加5个资源类型。系统会按照配置规格的先后顺序做为优先级排序来拉起资源。

  3. 单击部署。待服务状态变为运行中时,表明服务部署成功。

通过本地客户端配置多规格实例

以Windows 64版本为例:

  1. 在客户端文件所在目录新建JSON格式的文件,命名为service.json,文件内容示例如下。

    {
      "name": "service_example",
      "model_path": "http://examplebucket.aliyuncs.com/models%2Fmnist_saved_model.tar.gz",
      "processor": "tensorflow_cpu_1.12",
      "metadata": {
        "instance": 1,
      }
      "cloud": {
        "computing": {
          "instances": [
            {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00},
            {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00},
            {"type": "ecs.g7.2xlarge"},
            {"type": "ecs.g7.4xlarge"}
          ],
          "disable_spot_protection_period": true
        }
      }
    }

    其中关键参数说明如下,其他参数说明,详情请参见命令使用说明

    参数

    描述

    instance

    服务启动的实例数量。上述JSON文件中表示启动1个实例。

    instances

    表示允许的实例规格,支持配置多个。当实例规格竞价失败或库存不足时,按照配置顺序依次尝试使用下一个实例规格创建服务。

    • type:表示配置的实例规格。

    • spot_price_limit为可选参数:

      • 当配置该参数时:表示对应实例规格使用抢占式资源实例,并指明价格上限。单位为CNY,支持按量付费。

      • 当不配置该参数时:表示对应实例规格为普通的按量付费实例。

    disable_spot_protection_period

    支持以下取值:

    • false(默认值):表示在抢占式资源实例创建成功后,默认有1小时保护期。在保护期内即使市场价格超过了出价,实例也不会被释放。

    • true:表示禁用保护期,无保护期实例会始终比有保护期实例优惠10%左右。

  2. 打开终端工具,在JSON文件所在目录,使用以下命令创建服务。

    eascmdwin64.exe create <service.json>

    其中:<service.json>需要替换为您创建的JSON文件名称。

部署服务后修改服务使用多规格实例

通过控制台修改服务使用多规格实例

  1. 进入PAI-EAS 模型在线服务页面。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。

    3. 在工作空间页面的左侧导航栏选择模型部署 > 模型在线服务(EAS),进入PAI-EAS 模型在线服务页面。

  2. 选择部署在公共资源组的服务,单击服务名称,进入服务详情页面。

  3. 服务详情页面,单击资源信息区域的资源配置image..png

  4. 资源配置对话框性价比资源配置页签,配置部署资源为多个资源类型,更多参数配置详情,请参见通过控制台配置多规格实例image..png

  5. 单击确定

通过本地客户端修改服务使用多规格实例

以Windows 64版本为例:

  1. 在客户端文件所在目录新建JSON格式的文件,命名为instances.json,文件内容示例如下。

    {
      "cloud": {
        "computing": {
          "instances": [
            {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00},
            {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00},
            {"type": "ecs.g7.2xlarge"},
            {"type": "ecs.g7.4xlarge"}
          ],
          "disable_spot_protection_period": true
        }
      }
    }

    其中关键参数说明,详情请参见部署服务时使用抢占式实例

  2. 使用以下命令修改服务使用多规格实例。

    eascmd modify <service_name> -s instances.json

    其中:<service_name>需要替换为EAS服务名称。

阿里云首页 机器学习平台 PAI 相关技术圈