通过控制台自定义部署

通过EAS控制台的自定义部署,可以快速全面了解EAS所提供的服务部署能力,适用于各类AI推理场景。

说明

场景化部署LLM、ComfyUI等常见应用提供了简化的配置流程,新手用户建议优化尝试。

部署操作

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

  2. 推理服务页签,单击部署服务。然后在自定义模型部署区域,单击自定义部署

  3. 根据下方参数说明完成配置后,单击部署

  4. 服务状态变为运行中即表示部署成功,可进行服务调用

说明

具体操作示例可参见模型在线服务 EAS 快速入门

参数说明

基本信息

所属群组 : 用于流量统一管理,支持灰度发布、异构资源或异步推理等。详情参见灰度发布

环境信息

支持两种部署方式:镜像部署(推荐)和processor部署,详见部署原理

  • 镜像部署:通过镜像、代码及模型挂载的方式快速进行AI推理服务的部署。

  • processor部署:通过模型和Processor(包含在线预测逻辑的程序包)进行推理服务的部署。详见Processor部署

说明

对于AIGC、视频处理等长耗时推理场景,建议开启异步服务,实现异步调用。详情请参见部署异步推理服务

镜像部署(推荐)

支持异步服务和开启Web应用。若镜像中包含WebUI,开启Web应用后,平台将自动开启Web服务器,可直接访问前端页面。

参数

描述

镜像配置

支持以下几种配置方式:

  • 官方镜像:阿里云PAI产品提供的标准化镜像,覆盖主流框架和场景。

  • 自定义镜像:选择已创建的自定义镜像。创建方法参见自定义镜像

  • 镜像地址:输入完整镜像地址,例如registry.cn-shanghai.aliyuncs.com/xxx/image:tag。可使用PAI官方公开镜像地址或自定义镜像地址。详情请参见自定义镜像

    重要

    选择的镜像地址和部署的服务需要在同一个地域。

    如果使用私有仓库中的镜像,需单击输入账号密码,填写镜像仓库用户名镜像仓库密码

直接挂载

支持通过OSS、NAS等方式挂载模型与代码文件。配置方法参见服务存储挂载

数据集

使用数据集可以进行版本管理,详见创建及管理数据集

运行命令

设置镜像启动命令,例如:python /run.py

同时需指定端口号,即镜像启动后监听的本地HTTP端口。

重要

EAS引擎监听固定的80809090端口,因此需要避免使用这两个端口。

更多配置(环境变量 | 健康检查 | 启用GRPC | 三方库配置)

参数

描述

环境变量

配置变量名和变量值:

  • 变量名:镜像执行时的环境变量名称。

  • 变量值:镜像执行时的环境变量取值。

健康检查

打开健康检查开关,为服务配置健康检查功能。更多关于该功能的详细介绍及配置方法,请参见健康检查

启用GRPC

表示是否开启服务网关的GRPC连接,取值如下:

  • false:默认值,表示网关不开启GRPC链接,默认支持HTTP请求。

  • true:表示网关开启GRPC连接。

三方库配置

支持以下两种方式配置第三方库。

  • 三方库列表:直接在下方文本框中输入三方库。

  • requirements.txt文件路径:将第三方库写入requirements.txt文件中,在下方文本框中指定该requirements.txt文件的路径。

processor部署

部署方式选择processor部署时,参数配置如下表所示:

参数

描述

模型配置

您可以通过以下任何一种方式配置模型文件:

  • 对象存储(OSS):选择模型文件所在的OSS路径。

  • 公网下载地址:输入可以公开访问的URL地址。

  • PAI模型:根据模型名称和模型版本选择已注册的模型。关于如何查看已注册的模型,详情请参见注册及管理模型

Processor种类

支持所有的预置官方Processor和自定义Processor,关于预置官方Processor的更多信息,详情请参见预置Processor

  • Processor种类选择EasyVision(CPU)EasyVision(GPU)EasyTransfer(CPU)EasyTransfer(GPU)EasyNLPEasyCV时,支持配置模型类别(每个Processor种类对应的模型类别不同,请根据业务使用场景选择)。

  • Processor种类选择自定义processor时,支持配置以下参数:

    • Processor语言:支持选择cppjavapython

    • Processor:您可以通过对象存储(OSS)公网下载地址两种方式配置。

    • Processor主文件:配置自定义Processor包的主文件。

更多配置(直接挂载|数据集|环境变量 | 健康检查|启用GRPC)

参数

描述

直接挂载

支持通过多种方式配置模型文件和代码文件,参见服务存储挂载

数据集

使用数据集可以进行版本管理,详见创建及管理数据集

环境变量

配置变量名和变量值:

  • 变量名:镜像执行时的环境变量名称。

  • 变量值:镜像执行时的环境变量取值。

健康检查

打开健康检查开关,为服务配置健康检查功能。更多关于该功能的详细介绍及配置方法,请参见健康检查

