在线服务是LAS产品提供的一站式服务/模型部署功能,支持用户将模型或者服务一键部署为在线服务,并允许用户从公网/VPC内网/绑定clb进行访问。在 LAS 上部署的在线服务具备扩缩容和运维监控、日志等能力。
在线服务提供基于镜像的部署模式,您的镜像仓库需要为标准版实例,且您的访问控制中有足够的跨 VPC 访问配额,如下图所示:
服务部署配置参数说明:
分类 | 配置项 | 配置说明 |
---|---|---|
服务信息 | 服务名称 | 您的服务的名称 |
服务描述 | 您的服务的描述 | |
环境信息 | 镜像仓库 | 服务所使用的镜像仓库地址,要求为标准版实例且跨 VPC 访问配额未满 |
镜像 | 服务所使用的镜像 | |
镜像版本 | 服务所使用的镜像版本 | |
运行命令 | 您服务的启动命令,如 python app.py | |
端口号 | 镜像对外提供服务的端口号 | |
环境变量 | 您服务运行时所需的环境变量 | |
资源部署 | 队列付费类型 | 服务部署资源所在队列的类型 |
队列 | 用于部署服务的在线队列名称,请注意有足够的 CU 数用于部署服务 | |
存储挂载 | 您的 TOS 地址,会挂载到服务实例对应路径内。您可在服务实例中读取 TOS 内文件 | |
高级设置 | 滚动更新 | 指定您的滚动更新策略。
|
健康检查 | 您配置的健康检查策略。健康检查策略将帮助系统判断您服务的健康状态,从而进行负载均衡及故障自动恢复 |
您可以通过模板快速部署特定场景的在线服务。
以在线检索服务为例,可以将您的查询向量化,然后通过vikingdb/opensearch等数据库进行检索。以vikingdb为例,以下是具体步骤
在下面的页面中,首先填写服务名,接着修改环境变量。环境变量参数说明如下:
您可以通过模板快速部署特定场景的在线服务。
以LAS算子服务为例,可以将您的查询向量化,然后通过vikingdb/opensearch等数据库进行检索。以vikingdb为例
在下面的页面中,首先填写服务名,接着修改环境变量。环境变量参数说明如下:
接下来在资源部署栏选择相应的队列,设置实例数。
说明
目前算子仅支持bge_sparse_dense_embedding。
服务部署成功后,可以通过调用页面查看调用信息,包括调用时的 Token 内容,开通调用方式等。
对于 Token 信息,默认隐藏显示,如果您具有 LasFullAccess 及以上的权限,可以通过点击查看按钮展示明文,另外,也支持通过点击刷新按钮得到新的 Token,旧 Token 将会在数秒后失效。
curl http://{serving-address}:{serving-port}/api/predict_online -H 'Authorization: ZGI1YWYxNmQwYjMzMDM1YTNlMmFmNmEzYjIzZT************' -d '[{"sex":0,"cp":0,"fbs":0,"restecg":0,"exang":0,"slop":0,"thal":0,"age":0,"trestbps":0,"chol":0,"thalach":0,"oldpeak":0,"ca":0}]'
对于运行中的在线服务,您可以像调用寻常 api 服务一样通过 curl 命令来发起,只需要在请求中通过 Auth 头,将 Token 信息填入即可。
serving-address 由不同的调用方式提供,serving-port 与您部署时,指定的容器端口对齐。
在调用界面,LAS 会提供该在线服务的内部调用地址,该地址可以用于不同在线服务之间的相互调用,这种场景下,调用时不需要使用 Token。
另外,LAS 提供了基于私网打通实现的调用方式,可以让您从账号下任意 VPC 往本在线服务发起调用。
在界面上,可以通过点击添加私有网络按钮来做打通。
对于添加进来的私有网络,需要指定子网与安全组,目前要求子网为可用区A的子网。
对于安全组,需要您放通ICMP协议的 0.0.0.0/0 或者 100.64.0.0/10 网段;另外对于服务端口,也需要添加具体调用侧 IP 对该端口的放通,以免被安全组拒绝访问。
在线服务在调用上,支持将您账号下的某个 CLB 实例关联进来,通过在 CLB 实例上挂载公网,可以满足公网访问的需求。
通过点击 CLB 按钮,进入打通页面。
此时需要您选择想要打通的 CLB 实例,以及该 CLB 所在 VPC 实例下,ABC 三个可用区的子网。
对于安全组,与打通私有网络时情况类似,需要放通ICMP协议的 0.0.0.0/0 或者 100.64.0.0/10 网段与具体调用侧 IP 对服务端口的访问。
关联后,LAS 会识别出该 CLB 的相关信息,展示在界面上便于您使用。
服务部署成功后,您可以在服务详情页对服务进行升级操作,包括修改镜像版本、修改资源用量及配置环境变量等。
用于指定在更新过程中最多可以有多少个服务实例处于不可用状态。该值可以是一个绝对数(例如 5)或期望实例数量的百分比(例如 10%,百分比计算出的绝对数会进行向下取整)。
例如,当该值设置为 30% 时,在滚动更新开始时,旧的服务可以立即缩减到期望实例数量的 70%。一旦新的实例准备就绪,旧实例可以进一步缩减,随后新实例进行扩容,确保在整个更新过程中,始终有至少 70% 的期望实例数量可用。
用于指定可以超出服务实例数量创建的最大实例数量。该值可以是一个绝对数(例如,5)或期望实例数量的百分比(例如,10%,百分比计算出的绝对数通过向上取整得出)。
例如,当该值设置为 30% 时,在滚动更新开始时,新的实例会立即扩容,并且保证旧的和新的实例总数不超过期望实例数量的 130%。一旦旧的实例被终止,新实例会进一步扩容,确保在更新过程中任何时候运行的实例总数最多为期望实例数量的 130%。
服务部署成功后,您可以在服务监控页面查看该服务的相关指标,来了解服务的调用和运行情况。
分类 | 指标 | 单位 |
---|---|---|
服务监控 | 服务平均CPU使用量 | 核数 |
服务平均内存使用量 | GiB | |
服务平均CPU使用率 | % | |
服务平均内存使用率 | % | |
服务请求时间耗时百分位 | % | |
服务请求QPS | count | |
服务请求调用次数 | count | |
服务5分钟请求率 | % | |
实例监控 | 实例CPU使用量 | 核数 |
实例内存使用量 | GiB | |
实例平均CPI使用率 | % | |
实例平均内存使用率 | % | |
实例 GPU 使用率 | % | |
实例 GPU 显存使用率 | % | |
实例 GPU 显存用量 | GiB | |
实例 GPU 显存未使用量 | GiB |
当业务负载出现波动时,您可以对在线服务进行扩缩容,重新调整实例数量和单实例资源分配,保障业务平稳运行并提高利用率。