服务部署

更新时间:2025-03-27 05:53:52
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

模型在线服务(EAS)支持将从开源社区下载的模型或您自己训练获得的模型部署为推理服务或AI-Web应用。针对不同方式获取的训练模型,EAS支持不同的部署方式。此外,EAS还提供了一系列针对特定场景的部署方式,您可以通过控制台快速将其部署为在线服务。您可以根据不同的使用场景,选择合适的部署方式。

使用建议

  • 对于新手,您可以优先选择控制台部署。控制台的场景化部署提供了简易部署方法。

  • 对于算法人员,您可以使用控制台的自定义部署或者通过本地客户端(EASCMD)进行部署。

  • 对于大规模统一调度运维,推荐使用SDK。

通过控制台部署

  1. 登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS

  2. 推理服务页签,单击部署服务。在部署服务页面,选择并单击相应的部署方式。

    部署方式

    描述

    部署方式

    描述

    自定义模型部署

    • 自定义部署:提供更灵活的部署方式。支持通过Processor或镜像的形式,将模型部署为在线服务或Web应用。具体的参数配置说明,请参见服务部署:控制台

    • JSON独立部署:根据输入的JSON文件内容来完成模型部署。具体的参数配置说明,请参见模型服务配置全参数说明

    场景化模型部署

    提供了多种针对特定场景的一键部署解决方案。

  3. 参数配置完成后,单击部署。等待一段时间,当服务状态变为运行中时,表明服务部署成功。

通过本地客户端(EASCMD)部署

通过客户端工具EASCMD,您可以在自己服务器上对模型服务进行管理,包括创建、查看、删除及更新服务。以Linux64版本为例,说明如何使用EASCMD客户端部署服务,具体操作步骤如下。

1. 下载并认证客户端

如果您使用的是DSW开发环境并使用官方镜像,则已预置EASCMD客户端(路径:/etc/dsw/eascmd64),否则请下载并认证客户端

2. JSON配置文件准备

初次使用,您可以通过控制台配置部署参数,在服务配置区域会显示对应的JSON配置文件。您可以在此基础上参见模型服务配置全参数说明补充一些界面不支持的配置项。

示例文件service.json内容如下。

{
    "cloud": {
        "computing": {
            "instances": [
                {
                    "type": "ecs.c7a.large"
                }
            ]
        }
    },
    "containers": [
        {
            "image": "****-registry.cn-beijing.cr.aliyuncs.com/***/***:latest",
            "port": 8000,
            "script": "python app.py"
        }
    ],
    "metadata": {
        "cpu": 2,
        "instance": 1,
        "memory": 4000,
        "name": "demo"
    }
}
说明

如果您使用的是DSW开发环境,需要上传JSON配置文件,请参见上传与下载数据文件

3. 部署服务

JSON文件所在目录,执行以下命令部署服务。以Linux系统为例。更多操作请参见命令使用说明

eascmdwin64 create <service.json>

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

系统返回如下类似结果。

[RequestId]: 1651567F-8F8D-4A2B-933D-F8D3E2DD****
+-------------------+----------------------------------------------------------------------------+
| Intranet Endpoint | http://166233998075****.cn-shanghai.pai-eas.aliyuncs.com/api/predict/test_eascmd |
|             Token | YjhjOWQ2ZjNkYzdiYjEzMDZjOGEyNGY5MDIxMzczZWUzNGEyMzhi****                   |
+-------------------+--------------------------------------------------------------------------+
[OK] Creating api gateway
[OK] Building image [registry-vpc.cn-shanghai.aliyuncs.com/eas/test_eascmd_cn-shanghai:v0.0.1-20221122114614]
[OK] Pushing image [registry-vpc.cn-shanghai.aliyuncs.com/eas/test_eascmd_cn-shanghai:v0.0.1-20221122114614]
[OK] Waiting [Total: 1, Pending: 1, Running: 0]
[OK] Waiting [Total: 1, Pending: 1, Running: 0]
[OK] Service is running

通过Python SDK部署

您还可以参考使用EAS Python SDK部署模型将训练获得的模型部署为EAS在线服务。

管理EAS模型在线服务

您可以在模型在线服务页面的推理服务页签,查看已部署的服务列表,并对目标服务进行停止、启动、删除等操作。(您也可以通过EASCMD方式管理模型服务,参见命令使用说明。)

警告

停止或删除模型服务,会导致依赖该服务的相关请求失败,请谨慎操作。

操作

说明

操作

说明

查看服务详情

单击目标服务名称,进入概览页面。您可以切换至不同的功能页签,以查看服务监控、日志、部署事件等信息。

查看容器日志

目前EAS在服务实例维度已经实现了容器日志的聚合和过滤,一旦服务实例运行失败,您可以通过查看容器日志来排查报错信息。具体操作步骤如下:

  1. 单击目标服务名称,进入概览页面。

  2. 服务实例区域,单击操作列下的容器列表

  3. 容器列表对话框中,单击操作列下的日志

更改服务部署资源

在服务详情页面,单击资源信息区域的更改配置

更新已有服务版本

在推理服务列表中,单击目标服务操作列下的更新,来更新服务版本。

警告

服务更新过程中将暂时中断运行,可能导致依赖此服务的请求失败,请务必谨慎操作。

服务更新完成后,单击当前版本,查看版本信息或切换服务版本。image

扩缩容

在推理服务列表中,单击目标服务操作列下的扩缩容,配置实例数,来提高或减少指定模型服务占用的资源。

弹性伸缩

根据业务需求,配置服务以自动调整EAS其占用的资源。具体操作,请参见方式一:通过控制台管理水平自动扩缩容功能

特殊部署场景与高级配置

  • 服务群组EAS为您提供了服务群组的功能,可以实现灰度发布多个子服务共同承接业务流量的场景。

  • 服务定时自动部署:如果您希望可以定时周期性自动部署服务,您可以结合DataWorks实现周期性自动部署服务。

  • 服务存储挂载EAS支持OSS、NAS、Git代码仓库等多种形式的存储挂载,您可以选择合适的方式进行存储挂载。

  • 模型服务预热:为了解决模型初次请求耗时较长的问题,EAS提供了模型预热功能,使模型服务在上线之前得到预热,从而实现模型服务上线后即可进入正常服务状态。

相关文档

  • 服务部署完成后,您可以通过多种方式调用该服务,详情请参见服务调用方式

  • 服务部署完成后,您可以在服务监控页面查看该服务的相关指标,来了解服务的调用和运行情况,详情请参见服务监控说明

  • 服务部署完成后,您可以通过自动压测工具,对部署的服务进行压测,从而了解EAS服务的使用性能。详情请参见服务自动压测

  • 使用Designer开发的模型部署到EAS请参见单模型部署在线服务

  • 本页导读 (1)
  • 使用建议
  • 通过控制台部署
  • 通过本地客户端(EASCMD)部署
  • 1. 下载并认证客户端
  • 2. JSON配置文件准备
  • 3. 部署服务
  • 通过Python SDK部署
  • 管理EAS模型在线服务
  • 特殊部署场景与高级配置
  • 相关文档