SkyPilot is a system to run, manage, and scale AI workloads on any AI infrastructure.
SkyPilot gives AI teams a simple interface to run jobs on any infra. Infra teams get a unified control plane to manage any AI compute β with advanced scheduling, scaling, and orchestration.
π₯ News π₯
- [Mar 2026] Scaling Karpathy's Autoresearch: Autoresearch runs 1 experiment at a time. We gave it 16 GPUs and let it run in parallel: blog, HackerNews
- [Mar 2026] SkyPilot Agent Skills: GPU access and job management for AI agents: docs
- [Jan 2026] Shopify case study: Shopify runs all AI training workloads on SkyPilot: case study
- [Dec 2025] SkyPilot v0.11 released: Multi-Cloud Pools, Fast Managed Jobs, Enterprise-Readiness at Large Scale, Programmability. Release notes
- [Dec 2025] Train an agent to use Google Search as a tool with RL on your Kubernetes or clouds: blog, example
- [Oct 2025] Run RL training for LLMs with SkyRL on your Kubernetes or clouds: example
SkyPilot is easy to use for AI users:
- Quickly spin up compute on your own infra
- Environment and job as code β simple and portable
- Easy job management: queue, run, and auto-recover many jobs
SkyPilot makes Kubernetes easy for AI & Infra teams:
- Slurm-like ease of use, cloud-native robustness
- Local dev experience on K8s: SSH into pods, sync code, or connect IDE
- Turbocharge your clusters: gang scheduling, multi-cluster, and scaling
SkyPilot unifies multiple clusters, clouds, and hardware:
- One interface to use reserved GPUs, Kubernetes clusters, Slurm clusters, or 20+ clouds
- Flexible provisioning of GPUs, TPUs, CPUs, with smart failover
- Team deployment and resource sharing
SkyPilot maximizes GPU fleet utilization:
- Autostop: automatic cleanup of idle resources
- Binpacking: workload binpacking on shared clusters
- Intelligent scheduler: automatically schedule on the most available infra
SkyPilot supports your existing GPU, TPU, and CPU workloads, with no code changes.
Install with uv (also supported: pip, nightly, from source)
# Choose your clouds:
uv pip install "skypilot[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp,seeweb,shadeform,verda]"To use SkyPilot directly with your agent (Claude Code, Codex, etc.), install the SkyPilot Skill. Tell your agent:
Fetch and follow https://github.com/skypilot-org/skypilot/blob/HEAD/agent/INSTALL.md to install the skypilot skill
Current supported infra: Kubernetes, Slurm, AWS, GCP, Azure, OCI, CoreWeave, Nebius, Lambda Cloud, RunPod, Fluidstack, Cudo, Digital Ocean, Paperspace, Cloudflare, Samsung, IBM, Vast.ai, VMware vSphere, Seeweb, Prime Intellect, Shadeform, Verda Cloud, VastData, Crusoe.
Install SkyPilot in 1 minute. Then, launch your first cluster in 2 minutes in Quickstart.
SkyPilot is BYOC: Everything is launched within your cloud accounts, VPCs, and clusters.
SkyPilot makes Kubernetes AI-native.
It turbocharges your existing Kubernetes clusters by accelerating AI/ML velocity:
- AI-friendly interface to launch jobs and deployments
- Much simplified interactive dev for K8s (SSH / sync code / connect IDE to pods)
...and optimizing GPU scheduling, utilization, and scaling:
- Advanced scheduling: Gang scheduling, multi-node jobs, and queueing
- Multi-cluster support: Bring all your clusters under one control plane
- Multi-cloud support: One consistent interface to manage many providers
See SkyPilot vs Vanilla Kubernetes and this blog post for more details.
A SkyPilot task specifies: resource requirements, data to be synced, setup commands, and the task commands.
Once written in this unified interface (YAML or Python API), the task can be launched on any available infra (Kubernetes, Slurm, cloud, etc.). This avoids vendor lock-in, and allows easily moving jobs to a different provider.
Paste the following into a file my_task.yaml:
resources:
accelerators: A100:8 # 8x NVIDIA A100 GPU
num_nodes: 1 # Number of VMs to launch
# Working directory (optional) containing the project codebase.
# Its contents are synced to ~/sky_workdir/ on the cluster.
workdir: ~/torch_examples
# Commands to be run before executing the job.
# Typical use: pip install -r requirements.txt, git clone, etc.
setup: |
cd mnist
pip install -r requirements.txt
# Commands to run as a job.
# Typical use: launch the main program.
run: |
cd mnist
python main.py --epochs 1Prepare the workdir by cloning:
git clone https://github.com/pytorch/examples.git ~/torch_examplesLaunch with sky launch (note: access to GPU instances is needed for this example):
sky launch my_task.yamlSkyPilot then performs the heavy-lifting for you, including:
- Find the cheapest & available infra across your clusters or clouds
- Provision the GPUs (pods or VMs), with auto-failover if the infra returned capacity errors
- Sync your local
workdirto the provisioned cluster - Auto-install dependencies by running the task's
setupcommands - Run the task's
runcommands, and stream logs
See Quickstart to get started with SkyPilot.
See SkyPilot examples that cover: development, training, serving, LLM models, AI apps, and common frameworks.
Latest featured examples:
| Task | Examples |
|---|---|
| Training | Verl, Finetune Llama 4, TorchTitan, PyTorch, DeepSpeed, NeMo, Ray, Unsloth, Jax/TPU, OpenRLHF |
| Serving | vLLM, SGLang, Ollama |
| Models | DeepSeek-R1, Llama 4, Llama 3, CodeLlama, Qwen, Kimi-K2, Kimi-K2-Thinking, Mixtral |
| AI apps | RAG, vector databases (ChromaDB, CLIP) |
| Common frameworks | Airflow, Jupyter, marimo |
Source files can be found in llm/ and examples/.
To learn more, see SkyPilot Overview, SkyPilot docs, and SkyPilot blog.
SkyPilot adopters: Testimonials and Case Studies
Partners and integrations: Community Spotlights
Follow updates:
We are excited to hear your feedback:
- For issues and feature requests, please open a GitHub issue.
- For questions, please use GitHub Discussions.
For general discussions, join us on the SkyPilot Slack.
We welcome all contributions to the project! See CONTRIBUTING for how to get involved.
