文档

服务部署概述

更新时间:

模型在线服务(EAS)支持多种部署方式,您可以根据不同的使用场景,选择合适的部署方式。

部署原理

使用EAS进行模型部署时,支持镜像部署Processor部署两类部署方式,对比介绍如下。

镜像部署(推荐)

使用镜像方式部署时,EAS通过拉取容器镜像服务ACR中的环境镜像、挂载存储云产品(OSS对象存储OSS文件存储NAS),来获取部署前所需的准备内容,包括运行环境、模型以及其他相关文件(如模型前后处理代码等)。

EAS镜像部署的流程图如下。

image.png

此方式的部署要点如下。

  • 镜像部署可以进一步细分为镜像部署服务镜像部署AI-Web应用两种部署方式。

    • 镜像部署服务:适用于通过镜像快速部署服务的场景,部署后可通过API调用服务。

    • 镜像部署AI-Web应用:更适用于通过镜像快速部署Web应用的场景,部署后可通过Web应用链接直接打开应用页面进行访问试用。

      两种部署方式的对比介绍可参见下文步骤2:部署服务中的对比介绍。

  • PAI为您提供了多个典型场景的官方镜像便于您高效一键部署,您也可以结合业务需求自行开发模型并制作镜像,制作完成的镜像需上传至阿里云镜像服务ACR中,便于部署时选择使用。

  • 建议您将模型和模型的前后处理代码文件上传至存储云产品,后续通过挂载方式来获取对应内容,而非直接打包至自定义镜像中,在后续模型需频繁迭代更新时,可方便地替换模型。

  • 使用镜像部署时,建议您自行构建一个HTTP Server,后续使用EAS部署好服务后,EAS会将调用服务的请求转发至您自行开发的HTTP Server中,自建的HTTP Server需避开EAS系统监听端口8080和9090。

说明
  • 使用自定义镜像进行部署时,请务必将您的镜像上传至ACR中再进行使用,否则可能导致在部署时镜像拉取失败。如果您使用DSW进行模型开发训练,也需将镜像上传至ACR中才可在EAS中使用。

  • 如果您的自定义的镜像、预热数据等内容可在其他多种场景下应用,您也使用PAI AI资产的镜像和数据集功能,将其沉淀为对应的AI资产进行统一管理。当前EAS不支持使用NAS-CPFS类型的数据集。

Processor部署

准备好模型和Processor文件等服务部署前的准备内容后,分别上传至存储云产品(OSS、NAS),EAS通过挂载存储云产品来获取部署前所需的准备内容进行服务部署。

EAS Processor部署流程如下。cfbf554fe0c3e61f332682d9ef1e603e.png

此方式的部署要点如下。

  • PAI为您提供了多个典型场景的官方Processor供您使用,您也可以结合业务需求自行开发模型并开发自定义Processor文件,完成后分别上传至阿里云存储产品OSS或NAS。

  • 建议您将模型和Processor文件独立开发分别存储,后续可在部署时配置模型挂载路径,Processor文件中可使用get_model_path参数来获取配置的模型路径,便于后续模型需频繁迭代更新时,可方便地替换模型。

  • 使用Processor部署时,EAS会根据您选用的推理框架自动拉取官方环境镜像来部署服务,并基于Processor文件自动为您部署一个HTTP Server用于接收后续调用服务的请求。

说明

使用Processor方式部署时,您需要保障模型的推理框架和Processor文件的开发符合开发环境要求,不如镜像部署方式灵活高效,因此更建议您使用镜像方式进行模型部署。

支持的部署工具与部署方式

  • 在部署工具维度上:EAS支持通过界面化或命令行方式部署服务和管理服务,不同工具的部署流程和操作要点存在差异。

    操作类型

    界面化方式

    命令行方式

    部署服务

    通过控制台部署(服务部署:控制台)或Designer一键部署(服务部署:Designer)。

    通过DSW部署或本地客户端(EASCMD)部署,详情请参见服务部署:EASCMD&DSW

    管理服务

    您可以在EAS模型在线服务页面管理模型服务,详情请参见服务部署:控制台

    包括:

    • 查看模型调用信息。

    • 查看日志、监控及服务部署相关信息。

    • 扩容、缩容、启动、停止及删除模型服务。

    通过EASCMD方式管理模型服务,详情请参见命令使用说明

    您在使用专属资源组部署服务时,也可以配置存储挂载,用来存储服务部署过程依赖的数据,详情请参见高级配置:服务存储挂载

  • 在部署方式上:EAS支持镜像方式部署(推荐,包含镜像部署、镜像AI-Web部署两个细分部署场景)和Processor方式部署。

    部署类型

    对比介绍

    参考文档

    镜像部署服务(推荐)

    • 适用场景:使用镜像快速部署模型服务。

    • 优势:

      • 可通过镜像保障模型开发训练环境与部署运行环境的一致性。

      • 典型场景已为您预置了很多官方镜像,您可使用官方预置镜像一键部署。

      • 也支持自定义镜像部署,无需进行部署的工程化改造,部署便捷。

    镜像部署AI-Web应用(推荐)

    • 适用场景:使用镜像快速部署模型服务,更适用于将模型部署为Web应用的场景。

    • 优势:

      • 典型场景已为您预置了很多官方镜像,如Stable-Diffusion-Webui、Chat-LLM-Webui等,支持基于Gradio、Flask、FastAPI等框架实现HTTP Server,您可使用官方预置镜像一键部署。

      • 也支持自定义镜像部署,无需进行部署的工程化改造,部署便捷。

    模型+processor部署服务

    • EAS为您提供了常见模型框架的预置Processor,例如PMML、XGBOOST等,通过EAS预置的Processor可以快速启动服务,但可能无法满足特定的业务需求。

    • 您还可以构建自定义Processor,以实现更为灵活的业务逻辑处理。

特殊部署场景与高级配置

  • 服务分组

    EAS为您提供了服务分组的功能,可以实现灰度发布、蓝绿发布等多个子服务共同承接业务流量的场景。详情请参见服务分组

  • 定时自动部署

    如果您希望可以定时周期性自动部署服务,您可以结合DataWorks实现周期性自动部署服务,详情请参见服务定时自动部署

  • 资源实例应用

    EAS为您提供了更为经济的抢占型实例,并支持您在部署时选择多种规则的实例资源进行部署,便于您更加经济高效的部署服务,详情请参见高级配置:抢占型实例选择高级配置:多规格实例选择

  • 挂载存储

    EAS支持OSS、NAS、Git代码仓库等多种形式的存储挂载,您可以选择合适的方式进行存储挂载,操作详情请参见高级配置:服务存储挂载

  • 模型预热

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

相关文档

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

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