Zum Inhalt springen

SkyPilot - Führe KI-Workloads auf jeder Cloud aus Cheatsheet

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

MethodeBefehl
pippip install "skypilot[all]"
Spezifische Cloudspip install "skypilot[aws,gcp,kubernetes]"
Check Credentialssky check
Überprüfungsky --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
FeldZweck
resources.acceleratorsGPU-Typ und Anzahl (A100:8, H100:4)
use_spotNutze unterbrechbare Instanzen
any_of / orderedKandidaten Clouds/Regionen
workdirLokales Verzeichnis synced zum Cluster
setupLäuft einmal pro Cluster
runDer tatsächliche Job
num_nodesMulti-Node-Training

Kern-Befehle

BefehlBeschreibung
sky launch -c mycluster train.yamlStelle bereit und laufe
sky exec mycluster train.yamlLaufe erneut auf einem existierenden Cluster
sky statusListe Cluster und Kosten auf
sky logs myclusterStream Job-Logs
sky queue myclusterZeige die Job-Queue
sky down myclusterBeende (stopfe Zahlung)
sky stop myclusterStoppt, 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
BefehlZweck
sky jobs launchReiche einen verwalteten Job ein
sky jobs queueListe verwaltete Jobs auf
sky jobs logs -n NAMETail Logs
sky jobs cancel -n NAMEAbbruch

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

MechanismusEffekt
Cross-Cloud-SucheWählt die billigste passende Option
use_spot: trueOft 60–90% billiger
sky show-gpusAktuelle Preise/Verfügbarkeit nach Cloud
Autostopsky autostop -i 10 mycluster beendet untätige Cluster
sky downDie 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ähigkeitAnmerkung
Existierende Clustercloud: kubernetes zielt auf dein eigenes K8s
GemischtKombiniere On-Prem K8s mit Cloud-Burst
GPU-SchedulingVerwendet Standard K8s GPU-Ressourcen
Keine Cloud-Anmeldedaten erforderlichFür reine On-Prem-Nutzung

SkyPilot vs Alternativen

AspektSkyPilotRayCloud-native (SageMaker/Vertex)
Multi-CloudKern-FunktionMöglich, manuellSingle Vendor
Spot-WiederherstellungBuilt-InManuellVariiert
Lock-inKeine (Plain YAML)FrameworkHoch
Bestes fürBilligste GPUs überallVerteilte Python-AppsTiefe Single-Cloud-Integration

Paare mit Training-Stacks wie Axolotl, TorchTitan und Bedienung via vLLM.

Ressourcen