模型部署 > 在线服务
ModelArts平台提供的AI模型推理服务管理平台,旨在帮助用户快速将AI模型部署为可运行的推理服务,并为推理服务提供API能力,供用户集成到自定义的应用中。
ModelArts支持将模型部署为一个在线服务,并且提供在线的测试UI与监控功能。部署成功的在线服务,将为用户提供一个可调用的API。在线推理常用于对实时性要求较高的场景,如在线智能客服、自动驾驶中的实时决策等。
准备工作
- 准备镜像文件,并上传至SWR。
- 创建专属资源池,确保目标资源池有足够的资源支持部署,详情请见创建专属资源池。
- 提前准备好模型、代码文件,并上传到对象存储服务 OBS/并行文件系统 PFS/弹性文件服务 SFS Turbo。
部署在线服务
根据业务场景将模型部署为在线服务。
ModelArts支持单机部署在线服务和多机多卡部署在线服务。
|
对比项 |
单机部署 |
多机多卡部署 |
|---|---|---|
|
介绍 |
通过设置服务实例组,部署镜像和模型在资源池上,以在线服务的形式进行管理,对外提供可调用的推理服务。 |
基于Kube infer组件将大模型分割成多个子模型,并分配到多个机器和AI加速卡上进行并行计算,实现大模型高性能推理。 |
|
资源使用 |
使用单台机器的资源,通常为单个GPU(如T4)。 |
使用多台机器,每台机器可能配备多个GPU(如多个P4或T4)。 |
|
性能 |
适合小规模推理任务,资源利用率较低。 |
通过并行处理提高推理速度和吞吐量,适合大规模数据处理。 |
|
适用场景 |
适用于资源有限或任务规模较小的情况。 |
适用于需要高性能和高吞吐量的场景,如大规模批量推理。 |
|
配置和管理 |
配置相对简单,适合快速部署。 |
需要更复杂的配置,可能涉及分布式环境设置和通信测试(如HCCL工具的使用)。 |
访问在线服务
当在线服务的状态处于“运行中”,则表示在线服务已部署成功,部署成功的在线服务,将为用户提供一个可调用的API,此API为标准Restful API。访问在线服务时,您可以根据您的业务需求,分别确认使用何种认证方式、访问通道、传输协议,以上三个要素共同构成您的访问请求,三者可自由组合互不影响(例如不同的认证方式可以搭配不同的访问通道、不同的传输协议)。
当前ModelArts支持访问在线服务的认证方式有以下方式(案例中均以HTTPS请求为例):
- 无认证:无需认证。
- Token认证:基于华为云IAM(Identity and Access Management)服务的认证方式。Token具有时效性,有效期为24小时,需要使用同一个Token鉴权时,可以缓存起来,避免频繁调用。
- API Key认证:API Key认证是另一种常见的认证方式,适用于需要简单认证的API的场景。需要在华为云控制台中生成API Key,然后在调用API时,将API Key放在请求头中。
ModelArts支持通过以下几种方式调用API访问在线服务(案例中均以HTTPS请求为例):
- 通过公网访问通道的方式访问在线服务:ModelArts推理默认使用公网访问在线服务。在线服务部署成功后,将为用户提供一个可调用的API,此API为标准Restful API。
- 通过内网访问在线服务:ModelArts提供私网接入功能,通过创建私网接入申请,实现自动创建VPCEP,打通VPC与推理在线服务的内网连接。
在线服务的API默认为HTTPS访问,同时还支持以下的传输协议:
- 使用WebSocket协议的方式访问在线服务:WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就可以建立持久性的连接,并进行双向数据传输。
- 使用Server-Sent Events协议的方式访问在线服务:Server-Sent Events访问主要解决了客户端与服务器之间的单向实时通信需求(例如ChatGPT回答的流式输出),相较于WebSocket(双向实时),它更加轻量级且易于实现。
功能概览
- 支持部署单机推理服务、多机多卡分布式推理、PD分离部署。
- 支持对服务的模型代码配置:支持OBS、PFS、SFS Turbo挂载,并支持开启本地存储加速。也支持选择预热好的模型。
- 支持亲和调度:单机部署支持选择亲和节点的IP;多机多卡支持选择role亲和节点的IP。
- 支持对静态负载均衡策略进行配置:支持轮询、源IP哈希、最小连接数、SLO优先级等负载均衡策略。
- 支持对推理服务设置认证方式:IAM token、API-KEY认证、无认证方式。
- 支持查看服务事件、Pod事件。
- 支持在ModelArts查看实时日志及在LTS平台查看历史日志等。
- 支持查看服务级别的指标统计请求QPS,请求服务数,当前连接数,服务请求时延,资源指标CPU,NPU,内存,显存使用率,服务网络流速。
- 管理服务:根据服务的实时状况,用户可以按需选择对服务实例数进行扩缩容或者升级模型、克隆服务(复制一个相同的服务副本),中断/停止/删除服务等。