模型在线服务EAS(ElasticAlgorithmService)是一种模型在线服务平台,可支持您一键部署模型为在线推理服务或AI-Web应用。它提供的弹性扩缩容和蓝绿部署等功能,可以支撑您以较低的资源成本获取高并发且稳定的在线算法模型服务。此外,EAS还提供了资源组管理、版本控制以及资源监控等功能,方便您将模型服务应用于业务。EAS适用于实时同步推理、近实时异步推理等多种AI推理场景,并具备完整运维监控体系等能力。
点击可查看EAS架构分层详细说明
基础设施层:支持异构硬件(CPU或GPU)的基础设施,并提供了AI专属的GU机器规格和抢占型实例,以帮助您降低成本并提高效率。
容器调度层:通过自动扩缩容等多种方法,帮助您在业务的波峰波谷中更高效地管理集群资源,实现降本增效的目标。支持以下几种方法:
弹性扩缩容:当业务负载呈现显著的波峰波谷时,通过开启弹性扩缩容功能,系统可自动调整实例数量,实现动态管理线上服务的计算资源,避免资源浪费。
定时扩缩容:在可以预估业务负载的场景中,服务可以定时将实例数自动扩缩容到指定数量,从而避免资源浪费。
弹性资源池:如果专属资源组内资源已经占满,服务会自动将扩容的实例弹到按量计费的公共资源组机器上,以保障服务的稳定性。
模型部署层:通过服务部署发布的多项功能,帮助您实时高效地监控服务状态,并简化服务发布和更新流程,以适配最合理的计算资源。服务部署发布支持的功能如下:
一键压测:支持动态加压,并能自动寻找服务的负载上限。此外,还提供了实时查看压测秒级监控数据和查看报告的功能。
灰度发布:支持将多个服务加入同一个灰度群组,其中一些服务用于生产环境,而另一些服务则用于灰度环境。此外,还支持切换每个服务的流量分配比例,以进行更灵活的灰度测试。
流量镜像:支持将当前服务的流量按照一定比例镜像到目标服务中,同时不影响当前服务的正常运行。这一功能主要用于测试新服务的性能和可靠性。
推理能力:目前EAS支持的推理能力如下:
实时同步推理:适用于个性化搜索、智能对话等场景,具有高吞吐、低延迟的特点,同时不影响线上业务的正常运行。系统还可以根据业务需求适配合理的部署机型,以实现最佳的运行效果。
近实时异步推理:适用于文图生成、视频处理等场景,在推理服务内部集成了消息队列。使得服务能够按需进行弹性扩缩容,且无需进行运维工作。
使用EAS进行模型部署时,支持镜像部署和Processor部署两类部署方式,对比介绍如下。
EAS镜像部署的流程图如下。
此方式的部署要点如下。
镜像部署可以进一步细分为镜像部署服务和镜像部署AI-Web应用两种部署方式。
镜像部署服务:适用于通过镜像快速部署服务的场景,部署后可通过API调用服务。
镜像部署AI-Web应用:更适用于通过镜像快速部署Web应用的场景,部署后可通过Web应用链接直接打开应用页面进行访问试用。
PAI为您提供了多个典型场景的官方镜像便于您高效一键部署,您也可以结合业务需求自行开发模型并制作镜像,制作完成的镜像需上传至阿里云镜像服务ACR中,便于部署时选择使用。
建议您将模型和模型的前后处理代码文件上传至存储云产品,后续通过挂载方式来获取对应内容,而非直接打包至自定义镜像中,在后续模型需频繁迭代更新时,可方便地替换模型。
使用镜像部署时,建议您自行构建一个HTTPServer,后续使用EAS部署好服务后,EAS会将调用服务的请求转发至您自行开发的HTTPServer中,自建的HTTPServer需避开EAS系统监听端口8080和9090。
使用自定义镜像进行部署时,请务必将您的镜像上传至ACR中再进行使用,否则可能导致在部署时镜像拉取失败。如果您使用DSW进行模型开发训练,也需将镜像上传至ACR中才可在EAS中使用。
如果您的自定义的镜像、预热数据等内容可在其他多种场景下应用,您也使用PAIAI资产的镜像和数据集功能,将其沉淀为对应的AI资产进行统一管理。当前EAS不支持使用NAS-CPFS类型的数据集。
准备好模型和Processor文件等服务部署前的准备内容后,分别上传至存储云产品(OSS、NAS),EAS通过挂载存储云产品来获取部署前所需的准备内容进行服务部署。
EASProcessor部署流程如下。
PAI为您提供了多个典型场景的官方Processor供您使用,您也可以结合业务需求自行开发模型并开发自定义Processor文件,完成后分别上传至阿里云存储产品OSS或NAS。
建议您将模型和Processor文件独立开发分别存储,后续可在部署时配置模型挂载路径,Processor文件中可使用get_model_path参数来获取配置的模型路径,便于后续模型需频繁迭代更新时,可方便地替换模型。
使用Processor部署时,EAS会根据您选用的推理框架自动拉取官方环境镜像来部署服务,并基于Processor文件自动为您部署一个HTTPServer用于接收后续调用服务的请求。
使用Processor方式部署时,您需要保障模型的推理框架和Processor文件的开发符合开发环境要求,不如镜像部署方式灵活高效,因此更建议您使用镜像方式进行模型部署。
名词
描述
资源组
EAS将集群资源分为不同的资源组进行隔离,创建模型服务时,您可以选择将其部署在默认的公共资源组或自己额外购买的专属资源组。
使用公共资源组时:后付费(按量付费)模式,服务开始部署后即开始使用资源,服务结束后即释放资源。
使用专属资源组时:预付费(包年包月)和后付费(按量付费)两种计费模式,专属资源组的生命周期与服务无关,资源购买后即开始计费,资源释放后即结束计费。
模型服务
模型文件和在线预测逻辑部署成的常驻服务。您可以对模型服务进行创建、更新、停止、启动、扩容及缩容操作。
模型文件
通过离线训练获得的离线模型。基于不同框架会得到不同格式的模型,通常与Processor一起部署,从而获得模型服务。
Processor
包含在线预测逻辑的程序包,通常与模型文件一起部署,从而获得模型服务。针对常用的PMML、TensorFlow(SavedModel)及Caffe模型,EAS提供了预置的官方Processor。
自定义processor
EAS预置Processor无法满足所有的服务部署需求,您可以通过自定义Processor,实现更灵活的服务部署。EAS支持通过C++、Java或Python开发自定义Processor。
服务实例
服务进程。每个服务可以部署多个服务实例以提高能够支持的并发请求数。部署服务时,服务实例会部署到资源组中的机器上,如果资源组中有多台机器资源,EAS会自动将不同实例部署到不同的机器资源中,从而更好地保障服务高可用性。
高速直连
EAS提供高速直连的网络访问方式,EAS资源组和您的VPC网络连通后,您可以使用高速直连功能。后续无需通过网关,客户端可直接访问模型服务,可以大幅度提高访问性能、降低访问延时。
EAS支持的地域包括华北2(北京)、华东2(上海)、华东1(杭州)、华北3(张家口)、华北6(乌兰察布)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国(香港)、日本(东京)、新加坡、印度尼西亚(雅加达)、美国(硅谷)、美国(弗吉尼亚)及德国(法兰克福)。
EAS资源组收费:
公共资源组中,根据每个模型服务占用的资源量计费。
专属资源组中,根据资源组管理的服务器资源包年包月或按量计费。
存储类云产品:
公网NAT网关:
准备推理资源。
准备模型、模型前后处理代码文件等内容。
在部署工具维度上:EAS支持通过界面化或命令行方式部署服务和管理服务,不同工具的部署流程和操作要点存在差异。
操作类型
界面化方式
命令行方式
部署服务
管理服务
包括:
查看模型调用信息。
扩容、缩容、启动、停止及删除模型服务。
在部署方式上:EAS支持镜像方式部署(推荐,包含镜像部署、镜像AI-Web部署两个细分部署场景)和Processor方式部署。
部署类型
对比介绍
参考文档
镜像部署服务(推荐)
适用场景:使用镜像快速部署模型服务。
优势:
可通过镜像保障模型开发训练环境与部署运行环境的一致性。
典型场景已为您预置了很多官方镜像,您可使用官方预置镜像一键部署。
也支持自定义镜像部署,无需进行部署的工程化改造,部署便捷。
镜像部署AI-Web应用(推荐)
适用场景:使用镜像快速部署模型服务,更适用于将模型部署为Web应用的场景。
典型场景已为您预置了很多官方镜像,如Stable-Diffusion-Webui、Chat-LLM-Webui等,支持基于Gradio、Flask、FastAPI等框架实现HTTPServer,您可使用官方预置镜像一键部署。
模型+processor部署服务
EAS为您提供了常见模型框架的预置Processor,例如PMML、XGBOOST等,通过EAS预置的Processor可以快速启动服务,但可能无法满足特定的业务需求。
您还可以构建自定义Processor,以实现更为灵活的业务逻辑处理。
服务部署完成后,您可以通过在线调试功能发送HTTP服务请求,来验证服务是否能正常推理。
服务运行正常后,您可以开通服务监控报警来监控服务资源的使用情况。
也可以开启水平或定时自动扩缩容功能,来实时动态管理线上服务的计算资源。
将模型部署为WebUI应用:您可以通过控制台在浏览器中打开Web应用页面,交互式地使用已部署的模型推理服务。