人工智能

AI算力平台的推理服务规划与设计(draft)

2024-10-06  本文已影响0人  sknfie

概述

根据要求部署完成的任务,经过pipeline训练完成后,即可通过推理服务的方式对外提供服务。

推理服务从底层到上层所处的阶段

推理服务从底层到上层,包含服务网格,serverless,pipeline,http框架,模型计算:

网关入口适配

采用istio的gateway的服务网格网关方案,暂时不考虑k8s ingress网关。
平台很多功能是通过外部镜像镜像实现的:

分流+流量复制

分流表示将一批流量按照一定规则分发到多个服务上去,每一个请求只会进入一个服务端,流量镜像则表示将原有的流量原封不动的复制一份到另一个服务。这两种功能在实际生产中都非常有用,在istio中可以很方便的实现流量的分发和复制。
平台规定一个模型使用一个唯一的pod,不会在一个pod中进行多个模型的推理服务,所以在服务网格中流量的复制和分流就更加简单。

推理框架

不同的训练框架,基本都有对应的推理框架:
tf/torch/onnx/tensorrt/lightgbm/paddle/sklearn/xgboost等模型提供推理服务,用户填写模型名称和版本、模型地址,会自动生成所有的配置文件,提供api的demo,自动提供域名和ip的访问。

各类型的推理框架或多或少可以代理其他训练框架的模型进行推理服务。例如tfserving也可以为onnx模型提供推理服务,所以这些框架和模型并不是唯一绑定关系。

tfserving

tfserving主要是tf模型推理服务,虽然同时也可以为其他模型提供推理服务的,比如上面说的onnx模型也是可以用tfserving提供推理服务的。
tfserving推理主要需要提供models.config、monitoring.config、platform.config等配置文件。推理服务提供了Model status API、Model Metadata API、Classify and Regress API、Predict API等类型的接口。
可以使用Model Metadata API作为模型的健康检查接口。
monitoring.config中配置的metric可以用于prometheus监控。

torchserver

torch保存模型结构和参数完成信息后,需要先使用torch-model-archiver将模型压缩为可直接推理的包,主要是将http接口封装进去。

上一篇 下一篇

猜你喜欢

热点阅读