全部产品
Search
文档中心

人工智能平台 PAI:服务部署:控制台

更新时间:Dec 04, 2024

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

背景信息

您可以通过控制台部署及管理EAS

  • 控制台部署支持自定义模型部署场景化模型部署两种方式:

    • 自定义模型部署:自定义模型部署提供更灵活的部署方式,您可以通过镜像、processor等方式快速进行AI-Web应用或推理服务的部署。

    • 场景化模型部署:EAS提供了多种针对特定场景的部署解决方案,包括AI绘画-SDWebUI部署、LLM大语言模型、大模型RAG对话系统、AI视频生成-ComfyUI部署、ModelScope模型部署、HuggingFace模型部署、Triton部署和TFServing部署。对于这些不同的部署场景,均提供了简易的部署方法。

  • 管理EAS

    EAS支持通过控制台方式管理已部署的模型服务,包括:查看服务详情、更新服务资源配置、更新服务版本、扩缩容等操作。

使用步骤

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

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

    部署方式

    描述

    自定义模型部署

    自定义部署

    提供更灵活的部署方式。支持通过Processor的形式,或镜像、模型、代码、运行命令和三方库的方式,将您自己的模型部署为在线服务或AI-Web应用。具体的参数配置说明,请参见自定义部署参数说明

    JSON独立部署

    根据输入的JSON文件内容来完成模型部署。具体的参数配置说明,请参见服务模型所有相关参数说明

    场景化模型部署

    AI绘画-SDWebUI部署

    一键部署基于开源SDWebUI绘画的AIGC服务,提供Web应用和API调用两种部署方式,通过用户与计算资源分离实现企业级应用。

    LLM大语言模型部署

    一键部署支持WebUI和API调用的LLM应用,您可以利用LangChain框架集成企业知识库,以实现智能问答和自动化功能。通过Blade内置推理加速,实现简单的部署方式及较高性价比的推理方案。

    大模型RAG对话系统

    一键部署集成了大语言模型(LLM)和检索增强生成(RAG)技术的对话系统服务。适用于问答、摘要生成和依赖外部知识的自然语言处理任务。

    AI视频生成-ComfyUI部署

    一键部署基于ComfyUI和Stable Video Diffusion模型的AI视频生成服务,帮助您完成社交平台短视频内容生成、动画制作等任务。

    Modelscope模型部署

    一键部署ModelScope开源模型,快速启动模型服务。

    Triton Inference Server镜像部署

    利用基于Trition Server的推理服务引擎,将TensorRT、TensorFlow、PyTorch或ONNX等多种AI框架的模型一键部署为在线推理服务。

    TensorFlow Serving镜像部署

    利用基于TensorFlow Serving的推理服务引擎,将Tensorflow标准的SavedModel格式的模型一键部署为在线推理服务。

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

自定义部署参数说明

基本信息

参数

描述

服务名称

根据界面提示,自定义服务名称。

所属群组

服务分组拥有统一的流量入口,适用于灰度发布、蓝绿部署、异构资源、异步推理等场景。详情请参见服务群组

环境信息

部署方式支持镜像部署和processor部署。

  • 镜像部署:如果您想通过镜像、代码及模型挂载的方式快速进行AI推理服务的部署,则选择该部署方式。

  • processor部署:如果您想通过模型和Processor(包括预置Processor自定义Processor)进行推理服务的部署,则选择该部署方式。

说明

在复杂的模型推理场景中,例如AIGC、视频处理等场景,推理耗时比较长,需要打开异步服务开关,实现异步推理服务,详情请参见部署异步推理服务

镜像部署

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

参数

描述

镜像配置

支持以下几种配置方式:

  • 官方镜像:由阿里云PAI产品提供的多种官方镜像。

  • 自定义镜像:选择已创建的自定义镜像。关于如何创建自定义镜像,详情请参见自定义镜像

  • 镜像地址:支持输入用于部署模型服务的镜像地址,例如registry.cn-shanghai.aliyuncs.com/xxx/image:tag。您可以使用PAI官方公开镜像地址,也可以使用自定义镜像地址。镜像地址的获取方式,详情请参见自定义镜像

    重要

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

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

模型配置

