Aller au contenu

SkyPilot - Exécuter les Charges de Travail IA sur N'importe quel Cloud

SkyPilot - Exécuter les Charges de Travail IA sur N’importe quel Cloud

SkyPilot exécute les charges de travail IA et batch sur n’importe quel cloud ou cluster Kubernetes à partir d’une seule définition YAML. Sa valeur centrale pour le travail LLM est économique : la disponibilité et la tarification des GPU varient énormément d’un fournisseur et d’une région à l’autre, et SkyPilot trouve automatiquement la capacité disponible la moins chère qui répond à vos exigences, la provisionne, synchronise votre code, exécute le travail et tout démonte. Il gère également la préemption d’instance spot avec récupération automatique, ce qui rend les GPU interruptibles bon marché pratiques pour les longs travaux d’entraînement.

Installation

MéthodeCommande
pippip install "skypilot[all]"
Clouds spécifiquespip install "skypilot[aws,gcp,kubernetes]"
Vérifier les credentialssky check
Vérifiersky --version

sky check signale quels clouds ont des credentials fonctionnels — SkyPilot ne considère que ceux-ci.

Définition d’une Tâche

# 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
ChampObjectif
resources.acceleratorsType et nombre de GPU (A100:8, H100:4)
use_spotUtiliser les instances interruptibles
any_of / orderedClouds/régions candidats
workdirRépertoire local synchronisé au cluster
setupExécuter une fois par cluster
runLe travail réel
num_nodesEntraînement multi-nœud

Commandes Principales

CommandeDescription
sky launch -c mycluster train.yamlProvisionner et exécuter
sky exec mycluster train.yamlExécuter à nouveau sur un cluster existant
sky statusLister les clusters et les coûts
sky logs myclusterDiffuser les logs des travaux
sky queue myclusterAfficher la file d’attente des travaux
sky down myclusterTerminer (arrêter de payer)
sky stop myclusterArrêter mais garder le disque

Travaux Gérés (Spot avec Récupération)

# Long travail d'entraînement sur les instances spot, auto-récupéré en cas de préemption
sky jobs launch -n llama-sft train.yaml
CommandeObjectif
sky jobs launchSoumettre un travail géré
sky jobs queueLister les travaux gérés
sky jobs logs -n NAMEAfficher les logs
sky jobs cancel -n NAMEAnnuler

Les travaux gérés sont la fonctionnalité qui rend les GPU spot utilisables pour l’entraînement : en cas de préemption, SkyPilot reprovisionne ailleurs et reprend depuis votre point de contrôle, pour qu’un travail multi-jour survive aux interruptions.

Optimisation du Coût

MécanismeEffet
Recherche inter-cloudChoisit l’option la moins chère correspondante
use_spot: trueSouvent 60–90% moins cher
sky show-gpusPrix/disponibilité actuels par cloud
Autostopsky autostop -i 10 mycluster termine les clusters inactifs
sky downL’habitude la plus importante — les GPU inactifs sont le principal gaspillage
# Quelle capacité A100 existe et à quel prix ?
sky show-gpus A100

Servir des Modèles

# 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 ajoute les réplicas, les checks de santé et l’autoscaling sur les clouds — utile pour servir avec vLLM sur les GPU les moins chers disponibles.

Backend Kubernetes

CapacitéNote
Clusters existantscloud: kubernetes cible votre propre K8s
MixteCombiner K8s on-prem avec cloud burst
Planification GPUUtilise les ressources GPU Kubernetes standard
Pas de credentials cloudPour l’utilisation on-prem pure

SkyPilot vs Alternatives

AspectSkyPilotRayCloud-native (SageMaker/Vertex)
Multi-cloudFonctionnalité centralePossible, manuelFournisseur unique
Récupération spotIntégréeManuelVarie
EnfermementAucun (YAML simple)FrameworkÉlevé
Meilleur pourGPU les moins chers partoutApps Python distribuéesIntégration profonde mono-cloud

S’associe à des piles d’entraînement comme Axolotl, TorchTitan et la mise à disposition via vLLM.

Ressources