启用GRPC

表示是否开启服务网关的GRPC连接,取值如下:

  • false:默认值,表示网关不开启GRPC链接,默认支持HTTP请求。

  • true:表示网关开启GRPC连接。

资源信息

资源信息区域配置以下参数。

参数

描述

资源类型

支持选择公共资源EAS资源组、资源配额。

说明

建议测试场景下使用公共资源。

GPU共享

资源类型选择EAS资源组或灵骏资源配额时,支持打开GPU共享功能。详见GPU共享

实例数

建议配置多个服务实例,以避免单点部署带来的风险。

资源类型选择 EAS资源组时,您需要为每个服务实例配置GPUCPU内存(GB)参数。

部署资源

如果您领取了免费资源包,支持在华北2(北京)、华东2(上海)、华东1(杭州)、华南1(深圳)、西南1(成都)、华南2(河源)地域,使用试用活动页签的免费机型,详情请参见免费试用领取、使用和释放

资源类型选择公共资源时:

  • 如果竞价开关可开启,说明资源规格支持竞价使用。

  • 支持同时配置常规型资源或竞价型资源,并按照配置规格的先后顺序作为优先级排序来拉起资源。如果您设置竞价型资源,需要为该机器资源设置出价上限,以便自动竞价抢占资源。

更多配置(弹性资源池 |配置系统盘 | 分布式推理 | 滚动更新 | 共享内存 | 高优资源重调度 | GPU驱动)

参数

描述

弹性资源池

资源类型选择EAS资源组时,支持配置该参数。

您可以打开开启弹性资源池开关并参考部署资源进行公共资源配置,为部署在专属资源组中的服务开启弹性资源池能力。

弹性资源池配置完成后,当服务扩容时遇到机器资源不足时,新扩出来的实例会自动启动在已配置的按量付费的公共资源上,并以按量计费的方式来进行计费;在缩容时会优先缩减公共资源组中的服务实例。更多详细内容,请参见弹性资源池

配置系统盘

资源类型选择公共资源或者选择EAS资源组且配置弹性资源池时,支持配置该参数。

EAS服务配置额外系统盘,单位为GB,取值范围为0~2000 GB。EAS免费赠送30 GB系统盘,如果此处配置20 GB,则实际可用的存储空间为:免费的30 GB+购买的20 GB=50 GB

额外购买的系统盘按容量和使用时长计费,计费详情请参见模型在线服务(EAS)计费说明

分布式推理

每个实例都在多台机器上进行部署,从而解决超大参数量模型无法部署在单台机器上的问题。详情见多机分布式推理

滚动更新

  • 超过期望的实例数:更新时最多可额外创建的实例数,支持正整数或百分比。值越大,更新越快。

  • 最大不可用实例数:更新过程中允许的最大不可用实例数,用于释放资源,防止因资源不足导致更新过程被阻碍。

默认值等详见滚动更新

说明

如果空闲资源充足,可以将该参数配置为0。该参数配置过大可能会影响服务稳定性。因为在服务更新瞬间,可用实例个数会减少,则单实例承载的流量会变大。您需要权衡服务稳定性和资源情况来配置该参数。

共享内存

配置实例的共享内存,直接对内存进行读写操作,无需数据的复制或传输。单位为GB。

高优资源重调度

开启高优资源重调度后,EAS会在服务运行的过程中周期性地在高优先级资源上创建探针实例。如果探针实例调度成功,则会以指数增长方式创建更多探针实例,直至调度失败。同时,成功调度的探针实例完成初始化并且进入就绪状态后,会替换低优先级资源上的实例。该功能可以解决以下问题:

  • 在服务滚动更新过程中,正在终止的实例仍会占用资源,导致新创建实例启动在公共资源组上,由于公共资源限制,后续新实例会重新调度回专属资源组上。

  • 当同时使用竞价实例和常规实例时,系统会定期检查竞价实例是否可用,如果可用,则会将常规实例迁移至竞价实例上。

GPU驱动

可输入指定GPUDriver Version,例如:550.127.08。

服务接入

EAS提供了多种服务接入方式。

参数

描述

网关选择

  • 共享网关免费提供。

  • 专属网关付费开通,提供访问控制、自定义域名等更多功能,详情请参见通过专属网关调用

专有网络 (VPC)

