Hugging Face와 SkyPilot 통합으로 제로 이그레스 AI 스토리지
Hugging Face와 SkyPilot 통합으로 제로 이그레스 AI 스토리지
Hugging Face와 SkyPilot이 통합되어 AI 개발자가 Hugging Face Hub에 모델과 데이터셋을 저장하면서 어떤 클라우드 공급자에서도 컴퓨팅 워크로드를 실행할 수 있게 되었습니다. 이 통합은 제로 이그레스 스토리지를 제공함으로써 '크로스 클라우드 전송 세금'을 제거하며, GPU가 위치한 위치에 관계없이 사용자가 Hub 리포지토리와 버킷을 SkyPilot 작업에 직접 마운트할 수 있도록 합니다.
다중 클라우드에서의 제로 이그레스 스토리지
클라우드 GPU 용량은 하이퍼스케일러, 네오클라우드, 온프레미스 등 여러 공급자에 걸쳐 종종 조각화되어 있습니다. 전통적으로, 지역 객체 스토어(AWS S3 등)에서 다른 클라우드의 GPU로 데이터를 이동할 때 상당한 이그레스 요금이 발생합니다(AWS 기준 약 $0.09/GB).
이그레스 또는 CDN 요금이 없는 Hugging Face Storage를 사용하면 팀은 20+ 클라우드, Kubernetes, 온프레미스 클러스터 전반에 걸쳐 단일 소스에서 모델과 데이터셋을 읽을 수 있습니다.これにより、每个供应商的存储桶之间数据的冗余副本을 유지할 필요가 없어지고, 데이터가 위치한 곳에 따라 특정 클라우드로 워크로드가 '핀ning'되는 것을 방지합니다.
기술적 구현: store: hf and hf://
SkyPilot은 이제 store: hf 구성과 hf:// URI 스키마를 통해 Hugging Face Storage를 일급 백엔드로 지원합니다.これにより, 허브 자산 세 가지 유형을 마운트할 수 있습니다:
- Hugging Face Buckets: 읽기-쓰기 액세스를 체크포인트, 로그, 처리된 데이터에 제공합니다.
- Model Repositories: 모델 가중치에 대한 읽기 전용 액세스
- Dataset Repositories: 데이터셋에 대한 읽기 전용 액세스, 종종 특정 리비전에 고정됨
마운트 모드: MOUNT vs. COPY
- MOUNT: Utilizes the
hf-mountFUSE backend. It performs lazy reads, pulling only the bytes required by the application. This allows GPUs to begin training or inference almost immediately without waiting for a full download.MOUNTalso maintains an on-disk cache for repeat reads. - COPY: Downloads the assets via the
huggingface_hubclient upfront, requiring no special FUSE requirements.
인증은 단일 HF_TOKEN을 SkyPilot 실행에 시크릿으로 전달하여 처리되며, 이는 모든 클라우드 공급자에서 작동합니다.
효율을 위한 Xet 기반 중복 제거
Hugging Face 버킷은 Xet 위에 구축되어 있으며, Xet은 콘텐츠-정의 청킹을 사용하여 파일을 약 64 KB 청크로 나눕니다.このアーキテクチャはいくつかの効率向上を提供します:
- Incremental Checkpoints: 저장 사이에 변경된 청크만 업로드되어 어댑터 체크포인트 또는 동결된 레이어의 전송 시간이 단축됩니다.
- Model Variants: 기본 모델과 그 파인튜닝 또는 양자화 간에 공유되는 청크는 한 번만 저장됩니다.
- Dataset Appends: 큰 Parquet 파일에 행을 추가할 때 새로운 데이터만 전송됩니다. 테스트에서 100K 행 테이블에 10K 행을 추가할 때 약 10 MB가 전송되었고, 약 106 MB가 아닌 경우였습니다.
- Fast Re-uploads: 버킷에 이미 존재하는 blob을 재업로드할 때 청크 해시만 전송되므로 znacz히 빠릅니다(예: 8.43 GB 파일의 경우 8초 vs 24초).
성능 벤치마크
Qwen/Qwen3.5-4B와 Multilingual-Thinking 데이터셋을 사용한 파인튜닝 테스트에서 다음과 같은 결과가 관찰되었습니다:
- Model Loading: 모델은 약 30초 안에 훈련 준비가 되었으며, 속도는 초당 ~500 MB까지 도달했습니다. 제로 이그레스 정책 덕분에 AWS, GCP, Lambda에서 비용이 발생하지 않았습니다.
- Checkpoint Writing: 각 8.43 GB의 체크포인트가 다음과 같은 처리량으로 버킷에 스트리밍되었습니다:
| 클라우드 | GPU | 체크포인트 쓰기 속도 |
|---|---|---|
| AWS (us-east-2) | L40S | ~168 MB/s |
| GCP (us-central1) | L4 | ~123 MB/s |
| Lambda (us-west-3) | H100 | ~112 MB/s |
시작하기
이 통합을 사용하려면 사용자는 필요한 패키지를 설치할 수 있습니다:
pip install "skypilot[huggingface]"
사용자는その後 hf auth login을 사용하거나 HF_TOKEN 환경 변수를 내보내어 인증해야 합니다. MOUNT 모드의 경우, 기본 이미지는 /dev/fuse와 glibc 2.34 이상을 가져야 합니다.