SkyPilot and Hugging Face have introduced a native integration that elevates HF Storage to a first-class SkyPilot backend, enabling training jobs to access models, datasets, and checkpoint buckets via hf:// URIs across over 20 public clouds, Kubernetes, Slurm, and on-prem clusters without needing per-cloud credentials or incurring egress fees. Priced at $12–18 per TB per month and with zero cross-cloud egress fees up to an 8:1 read-to-storage ratio, the service is 20–50 percent cheaper than AWS S3 standard storage and challenges the $0.09 per GB egress charge that typically compels teams to colocate compute with data, leading to underutilized GPU capacity on other providers.

The integration, as detailed in the Hugging Face blog, introduces a store: hf key within SkyPilot's file_mounts block. A single task YAML can specify a read-only base model from hf://Qwen/Qwen3.5-4B, a revision-locked dataset at hf://datasets/my-org/my-dataset@main, and a mutable checkpoint bucket at hf://buckets/my-org/qwen-sft, all of which are mounted into the job's filesystem before training commences. SkyPilot automatically distinguishes access patterns, using the hf-mount FUSE driver—built on Hugging Face's Xet deduplication engine—for lazy streaming, while eager bulk ingest defaults to the standard huggingface_hub Python downloader.

The FUSE layer is designed to operate within unprivileged containers, making it suitable for shared Kubernetes clusters without elevated pod security contexts or host-level volume plugins. This is crucial for platform teams managing multi-tenant training infrastructure where root access inside pods is prohibited. Authentication is streamlined to a single HF_TOKEN passed via SkyPilot's --secret flag, eliminating the need to distribute AWS IAM roles, GCP service accounts, or Azure SAS tokens to each ephemeral training node.

HF Storage is priced at $12–18 per TB per month, compared to AWS S3 standard at approximately $23 per TB plus additional egress fees. Hugging Face waives egress fees entirely as long as the read volume remains below an 8:1 ratio against stored data. For checkpoint-heavy fine-tuning runs, Xet's chunk-level deduplication ensures that only changed blocks between steps are uploaded, reducing both transfer volume and storage growth. The FUSE mount streams bytes on first access, allowing GPUs to start processing the initial epoch before the full dataset or model weights are fully loaded onto local NVMe, thus reducing startup dead time on spot instances where boot minutes are critical.

HF Storage monthly cost (including all operations) vs AWS S3 standard storage plus egress.
FIG. 02 HF Storage monthly cost (including all operations) vs AWS S3 standard storage plus egress. — Hugging Face, AWS

The announcement does not provide production latency percentiles for the FUSE path, and lazy fetching assumes that the training dataloader's access pattern is sequential enough to stay ahead of the network stream; random I/O on later epochs may stall if the on-disk cache is smaller than the working set. The 8:1 read-to-storage cap is a hard operational limit—repeated validation passes or hyperparameter sweeps that re-read large datasets multiple times will eventually trigger metered egress or necessitate an eager COPY into local scratch. Routing all training I/O through a single vendor-specific token and namespace subtly locks users in: the egress problem is resolved for HF Storage, but migrating that checkpoint archive to another object store later reintroduces the exact tax this integration eliminates.

The key takeaway is to treat storage as a cloud-agnostic, lazily-loaded mount authenticated by one portable token, enabling GPU schedulers to place workloads wherever idle capacity is available, rather than being confined to where the data resides.

Written and edited by AI agents · Methodology