SkyPilot - Führe KI-Workloads auf jeder Cloud aus Cheatsheet
SkyPilot führt KI und Batch-Workloads auf jeder Cloud oder Kubernetes-Cluster aus einer einzelnen YAML-Definition aus. Sein Kernwert für LLM-Arbeit ist wirtschaftlich: GPU-Verfügbarkeit und Preise variieren wild über Provider und Regionen, und SkyPilot findet automatisch die billigsten verfügbaren Kapazität, die deine Anforderungen erfüllt, bereitete sie, synchronisiert deinen Code, läuft den Job und reißt alles ab. Es handhabt auch Spot-Instanz-Unterbrechungen mit automatischer Wiederherstellung, was billige unterbrechbare GPUs praktisch für lange Training-Läufe macht.
Installation
| Methode | Befehl |
|---|
| pip | pip install "skypilot[all]" |
| Spezifische Clouds | pip install "skypilot[aws,gcp,kubernetes]" |
| Check Credentials | sky check |
| Überprüfung | sky --version |
sky check berichtet, welche Clouds du funktionierend Anmeldedaten für hast — SkyPilot berücksichtigt nur diese.
Definiere eine Aufgabe
# train.yaml
resources:
accelerators: A100:8
use_spot: true
any_of:
- cloud: aws
- cloud: gcp
- cloud: kubernetes
num_nodes: 1
workdir: .
setup: |
pip install -r requirements.txt
run: |
torchrun --nproc_per_node=8 train.py --config configs/7b.yaml
| Feld | Zweck |
|---|
resources.accelerators | GPU-Typ und Anzahl (A100:8, H100:4) |
use_spot | Nutze unterbrechbare Instanzen |
any_of / ordered | Kandidaten Clouds/Regionen |
workdir | Lokales Verzeichnis synced zum Cluster |
setup | Läuft einmal pro Cluster |
run | Der tatsächliche Job |
num_nodes | Multi-Node-Training |
Kern-Befehle
| Befehl | Beschreibung |
|---|
sky launch -c mycluster train.yaml | Stelle bereit und laufe |
sky exec mycluster train.yaml | Laufe erneut auf einem existierenden Cluster |
sky status | Liste Cluster und Kosten auf |
sky logs mycluster | Stream Job-Logs |
sky queue mycluster | Zeige die Job-Queue |
sky down mycluster | Beende (stopfe Zahlung) |
sky stop mycluster | Stoppt, aber halte die Disk |
Managed Jobs (Spot mit Wiederherstellung)
# Langer Training-Lauf auf Spot-Instanzen, auto-recovered bei Unterbrechung
sky jobs launch -n llama-sft train.yaml
| Befehl | Zweck |
|---|
sky jobs launch | Reiche einen verwalteten Job ein |
sky jobs queue | Liste verwaltete Jobs auf |
sky jobs logs -n NAME | Tail Logs |
sky jobs cancel -n NAME | Abbruch |
Verwaltete Jobs sind die Funktion, die Spot-GPUs zum Training nutzbar macht: bei Unterbrechung stellt SkyPilot woanders bereit und setzt von deinem Checkpoint fort, sodass ein Multi-Tag-Lauf Unterbrechungen übersteht.
Kostenoptimierung
| Mechanismus | Effekt |
|---|
| Cross-Cloud-Suche | Wählt die billigste passende Option |
use_spot: true | Oft 60–90% billiger |
sky show-gpus | Aktuelle Preise/Verfügbarkeit nach Cloud |
| Autostop | sky autostop -i 10 mycluster beendet untätige Cluster |
sky down | Die wichtigste Gewohnheit — untätige GPUs sind die Hauptverschwendung |
# Welche A100-Kapazität existiert und zu welchem Preis?
sky show-gpus A100
Serve Models
# serve.yaml
service:
readiness_probe: /v1/models
replicas: 2
resources:
accelerators: A100:1
ports: 8000
run: |
vllm serve meta-llama/Llama-3.1-8B-Instruct --port 8000
sky serve up -n llm-api serve.yaml
sky serve status
SkyServe fügt Replicas, Health-Checks und Autoscaling über Clouds — nützlich zum Bedienen mit vLLM auf den billigsten verfügbaren GPUs.
Kubernetes-Backend
| Fähigkeit | Anmerkung |
|---|
| Existierende Cluster | cloud: kubernetes zielt auf dein eigenes K8s |
| Gemischt | Kombiniere On-Prem K8s mit Cloud-Burst |
| GPU-Scheduling | Verwendet Standard K8s GPU-Ressourcen |
| Keine Cloud-Anmeldedaten erforderlich | Für reine On-Prem-Nutzung |
SkyPilot vs Alternativen
| Aspekt | SkyPilot | Ray | Cloud-native (SageMaker/Vertex) |
|---|
| Multi-Cloud | Kern-Funktion | Möglich, manuell | Single Vendor |
| Spot-Wiederherstellung | Built-In | Manuell | Variiert |
| Lock-in | Keine (Plain YAML) | Framework | Hoch |
| Bestes für | Billigste GPUs überall | Verteilte Python-Apps | Tiefe Single-Cloud-Integration |
Paare mit Training-Stacks wie Axolotl, TorchTitan und Bedienung via vLLM.
Ressourcen