使用 kserve seldon 或 Bentoml 进行 ML 服务

Pat*_*678 4 machine-learning serving seldon-core

kserve、seldon core 或 BentoML 哪个更好?以及每一种的优点/缺点和特点是什么

查了很多资料都没有找到明确的答案

Dod*_*cin 6

我处于类似的位置,最近我一直在研究服务景观的模型,以选择堆栈/技术的用途。目前,我们使用 FastAPI 将模型包装到微服务中,但我们希望将 IO/网络绑定消耗(通常来自业务逻辑)与计算/内存绑定消耗(模型)分开,以及更好的编排(扩展、流量分配) A/B 测试等)。

一般来说,您有两种工具:

  1. 推理服务器,负责将模型包装到微服务中
  2. 服务器编排器,添加用于扩展、部署和总体管理服务器群的编排功能

BentoML 是一个模型服务器,直接比较的不是 Seldon Core 或 KServe,而是 Seldon Core 的 MLServer/Python 客户端和 KServe 的 KFModel(后者又使用 Ray)。我觉得他们的功能集非常相似,所以哪一个最好取决于经验/反复试验。就我个人而言,我此时选择了 BentoML,因为它似乎最容易迭代,但如果 Bento 效果不佳,我不排除切换到其他语言。

Seldon Core 和 KServe 是更多的编排工具,这意味着它们的功能集虽然包括推理服务器,但也超出了这一范围。BentoML也有一个编排工具Yatai,但我觉得与上面两个相比,它在功能上还是有所欠缺。好消息是,我相信 Seldon Core 和 KServe 应该适用于大多数推理服务器技术(即 BentoML),尽管与使用它们自己的解决方案相比,某些功能可能会下降。

对于哪一个最好,我没有明确的答案,从我的研究来看,人们似乎以某种形式使用所有这些,例如:

  • BentoML + Helm 进行部署
  • BentoML + Seldon 核心
  • Seldon 的预打包推理服务器/定制 + Seldon Core
  • BentoML + KServe

我个人的建议是尝试每个工具的快速入门教程,看看什么最适合您的需求,通常会选择阻力最小的路径 - MLOps 环境变化很大且很快,有些工具比其他工具更成熟,所以不要投资太多硬工具中的很多内容对我来说最有意义。