支持通过以下方式配置模型文件。

  • OSS

    • 配置OSS源地址路径,即选择OSS Bucket路径。

    • 配置挂载路径,即配置挂载服务实例中的目标路径,用来读取OSS路径中的文件。

  • 通用型NAS

    • 选择文件系统:配置为已创建的NAS文件系统的ID。您可以登录NAS控制台,在对应的地域,查看NAS文件系统ID。也可从下拉列表中查看拥有的NAS文件系统ID。

    • 文件系统挂载点:选择NAS文件系统和挂载点,EAS服务通过挂载点来访问NAS文件系统。如何创建通用型NAS文件系统,详情请参见创建文件系统

    • 文件系统路径:需要挂载的NAS中的源路径,即NAS实例内部的文件系统路径。

    • 挂载路径:挂载到服务实例中的目标路径,用来读取NAS路径中的文件。

  • 智算CPFS:如果使用的是灵骏相关的计算资源配额部署服务,则支持挂载灵骏CPFS的存储资源。

    • 文件系统:选择该账号下的智算CPFS文件系统。如何创建智算CPFS文件系统,详情请参见创建文件系统

    • 源路径:需要挂载的智算CPFS的源路径。

    • 挂载路径:挂载到服务实例中的目标路径,用来读取CPFS路径中的文件。

  • PAI模型

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

    • 配置挂载路径:挂载服务实例中的目标路径,用来读取模型文件。

运行命令

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

同时您需要输入端口号,即镜像启动后监听的本地HTTP端口。

重要

由于EAS引擎监听固定的8080和9090端口,因此端口需要避开8080和9090端口。

代码配置

支持使用以下几种进行代码配置。

  • OSS

    • 配置OSS源地址路径,即选择OSS Bucket路径。

    • 配置挂载路径,即配置挂载服务实例中的目标路径,用来读取OSS路径中的文件。

  • 通用型NAS

    • 选择文件系统:配置为已创建的NAS文件系统的ID。您可以登录NAS控制台,在对应的地域,查看NAS文件系统ID。也可从下拉列表中查看拥有的NAS文件系统ID。

    • 文件系统挂载点:选择NAS文件系统和挂载点,EAS服务通过挂载点来访问NAS文件系统。如何创建通用型NAS文件系统,详情请参见创建文件系统

    • 文件系统路径:需要挂载的NAS中的源路径,即NAS实例内部的文件系统路径。

    • 挂载路径:挂载到服务实例中的目标路径,用来读取NAS路径中的文件。

  • 智算CPFS:如果使用的是灵骏相关的计算资源配额部署服务,则支持挂载灵骏CPFS的存储资源。

    • 文件系统:选择该账号下的智算CPFS文件系统。如何创建智算CPFS文件系统,详情请参见创建文件系统

    • 源路径:需要挂载的智算CPFS的源路径。

    • 挂载路径:挂载到服务实例中的目标路径,用来读取CPFS路径中的文件。

  • Git

    • Git地址:配置Git代码地址。

    • 挂载路径:挂载服务实例中的目标路径,用来读取Git代码地址中的代码文件。

  • 代码配置

    • 选择已创建的代码集,如果没有代码集,您可以单击新建代码配置来创建一个新的代码集。

    • 配置挂载路径,即配置挂载服务实例中的目标路径,用来读取PAI代码集。

  • 自定义数据集

    • 选择已创建的数据集,如果没有数据集,您可以单击新建数据集来创建一个新的数据集。

    • 配置挂载路径,即配置挂载服务实例中的目标路径,用来读取PAI数据集。

三方库配置

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

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

  • 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包

Processor种类选择自定义processor时,支持配置。您可以通过以下任何一种方式配置Processor包:

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

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

Processor主文件

Processor种类选择自定义processor时,支持配置。自定义Processor包的主文件。

挂载配置

支持使用以下几种挂载方式。

  • OSS

    • 配置OSS源地址路径,即选择OSS Bucket路径。

    • 配置挂载路径,即配置挂载服务实例中的目标路径,用来读取OSS路径中的文件。

  • 通用型NAS

    • 选择文件系统:配置为已创建的NAS文件系统的ID。您可以登录NAS控制台,在对应的地域,查看NAS文件系统ID。也可从下拉列表中查看拥有的NAS文件系统ID。

    • 文件系统挂载点:选择NAS文件系统和挂载点,EAS服务通过挂载点来访问NAS文件系统。如何创建通用型NAS文件系统,详情请参见创建文件系统

    • 文件系统路径:需要挂载的NAS中的源路径,即NAS实例内部的文件系统路径。

    • 挂载路径:挂载到服务实例中的目标路径,用来读取NAS路径中的文件。

  • 智算CPFS:如果使用的是灵骏相关的计算资源配额部署服务,则支持挂载灵骏CPFS的存储资源。

    • 文件系统:选择该账号下的智算CPFS文件系统。如何创建智算CPFS文件系统,详情请参见创建文件系统

    • 源路径:需要挂载的智算CPFS的源路径。

    • 挂载路径:挂载到服务实例中的目标路径,用来读取CPFS路径中的文件。

  • Git

    • Git地址:配置Git代码地址。

    • 挂载路径:挂载服务实例中的目标路径,用来读取Git代码地址中的代码文件。

  • 代码配置

    • 选择已创建的代码集,如果没有代码集,您可以单击新建代码配置来创建一个新的代码集。

    • 配置挂载路径,即配置挂载服务实例中的目标路径,用来读取PAI代码集。

  • 自定义数据集

    • 选择已创建的数据集,如果没有数据集,您可以单击新建数据集来创建一个新的数据集。

    • 配置挂载路径,即配置挂载服务实例中的目标路径,用来读取PAI数据集。

