Model hosting and compute

skypilot-org/

skypilot

Run AI training and serving jobs across any cloud, Kubernetes, or Slurm cluster from one YAML spec, with automatic failover and cost optimization.

What’s new here

You describe a job and its resource requirements, and SkyPilot finds where to run it across your Kubernetes clusters, Slurm clusters, and 20+ cloud providers. If one provider returns a capacity error, it fails over to the next. It also bin-packs workloads onto shared clusters and shuts down idle resources automatically.

What it does

You write a YAML task spec: GPU type and count, setup commands, and the run command. sky launch handles the rest: find available capacity, provision VMs or pods, sync your working directory, run setup, execute the job, and stream logs back.

For serving, SkyPilot Endpoints puts production inference on clusters you already own. For Kubernetes users, it adds gang scheduling, multi-node job support, SSH access into pods, and multi-cluster management on top of vanilla K8s. It supports training frameworks (DeepSpeed, NeMo, Ray, Verl, TorchTitan), serving stacks (vLLM, SGLang, Ollama), and models including Llama 4, DeepSeek-R1, and Qwen.

A SkyPilot Skill lets coding agents (Claude Code, Codex) drive it directly via a natural-language install instruction.

Who it’s for

AI teams that have GPUs spread across multiple clouds or on-prem clusters and want to stop writing bespoke provisioning scripts for each one. Also infra teams running shared Kubernetes clusters who want Slurm-style ease of use without abandoning cloud-native tooling.

Try it

Note: access to GPU instances is needed to run the example below.

# Choose your clouds:
uv pip install "skypilot[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp,seeweb,shadeform,verda]"

Prepare the workdir by cloning:

git clone https://github.com/pytorch/examples.git ~/torch_examples

Then write a task file my_task.yaml:

resources:
  accelerators: A100:8
 
num_nodes: 1
 
workdir: ~/torch_examples
 
setup: |
  cd mnist
  pip install -r requirements.txt
 
run: |
  cd mnist
  python main.py --epochs 1

Launch it:

sky launch my_task.yaml

How mature is it

Created August 2021. At v0.14.0 (released October 5, 2026), with 45 releases total. 10,691 stars, 1,271 forks, 100+ contributors, and 100+ commits in the last 90 days. 464 open issues and pull requests. Licensed Apache-2.0.