配置专有网络(VPC交换机安全组名称参数,可以为EAS服务开通VPC高速直连、访问公网等。详情请参见EAS网络配置

关联负载均衡NLB

您可将当前的EAS服务关联到什么是网络型负载均衡NLB实例上,从而实现负载均衡的自主可用。详情请参见通过关联负载均衡NLB调用

关联服务发现Nacos

您可将当前的EAS服务关联到微服务注册配置中心上,通过Nacos等引擎实现对EAS服务多实例的发现与同步,详情请参见通过关联服务发现Nacos调用

自定义鉴权

鉴权token默认后台自动生成,如果您需要自定义服务访问的鉴权token可进行配置。

服务功能

服务功能区域,支持配置以下参数:

参数

描述

内存缓存加速

EAS通过将模型文件缓存到本地目录中,来提高读取数据的速度,减少延时。更多关于该功能的详细介绍及配置方法,请参见内存缓存本地目录

LLM智能路由

打开开关,并选择LLM智能路由。如果没有可选的LLM智能路由,您可以单击新建LLM智能路由进行创建,详情请参见LLM智能路由

LLM智能路由是一种特殊的EAS服务,可以与LLM推理服务绑定。当LLM推理服务有多个后端实例时,LLM智能路由能够根据后端负载进行动态分发,保证后端实例处理的算力和显存尽可能均匀,提升集群资源使用水位。

更多配置(服务响应超时时长 | 优雅退出 | 保存调用记录 | 任务模式 | 配置安全加密环境| 链路追踪|模型权重服务)

参数

描述

服务响应超时时长

服务端为每个请求配置的超时时间,默认为5秒。

优雅退出

  • 优雅退出时间:表示实例的优雅退出时间,单位为秒,默认为30秒。EAS服务采用滚动更新的策略,实例会先进入Terminating状态,服务会先将流量从要退出的实例上切走,实例等待30秒后将已收到的请求处理完成后退出。如果请求处理时间很长,为保证服务更新时,状态为in progress的请求都能被处理完,您可以将该参数值适当调大。

    重要

    如果将该参数值调小则会影响服务稳定性,将该参数配置过大则会导致服务更新速度过慢,如果无特别需求请不要配置该参数。

  • 是否发送SIGTERM:取值如下:

    • false(默认值):实例进入退出状态时不会发送SIGTERM信号。

    • true:在服务实例进入退出状态时,系统会立即向主进程发送SIGTERM信号,服务内进程收到该信号后需要在信号处理函数中进行自定义的优雅退出操作,若不处理该信号可能导致主进程收到信号后直接退出,从而使优雅退出失败。

保存调用记录

支持将服务所有的请求和响应记录持久化保存到MaxCompute数据表或日志服务SLS中。打开开关,并选择保存记录方式

  • 大数据MaxCompute

    • MaxCompute项目:在下拉列表中选择已创建的项目。如果没有可选的项目,您也可以单击新建MaxCompute项目进行创建,详情请参见通过MaxCompute控制台创建项目

    • MaxCompute数据表:配置数据表名称,部署服务时,系统会自动在MaxCompute项目中创建数据表。

  • 日志服务SLS

    • SLS项目:日志服务中的资源管理单元,用于资源隔离和控制。选择已创建的项目,如果没有可选的项目,您可以单击前往创建SLS Project进行创建,详情请参见管理Project

    • logstore:日志库(Logstore)是日志服务中日志数据的采集、存储和查询单元。配置logstore,部署服务时,系统会自动在SLS Project项目中创建logstore。

任务模式

打开开关,您可以将推理服务部署成弹性Job服务。更多关于弹性Job服务的内容介绍,请参见弹性Job服务

配置安全加密环境

通过配置系统信任管理服务,保证服务部署和调用的过程中数据、模型和代码等信息可以安全加密,实现安全可验证的推理服务。

安全加密环境主要针对您挂载的存储文件,请先完成存储文件的挂载再打开该功能。详情请参见安全加密推理服务

链路追踪

已内置链路追踪采集组件的官方镜像,可一键开启链路追踪的功能;未内置组件的镜像需进行如下配置:

  • 服务部署的运行命令增加aliyun-bootstrap -a install && aliyun-instrument python app.py。该命令用于安装探针和使用ARMS Python探针启动应用,其中app.py是镜像里配置的用于提供预测服务的主文件。

  • 服务部署的三方库配置需增加aliyun-bootstrap,用于从PyPI仓库下载探针安装器。

模型权重服务

支持模型权重的本地缓存和跨实例共享。在处理大规模参数模型以及在大规模实例部署的场景中,能够显著提升服务的扩缩容效率和启动速度。详情请参见模型权重服务

服务配置

服务的全部配置会以JSON形式显示在服务配置区域。

  • 可根据需要补充不支持通过界面配置的配置项,详情请参见JSON部署

  • 基于JSON配置文件,您可以通过EASCMD客户端部署模型,详情请参见创建服务

附录:部署原理

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

镜像部署(推荐)

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

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

image

此方式的部署要点如下。

  • 如果您使用的镜像中集成了WebUI应用的部分,支持开启Web应用。平台会自动开启Web服务器,从而帮助您直接访问前端WebUI页面。

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

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

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

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

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

Processor部署

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

EAS Processor部署流程如下。

image

此方式的部署要点如下。

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

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

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

说明

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