Machine learning Kubernetes机器学习模型

Machine learning Kubernetes机器学习模型,machine-learning,kubernetes,knative-serving,Machine Learning,Kubernetes,Knative Serving,在Kubernetes中,有没有一种建议的方法可以为数百个机器学习模型提供服务? 像这样的解决方案似乎更适合于只有一个经过培训的模型或其几个版本的情况,并且该模型服务于所有请求。例如,一个在所有用户中通用的typeahead模型 但是有没有一个建议的方法来为数百或数千个这样的模型提供服务呢?例如,一个专门针对每个用户的数据进行训练的提前输入模型 实现这一点最简单的方法是,每个typeahead服务容器在内存中维护模型的本地缓存。但是扩展到多个吊舱将是一个问题,因为每个缓存都是吊舱的本地缓存。因此

在Kubernetes中,有没有一种建议的方法可以为数百个机器学习模型提供服务? 像这样的解决方案似乎更适合于只有一个经过培训的模型或其几个版本的情况,并且该模型服务于所有请求。例如,一个在所有用户中通用的typeahead模型

但是有没有一个建议的方法来为数百或数千个这样的模型提供服务呢?例如,一个专门针对每个用户的数据进行训练的提前输入模型

实现这一点最简单的方法是,每个typeahead服务容器在内存中维护模型的本地缓存。但是扩展到多个吊舱将是一个问题,因为每个缓存都是吊舱的本地缓存。因此,每个请求都需要路由到装载模型的正确pod


还必须维护这样一个注册表,在那里我们知道哪个pod加载了哪个模型,并对模型逐出执行更新,这似乎是一项艰巨的工作。

您可以混合使用猫步。

Grab拥有大量数据,我们可以利用这些数据来解决这些问题 复杂的问题,如欺诈用户活动,并提供 客户对我们产品的个性化体验。工具之一 我们用来理解这些数据的是机器学习(ML)

这就是猫步的创建方式:一种易于使用、自助式的机器 学习模型服务于Grab的每个人

有关T台走秀的更多信息,您可以在此处找到:

您可以使用TensorFlow和谷歌云为多种机器学习模型提供服务。

机器学习领域正经历这样一场史诗般的变革 繁荣是因为它真正有可能彻底改变工业和社会 让生活变得更好。一旦机器学习模型被提出 经过培训后,下一步是将这些模型部署到使用中,使 需要它们的人可以使用它们——无论是医院, 自动驾驶汽车制造商、高科技农场、银行、航空公司或 日常智能手机用户。在生产中,风险是巨大的 无法承受服务器崩溃、连接速度减慢等 我们的客户增加了对我们机器学习服务的需求, 我们希望无缝地满足这一需求,无论是在凌晨3点还是下午3点。 类似地,如果需求减少,我们希望降低成本 投入资源以节约成本,因为众所周知,云 资源非常昂贵

您可以在此处找到更多信息:

您也可以使用。

SeldonCore是一个开源平台,用于在Kubernetes集群上部署机器学习模型

功能:

  • 在云端或内部部署机器学习模型
  • 获取指标,确保为您的客户提供适当的治理和法规遵从性 运行机器学习模型
  • 创建由多个组件组成的推理图

  • 为使用
    异构ML工具包


有用的文档:。

不幸的是,目前没有专门为这种类型的用例构建的开源解决方案。在保持相对较低延迟的同时充分利用机器资源的理想解决方案需要一些自定义模型服务系统,该系统支持加载和卸载经过训练的模型,并将请求路由到已加载或准备加载模型的POD

使用开源解决方案可以尝试的最接近的东西是Knative和BentoML(完全公开,我是BentoML的作者)。BentoML提供了一种将ML模型及其依赖项打包到API服务器容器中的方法,Knative是Google基于kubernetes的无服务器框架。有了这两个库,您可以将数百个ML模型部署为Kubernetes集群上的无服务器端点,每个模型都有自己的用BentoML构建的docker容器映像,并且只有在收到预测请求时才会加载这些容器

以下是Knative关于使用BentoML部署经过培训的ML模型的文档:

BentoML GitHub存储库和快速入门指南: