콘텐츠로 이동

SkyPilot - 모든 클라우드에서 AI 워크로드 실행 치트시트

SkyPilot - 모든 클라우드에서 AI 워크로드 실행 치트시트

SkyPilot는 모든 클라우드 또는 Kubernetes 클러스터에서 단일 YAML 정의에서 AI 및 배치 워크로드를 실행합니다. LLM 작업을 위한 그것의 핵심 가치는 경제적입니다: GPU 가용성 및 가격은 제공자와 지역에 따라 매우 다르며, SkyPilot는 요구사항을 만족하는 가장 저렴한 사용 가능 용량을 자동으로 찾고, 제공하고, 코드를 동기화하고, 작업을 실행하고, 모든 것을 철거합니다. 또한 스팟 인스턴스 선점을 자동 복구로 처리하여 저렴한 중단 가능 GPU를 긴 훈련 실행에 실용적으로 만듭니다.

설치

방법명령어
pippip install "skypilot[all]"
특정 클라우드pip install "skypilot[aws,gcp,kubernetes]"
자격증명 확인sky check
확인sky --version

sky check은 어느 클라우드에 자격증명이 있는지 보고합니다 — SkyPilot은 오직 그것들만 고려합니다.

작업 정의

# 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
필드목적
resources.acceleratorsGPU 타입 및 개수 (A100:8, H100:4)
use_spot중단 가능 인스턴스 사용
any_of / ordered후보 클라우드/지역
workdir클러스터로 동기화된 로컬 디렉터리
setup클러스터당 한 번 실행
run실제 작업
num_nodes다중 노드 훈련

핵심 명령어

명령어설명
sky launch -c mycluster train.yaml제공 및 실행
sky exec mycluster train.yaml기존 클러스터에서 다시 실행
sky status클러스터 및 비용 나열
sky logs mycluster작업 로그 스트림
sky queue mycluster작업 큐 표시
sky down mycluster종료 (지불 중지)
sky stop mycluster중지하지만 디스크 유지

관리형 작업 (복구와 함께 스팟)

# 스팟 인스턴스에서 긴 훈련 실행, 선점에 자동 복구
sky jobs launch -n llama-sft train.yaml
명령어목적
sky jobs launch관리형 작업 제출
sky jobs queue관리형 작업 나열
sky jobs logs -n NAME로그 꼬리
sky jobs cancel -n NAME취소

관리형 작업은 스팟 GPU를 훈련에 사용 가능하게 만드는 기능입니다: 선점에 SkyPilot은 다른 곳에 다시 제공하고 체크포인트에서 재개하므로 다중 일 실행은 중단에 생존합니다.

비용 최적화

메커니즘효과
크로스 클라우드 검색가장 저렴한 매칭 옵션 선택
use_spot: true종종 60-90% 저렴
sky show-gpus현재 가격/클라우드별 가용성
Autostopsky autostop -i 10 mycluster 유휴 클러스터 종료
sky down가장 중요한 습관 — 유휴 GPU가 주요 낭비
# 어느 A100 용량이 존재하고 어느 가격에서?
sky show-gpus A100

모델 제공

# 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는 복제본, 상태 검사, 클라우드 전체 자동 스케일을 추가합니다 — vLLM로 가장 저렴한 사용 가능 GPU에 제공할 때 유용합니다.

Kubernetes 백엔드

기능참고
기존 클러스터cloud: kubernetes 자신의 K8s를 대상
혼합온프레미스 K8s와 클라우드 버스트 결합
GPU 스케줄링표준 K8s GPU 리소스 사용
클라우드 자격증명 필요 없음순수 온프레미스 사용

SkyPilot vs 대안

측면SkyPilotRay클라우드 원어민 (SageMaker/Vertex)
다중 클라우드핵심 기능가능, 수동단일 제공자
스팟 복구빌트인수동다양함
잠금없음 (평문 YAML)프레임워크높음
최적 대상어디서나 가장 저렴한 GPU분산 Python 앱심층 단일 클라우드 통합

Axolotl, TorchTitan과 같은 훈련 스택 및 vLLM를 통한 제공과 페어링합니다.

리소스