Seldon Core:在 Kubernetes 上大规模部署机器学习模型
Seldon Core:在 Kubernetes 上大规模部署机器学习模型
seldon-core 在 GitHub 上已经拿到 4,751 Star 了。
这是一个在 Kubernetes 上部署机器学习模型的平台,面向大规模生产环境。它把 TensorFlow、PyTorch、H2O 等框架训练出来的模型,以及用 Python、Java 写的自定义模型,统一转成 REST 或 GRPC 微服务。
1、这玩意儿是干嘛的
就做一件事:让 ML 模型稳定地跑在生产环境里。
你可以把它理解成模型和基础设施之间的一层粘合剂。模型训练完了,直接交给它,它负责容器化、扩缩容、暴露 API、打日志、做监控。目前累计安装量已经超过 200 万次。

2、为什么要用它
做模型服务的人都遇到过这类问题:本地跑得好好的模型,一上生产就各种不对。流量大了要手动扩容,A/B 测试要重新写路由,出了问题找不到日志,模型行为解释不清。
Seldon Core 把这些事内建到平台里了。它的核心思路是把每个模型都当成一个标准的微服务来管,借助 Kubernetes 的调度能力实现横向扩展,同时提供一套完整的可观测和治理能力。

3、核心能力有哪些
它支持两类部署方式:
第一种是预打包推理服务器。常见框架如 scikit-learn、TensorFlow、XGBoost、MLflow 都有现成镜像,你把模型文件上传到对象存储,写几行 YAML 就能部署。
第二种是自定义语言包装器。如果模型依赖第三方库或者有特殊逻辑,可以用 Python、Java、R、Go、NodeJS 等语言自己写包装类,再打包成镜像部署到集群。
除部署之外,它还内置了这些功能:
- 高级指标与 Prometheus、Grafana 集成
- 请求日志与 Elasticsearch 对接
- 分布式追踪通过 Jaeger 实现
- A/B 测试、金丝雀发布、多臂老虎机路由
- 模型解释器和异常检测器
- 元数据追溯,连接训练系统与生产模型
4、部署一个模型有多简单
用 Helm 3 安装核心组件:
kubectl create namespace seldon-system
helm install seldon-core seldon-core-operator \
--repo https://storage.googleapis.com/seldon-charts \
--set usageMetrics.enabled=true \
--namespace seldon-system \
--set istio.enabled=true
然后部署一个 scikit-learn 的 iris 模型:
kubectl apply -f - << END
apiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
metadata:
name: iris-model
namespace: seldon
spec:
name: iris
predictors:
- graph:
implementation: SKLEARN_SERVER
modelUri: gs://seldon-models/v1.20.0-dev/sklearn/iris
name: classifier
name: default
replicas: 1
END
模型部署后会暴露 OpenAPI 文档页面,也可以直接用 curl 调用:
curl -X POST http://<ingress>/seldon/seldon/iris-model/api/v1.0/predictions \
-H 'Content-Type: application/json' \
-d '{ "data": { "ndarray": [[1,2,3,4]] } }'
5、适合哪些人用
- 需要在 Kubernetes 上运行大量模型服务的企业团队
- 想要统一管理 TensorFlow、PyTorch、scikit-learn 等多框架模型的 MLOps 工程师
- 需要 A/B 测试、金丝雀、模型可解释能力的数据科学团队
- 使用 AWS EKS、Azure AKS、GKE 等云托管 Kubernetes 的组织
Seldon Core 目前同时维护 V1 和 V2 两个大版本,新用户建议直接从 V2 开始。
EKS、Azure AKS、GKE 等云托管 Kubernetes 的组织
Seldon Core 目前同时维护 V1 和 V2 两个大版本,新用户建议直接从 V2 开始。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)