What is Seldon Core

Uncategorized

Seldon Core is an open-source platform for deploying, scaling, and managing machine learning models on Kubernetes. It is designed to help organizations move ML models from experimentation to production efficiently, providing advanced tools for inference, monitoring, and governance.


Key Points: What is Seldon Core?

  • Kubernetes-native ML Model Serving:
    Seldon Core uses Kubernetes to deploy and manage machine learning models as scalable, production-ready services.
  • Framework Agnostic:
    You can deploy models trained in any popular framework (e.g., TensorFlow, PyTorch, scikit-learn, XGBoost, H2O, ONNX, custom code, etc.).
  • Advanced Inference Graphs:
    Unlike basic model servers, Seldon Core allows you to create inference graphs—complex pipelines of pre-processing, prediction, post-processing, A/B testing, ensembles, etc.
  • Automatic Scaling:
    Leverages Kubernetes features for auto-scaling, high availability, and resource management.
  • Production Features:
    • Canary & A/B Deployments: Safely test new model versions.
    • Rolling Updates: Update models without downtime.
    • Advanced Routing: Direct requests by rules/weights.
    • Monitoring & Metrics: Integrates with Prometheus, Grafana, and supports model explainability, outlier, drift detection, etc.
  • Standardized APIs:
    REST and gRPC endpoints for easy integration with your applications.
  • Custom Components:
    You can add your own logic as pre/post processors or combine multiple models/algorithms into a pipeline.

How Does Seldon Core Work?

  1. You define a deployment using a Kubernetes Custom Resource called a SeldonDeployment (YAML file).
  2. Seldon Core spins up the appropriate pods (containers) for each model and pipeline step.
  3. Models are exposed via REST/gRPC endpoints.
  4. Traffic can be split, routed, monitored, and scaled—all with Kubernetes primitives.

Simple Example: SeldonDeployment YAML

apiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
metadata:
  name: my-model
spec:
  predictors:
  - name: default
    replicas: 1
    graph:
      children: []
      implementation: SKLEARN_SERVER
      modelUri: gs://my-bucket/sklearn-model/
      name: classifier

Why Use Seldon Core?

  • Deploy any ML model in any language or framework.
  • Manage model lifecycles with updates, versioning, and traffic control.
  • Monitor model health and data drift in production.
  • Scale to thousands of models, as needed for real-world enterprise use.

Comparison: Seldon Core vs. Others

ToolMulti-FrameworkInference GraphsCanary/A/BK8s NativeMonitoring/Explainability
Seldon CoreYesYesYesYesYes
KFServingYesBasicYesYesYes
TensorFlow ServingNoNoNoNoNo
TorchServeNoNoNoNoNo

When Should You Use Seldon Core?

  • When you need to serve, scale, and manage ML models in Kubernetes production.
  • For multi-framework model serving.
  • If you want to build inference graphs (pipelines, ensembles, A/B testing).
  • When you need enterprise features: traffic splitting, monitoring, explainability, or drift detection.

Leave a Reply

Your email address will not be published. Required fields are marked *