跳转到主要内容

热门内容

今日:


总体:


最近浏览:


Chinese, Simplified

category

KServe由谷歌、IBM、彭博社、NVIDIA和Seldon合作开发,作为Kubernetes的开源云原生模型服务器。

如果你熟悉Kubeflow,你就会知道KFServing是平台的模型服务器和推理引擎。去年9月,KFServing项目进行了转型,成为KServe。

KServe现在是Kubeflow项目的独立组成部分,除了名称更改之外。这种分离使KServe能够发展成为一个独立的云原生推理引擎,部署为一个独立模型服务器。当然,它将继续与Kubeflow进行紧密集成,但它们将作为独立的开源项目进行处理和维护。

有关模型服务器的简要概述,请参阅我之前在the New Stack上的一篇文章。

KServe由谷歌、IBM、彭博社、英伟达和Seldon合作开发,作为Kubernetes的开源云原生模型服务器。最新的版本0.8完全专注于将模型服务器转换为一个独立的组件,并对分类法和命名法进行了更改。

让我们了解一下KServe的核心功能。

模型服务器对机器学习模型的作用就像应用程序对二进制代码的作用一样。两者都为部署提供运行时和执行上下文。KServe作为模型服务器,为大规模服务机器学习和深度学习模型提供了基础。

KServe可以部署为传统的Kubernetes部署,也可以部署为支持零扩展的无服务器部署。对于无服务器,它利用了无服务器Knative Serving的优势,后者具有自动放大和缩小功能。Istio被用作向API消费者公开服务端点的入口。Istio和Knative Serving的结合实现了令人兴奋的场景,如蓝色/绿色和金丝雀式的模型部署。

RawDeployment模式允许您在不使用Knative Serving的情况下使用KServe,它支持传统的缩放技术,如Horizontal Pod Autoscaler(HPA),但不支持缩放到零

KServe体系结构


KServe模型服务器有一个控制平面和一个数据平面。控制平面管理并协调负责推理的自定义资源。在无服务器模式下,它与Knative资源协调管理自动缩放。

KServe控制平面的核心是管理推理服务生命周期的KServe控制器。它负责创建服务、入口资源、模型服务器容器、模型代理容器,用于请求/响应日志记录、批处理和从模型存储中提取模型。模型存储是向模型服务器注册的模型的存储库。它通常是一种对象存储服务,如Amazon S3、Google Cloud storage、Azure storage或MinIO。

数据平面管理以特定模型为目标的请求/响应周期。它有一个预测器、转换器和解释器组件。

AI应用程序向预测器端点发送REST或gRPC请求。预测器充当调用转换器组件的推理管道,转换器组件可以执行入站数据(请求)的预处理和出站数据(响应)的后处理。可选地,可以有一个解释器组件来为托管模型带来AI解释性。KServe鼓励使用可互操作和可扩展的V2协议。

数据平面也有端点来检查模型的准备状态和运行状况。它还公开了用于检索模型元数据的API。

支持的框架和运行时


KServe支持广泛的机器学习和深度学习框架。深度学习框架和运行时与TensorFlow serving、TorchServe和Triton推理服务器等现有服务基础设施协同工作。KServe可以通过Triton托管TensorFlow、ONNX、PyTorch、TensorRT运行时。

对于基于SKLearn的经典机器学习模型,XGBoost、Spark MLLib和LightGBM KServe依赖于Seldon的MLServer。

KServe的可扩展框架使插件任何遵循V2推理协议的运行时成为可能。

使用ModelMesh进行多模型服务


KServe为每个推理部署一个模型,将平台的可扩展性限制在可用的CPU和GPU上。当在昂贵且稀缺的计算资源GPU上运行推理时,这种限制变得明显。

通过多模型服务,我们可以克服基础设施的限制——计算资源、最大pod和最大IP地址。

ModelMesh Serving由IBM开发,是一个基于Kubernetes的平台,用于ML/DL模型的实时服务,针对高容量/高密度用例进行了优化。与管理进程以优化利用可用资源的操作系统类似,ModelMesh优化部署的模型以在集群中高效运行。

通过在部署的pod集群中智能管理内存中的模型数据,以及随着时间的推移对这些模型的使用,该系统最大限度地利用了可用的集群资源。

ModelMesh Serving基于KServe v2数据平面API进行推理,这使得可以将其部署为类似于NVIDIA Triton推理服务器的运行时。当请求到达KServe数据平面时,只需将其委托给ModelMesh Serving即可。

ModelMesh Serving与KServe的集成目前正在Alpha中。随着这两个项目的成熟,将进行更紧密的集成,从而可以混合和匹配两个平台的特性和功能。

随着模型服务成为MLOps的核心构建块,像KServe这样的开源项目变得非常重要。KServe使用现有和即将到来的运行时的可扩展性使其成为一个独特的模型服务平台。

在接下来的文章中,我将引导您完成在基于GPU的Kubernetes集群上部署KServe以对TensorFlow模型执行推理的步骤。敬请期待。

本文地址
最后修改
星期日, 五月 26, 2024 - 20:28
Article