环境变量

配置变量名和变量值:

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

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

资源部署

资源部署区域配置以下参数。

参数

描述

资源类型

支持选择公共资源或已购买(创建)的专属资源组。如何购买专属资源组,详情请参见使用专属资源组

说明

建议在任务量相对较少、对任务时效性要求不高的场景下使用公共资源组。

GPU共享

资源类型选择EAS资源组时,支持打开GPU共享功能。具体配置方法,请参见GPU共享

说明

当前GPU共享功能仅供白名单用户受限申请使用,如果您希望使用GPU共享功能,请先提交工单,申请添加GPU共享功能使用白名单。

实例数

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

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

部署资源

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

  • 支持选择单个CPU或GPU实例规格。

  • 支持配置多规格实例竞价实例

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

    • 部署资源:支持同时配置常规型资源或抢占型资源,并按照配置规格的先后顺序作为优先级排序来拉起资源,最多支持添加5个资源类型。如果您设置抢占型资源,需要为该机器资源设置出价上限,用来自动竞价抢占资源。

弹性资源池

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

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

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

额外系统盘

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

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

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

专有网络(可选)

专有网络区域,配置专有网络(VPC交换机安全组名称参数,为部署在公共资源组中的EAS服务开通VPC高速直连。详情请参见配置网络连通

网络连通后,该VPC环境中的ECS服务器等即可通过创建的弹性网卡访问部署在公共资源组中的EAS服务,同时EAS服务也可以访问VPC环境中的其他云产品。

服务功能(可选)

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

参数

描述

内存缓存加速

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

专属网关

通过配置专属网关,不仅可以增强访问控制与安全性,还可以提升网络访问服务的效率。如何创建专属网关以及配置访问控制,详情请参见服务专属网关

LLM智能路由

打开开关,并选择LLM智能路由。如果没有可选的LLM智能路由,您可以单击新建LLM智能路由进行创建,详情请参见LLM智能路由:提升LLM推理系统整体效率

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

健康检查

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

共享内存

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

启用GRPC

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

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

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

服务响应超时时长

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

滚动更新

  • 更新创建实例数:服务滚动更新过程中,多于指定实例数,最多可以额外创建的实例个数。该参数可以为正整数,表示实例个数;也可以为百分比,例如2%。默认比例为2%。增大该参数可以提高服务更新速度。例如:服务实例个数指定为100,该参数配置为20,则服务更新开始后会立即创建20个新实例。

  • 最大不可用实例数:服务滚动更新过程中,最大不可用的实例个数。该参数可以在服务更新过程中,为新实例释放资源,避免服务因空闲资源不足而更新卡住。目前在专有资源组中,该参数默认为1;在公共资源组中,该参数默认为0。例如:该参数为N,则服务更新开始时会立即停止N个实例。

    说明

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

优雅退出

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

    重要

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

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

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

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

保存调用记录

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

  • 大数据MaxCompute

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

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

  • 日志服务SLS

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

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

任务模式

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

服务配置

服务配置区域,显示以上服务配置对应的JSON配置文件内容。

您可以根据需要补充一些在界面不支持配置的配置项,详情请参见服务模型所有相关参数说明

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

管理EAS模型在线服务

您可以在模型在线服务页面的推理服务页签,查看已部署的服务列表,并对目标服务进行停止、启动、删除等操作。

警告

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

  • 查看服务详情

    • 单击目标服务名称,进入服务详情页面。在该页面查看服务基本信息、服务实例和服务配置等。

    • 在服务详情页面上方,您可以切换至不同的功能页签,以查看服务监控、日志、部署事件等信息。

  • 查看容器日志

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

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

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

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

  • 更新服务资源配置

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

  • 更新已有服务版本

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

    警告

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

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

  • 扩缩容

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

  • 弹性伸缩

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

相关文档