Hugging Face と SkyPilot のゼロエグレス AI ストレージ統合
Hugging Face and SkyPilot Integration for Zero-Egress AI Storage
Hugging Face と SkyPilot は統合され、AI 開発者が Hugging Face Hub 上にモデルとデータセットを保存しながら、任意のクラウド プロバイダーでコンピュート ワークロードを実行できるようになりました。この統合は、ゼロエグレス ストレージを提供することで「クロスクラウド転送税」を解消し、GPU の場所に関係なく、ユーザーが Hub リポジトリと Buckets を SkyPilot ジョブに直接マウントできるようにします。
複数のクラウドにわたるゼロエグレス ストレージ
クラウド GPU の容量は、ハイパースケーラー、ネオクラウド、オンプレミスなど複数のベンダーに断片化されていることがよくあります。従来、リージョン オブジェクト ストア(AWS S3 など)から異なるクラウドの GPU にデータを移動すると、大きなエグレス料金が発生します(AWS で約 0.09 ドル/GB)。
Hugging Face Storage を使用すると、エグレスや CDN フィーが発生しないため、チームは 20 以上のクラウド、Kubernetes、オンプレミス クラスター全体でモデルとデータセットを単一のソースから読み取ることができます。これにより、各ベンダーのバケットにデータの冗長コピーを維持する必要がなくなり、データの場所に基づいて特定のクラウドにワークロードを「ピン留め」する必要もなくなります。
技術的実装: store: hf と hf://
SkyPilot は now Hugging Face Storage をファーストクラス バックエンドとして store: hf 設定と hf:// URI スキームを通じてサポートします。これにより、Hub の次の 3 種類のアセットをマウントできます:
- Hugging Face Buckets: チェックポイント、ログ、処理済みデータへの読み書きアクセス。
- Model Repositories: モデルの重みへの読み取り専用アクセス。
- Dataset Repositories: データセットへの読み取り専用アクセス。多くの場合、特定のリビジョンにピン留めされます。
マウント モード: MOUNT vs. COPY
- MOUNT:
hf-mountFUSE バックエンドを利用します。アプリケーションが必要とするバイトのみを遅延読み込みし、フル ダウンロードを待たずに GPU がほぼすぐにトレーニングまたは推論を開始できるようにします。MOUNTは繰り返し読み込みのためのオンディスク キャッシュも維持します。 - COPY:
huggingface_hubクライアントを介してアセットを事前にダウンロードし、特別な FUSE 要件は不要です。
認証は、単一の HF_TOKEN を SkyPilot 実行のシークレットとして渡すことで処理され、すべてのクラウド プロバイダーで動作します。
Xet ベースのデデュプリケーションによる効率化
Hugging Face Buckets は Xet 上に構築され、コンテンツ定義チャンク化を使用してファイルを約 64 KB のチャンクに分割します。このアーキテクチャにより、いくつかの効率向上が得られます:
- インクリメンタル チェックポイント: 保存間で変更されたチャンクのみがアップロードされるため、アダプター チェックポイントや凍結レイヤーの転送時間が短縮されます。
- モデル バリアント: ベース モデルとそのファインチューンまたは量子化間で共有されるチャンクは 1 回だけ保存されます。
- データセットの追記: 大きな Parquet ファイルに行を追記するときは、新しいデータのみが転送されます。テストでは、100K 行のテーブルに 10K 行を追記すると、約 106 MB ではなく約 10 MB の転送で済みました。
- 高速な再アップロード: バケットに既に存在する BLOB を再アップロードすると、チャンク ハッシュのみが転送されるため、大幅に高速になります(たとえば、8.43 GB のファイルで 8 秒 vs 24 秒)。
パフォーマンス ベンチマーク
Qwen/Qwen3.5-4B と Multilingual-Thinking データセットを使用したファインチューニング テストでは、以下の結果が観測されました:
- モデルの読み込み: モデルは約 30 秒でトレーニングの準備が完了し、速度は最大で約 500 MB/s に達しました。ゼロエグレス ポリシーにより、AWS、GCP、Lambda のいずれでもコストは発生しません。
- チェックポイントの書き込み: チェックポイント(各 8.43 GB)は、以下のスループットでバケットにストリーミングされました:
| Cloud | GPU | Checkpoint Write Speed |
|---|---|---|
| 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+ が必要です。