Cortex

Cortex: Serverless ML Infrastructure

Overview
Cortex is an open-source platform for deploying machine learning models as production-ready web APIs. It automates the infrastructure underlying model serving on AWS (EC2, EKS), abstracting away Kubernetes and Docker complexity.

Key Features

1. Unified Config
Deploy TensorFlow, PyTorch, Scikit-learn, or ONNX models using a simple `cortex.yaml` file.

2. Autoscaling
Automatically scales the number of replicas based on request traffic (Requests Per Second) or GPU utilization. Scales to zero to save costs.

3. Spot Instances
Built-in support for AWS Spot Instances, potentially saving 70-90% on compute costs, with auto-recovery if instances are reclaimed.

4. Rolling Updates
Updates APIs without downtime.

Configuration Example

# cortex.yaml
- name: sentiment-analyzer
  kind: RealtimeAPI
  predictor:
    type: python
    path: predictor.py
  compute:
    cpu: 1
    gpu: 1  # Uses GPU instance
    mem: 4G
  autoscaling:
    min_replicas: 1
    max_replicas: 10

Python Predictor

# predictor.py
class PythonPredictor:
    def __init__(self, config):
        self.model = load_model()

    def predict(self, payload):
        return self.model.inference(payload["text"])

Status
Note: Cortex was acquired by Databricks, and the open-source project is no longer actively maintained as of late 2021/2022.
Modern Alternatives include:
- BentoML: For packaging models.
- Ray Serve: For scalable serving.
- KServe: For Kubernetes native serving.
- AWS SageMaker: Managed alternative.

Take cortex further

Ask the copilot about this term, or have our engineers assess it against your process.