KServe是一个基于Kubernetes的机器学习模型服务框架,支持以Kubernetes CRD的形式将单个或多个经过训练的模型(例如TFServing、TorchServe、Triton等推理服务器)部署到模型服务运行时,使得模型的部署、更新和扩展变得更加简单快捷。您可以在控制台安装KServe的核心组件,KServe Controller,以获得基于请求流量自动扩容等能力。
KServe介绍
KServe是一个基于Kubernetes的机器学习模型服务框架,提供简单的Kubernetes CRD,可用于将单个或多个经过训练的模型(例如TFServing、TorchServe、Triton等推理服务器)部署到模型服务运行时。ModelServer和MLServer是KServe中两个模型服务运行时,用于在KServe中部署和管理机器学习模型。KServe内置了ModelServer和MLServer两种预定义模型服务运行时,它们能够提供开箱即用的模型服务。ModelServer使用预测v1协议在KServe本身中实现Python模型服务运行时,MLServer使用REST和gRPC实现预测v2协议。如果需要更复杂的用例,您也可以选择构建自己的自定义模型服务器。此外,KServe还提供基本API原语,可轻松构建自定义模型服务运行时。您也可以使用其他工具(例如BentoML)来构建您自己的自定义模型服务镜像。
基于Knative使用InferenceService部署模型后,您将获得以下Serverless能力:
缩容到0
基于RPS、并发数、CPU/GPU指标自动弹性
多版本管理
流量管理
安全认证
开箱即用可观测性
KServe Controller
KServe Controller是KServe的核心组件之一,它负责管理InferenceService自定义资源,并通过创建Knative服务部署实现自动化的扩缩容,即该服务部署能根据请求流量进行自动扩缩容,并在未收到流量时将服务的Pod缩容到0。这种自动化的扩缩容可以有效地管理模型服务的资源使用,并确保只有在需要时才会使用资源。
前提条件
已在集群中部署Knative,请参见部署Knative。
部署KServe
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在组件管理页签,找到KServe组件,然后单击部署,按照页面指引完成组件的安装。
当组件状态显示为已部署,表明组件部署成功。
相关文档
安装组件后,您可以基于KServe快速部署一个推理服务。