前途科技前途科技
  • 洞察
  • 服务
  • 关于
  • AI 资讯
    • 快讯
    • 产品
    • 技术
    • 商业
    • 政策
    • 初创
  • 洞察
  • 资源中心
    • 深度研究
      • AI 前沿
      • 案例研究
      • AI 知识库
    • 行业报告
      • 白皮书
      • 行业报告
      • 研究报告
      • 技术分享
      • 专题报告
    • 精选案例
      • 金融行业
      • 医疗行业
      • 教育行业
      • 零售行业
      • 制造行业
  • 服务
  • 关于
联系我们

SkyPilot 联合 Hugging Face:零出站流量跨云运行 AI 工作负载

产品2026年7月6日· 原作者:Hugging Face· 8 分钟阅读0 阅读

Hugging Face 与 SkyPilot 合作,让用户可以在任何云上运行 AI 工作负载,数据直接挂载 Hugging Face Hub,无需支付跨云出站流量费用。只需一个 `hf://` URL 和现有 `HF_TOKEN`,即可在 20 多个云平台、Kubernetes 等集群上读写模型、数据集和检查点。支持延迟挂载、Xet 去重,大幅降低多云架构下的存储成本。

对于大多数团队来说,模型和数据集通常存放在某个云厂商某个区域的存储桶中。而开发、训练或推理所需的 GPU,却越来越多地分布在不同的云上。一旦数据和计算分离,你就得为读取自己的数据到自己的 GPU 支付跨云传输费用。

现在,Hugging Face 与 SkyPilot 联手解决了这个问题:你的模型和数据集存放在 Hugging Face Hub 上,SkyPilot 负责计算(开发、训练或推理),可以运行在任何有 GPU 的集群上。只需一个 hf:// URL 和你已有的 HF_TOKEN,就能将 Hugging Face 存储桶或 Hub 仓库挂载到 SkyPilot 任务中,然后选择有空闲容量的云平台启动。Hugging Face 不收取出站流量费,因此在任何云上读取你的数据都不花钱。

以下是本次更新的核心功能:

  • Hub 数据可在任何任务中使用。store: hf 可将 Hugging Face 存储桶(读写)或模型/数据集/Space 仓库(只读)挂载到 SkyPilot 任务中,使用 hf:// URL 和你的 HF_TOKEN,支持 MOUNT(挂载)或 COPY(复制)模式。
  • 在任何 GPU、任何云上运行。SkyPilot 可在 20 多个云平台、Kubernetes、Slurm 及本地集群上调度任务,同一个任务可以利用你预留或按需的任意 GPU。
  • 读取数据无出站费用。Hugging Face 存储不收取出站或 CDN 费用,因此无论 SkyPilot 将任务调度到何处,都直接从同一个存储桶读取模型和数据集,无需在每个云上保留副本,也无出站账单。
  • 基于 Xet 的去重。存储桶基于 Xet 构建,增量检查点和模型变体仅存储和传输发生变化的块。
  • 联合构建。Hugging Face 和 SkyPilot 共同开发了此功能,Hugging Face 团队还将 hf-mount 的 FUSE 修复代码上游贡献,使其能在无特权容器中工作。

Hugging Face 存储成为 SkyPilot 一级后端

SkyPilot 任务已经可以通过挂载本地路径的方式读写云对象存储(S3、GCS、Azure、R2 等)。现在 Hugging Face 存储也加入了这个行列,以 store: hf 形式通过 hf:// 协议访问:

file_mounts:
  # Hugging Face 存储桶,读写模式,用于检查点、日志、处理后数据
  /checkpoints:
    source: hf://buckets/my-org/qwen-sft
    store: hf
    mode: MOUNT # 或 COPY
  # 模型仓库,只读挂载
  /base-model:
    source: hf://Qwen/Qwen3.5-4B
    store: hf
    mode: MOUNT
  # 数据集仓库,固定版本,只读
  /data:
    source: hf://datasets/my-org/my-dataset@main
    store: hf
    mode: MOUNT

这个 hf:// 协议覆盖了完整工作流:从仓库读取模型和数据集,训练时将检查点写入存储桶,将完成的模型发布回仓库,推理时再将模型拉取到推理服务器。大多数团队已经将模型和数据集保存在 Hub 上,因此无需迁移步骤,也无需创建新的存储账户。

MOUNT 模式使用 Hugging Face 的 hf-mount FUSE 后端,存储桶或仓库会像本地路径一样出现在 SkyPilot 的其他 FUSE 挂载点旁边(如 gcsfuse、blobfuse2、rclone、goofys)。数据获取发生在文件系统层:当你的代码发出 read() 调用时,驱动仅从 Xet 后端拉取实际读取的字节,因此只有你真正访问的数据才会通过网络传输。hf-mount 还会在磁盘上保留缓存,以便重复读取时直接使用本地副本。对于 hf 存储,MOUNT 和 MOUNT_CACHED 行为相同,都会保留缓存。

由于读取是延迟进行的,进程可以在完整文件下载完成前就开始处理大型文件,无需等待完全复制。这样 GPU 几乎可以立即开始工作,在数据流式进入时进行训练,而不是空闲等待(同时计费)。这在第一个 epoch 中效果最明显,当时还没有缓存。COPY 模式则通过 huggingface_hub 预先下载,没有特殊要求。

身份验证使用你已有的令牌。在环境中设置 HF_TOKEN,并通过 --secret HF_TOKEN 传递给任务;SkyPilot 会在任务运行的任何云上使用此令牌进行挂载。同一令牌在 AWS、GCP、Azure、Nebius、Lambda 或你自己的 Kubernetes 集群上均可使用,无需管理每个云各自的存储桶密钥。

无出站流量:存储不再决定你的计算地点

如今 GPU 容量很少来自单一地点。为了获得足够的 H100 和 H200,团队需要在多个供应商处持有预留和已承诺容量(超大规模云上的块、新云上的集群,可能还有本地机架),然后在有分配的地方运行。SkyPilot 正是为此而生:一个任务规范,可在 20 多个云平台、Kubernetes 和本地集群间调度,降落在任何空闲的预留集群上。

对象存储一直是瓶颈。对象存储是区域性的且每个云独立,因此要为不同供应商数据中心中的 GPU 或推理服务器提供数据,要么在每个供应商的存储桶中都保留一份数据副本,要么付费拉取。大多数云在数据离开其网络时收取出站费用(例如 AWS 约 0.09 美元/GB),有时同一云内部跨区域也会收费。将基础模型拉取到每个推理节点,或在另一个云的集群上迭代多个 epoch 的数据集,都会在已预留的 GPU 之外增加高昂的账单。团队最终将每个任务固定到持有数据的供应商,而让其他容量闲置。

Hugging Face 存储消除了读操作的这一成本。由于不收取出站或 CDN 费用,存储价格为 12-18 美元/TB/月(而 AWS S3 约 23 美元/TB 外加出站费用),同一个存储桶可从所有集群访问,无论 GPU 在何处运行,读取都是免费的。写回操作仍然需要计算云的正常出站费用(与任何外部存储一样),但对于大多数 AI 工作来说,读取占主导地位:数据集流式传输多个 epoch,或模型权重被拉取到每个新的训练或推理节点。因此,你不再需要将每个任务固定到持有数据副本的供应商。

快速基准测试

为了收集一些基准数字,我们运行了一个小型微调:使用 Qwen/Qwen3.5-4B 模型和 HuggingFaceH4/Multilingual-Thinking 数据集,通过 TRL 的 SFTTrainer 进行微调。模型从 Hub 仓库只读挂载,每个检查点写入 Hugging Face 存储桶。同一个 SkyPilot YAML 在 AWS、GCP 和 Lambda 上运行,只更改 --infra 参数。SkyPilot 将每个任务放置到有空闲 GPU 的地方,所有三个云都读写同一个存储桶。

我们测量的结果:

  • 模型在每个云上免费加载。延迟读取只拉取 from_pretrained 触及的内容,因此大约 30 秒即可开始训练(速度可达约 500 MB/s)。由于 Hugging Face 不收取出站费用,这次拉取成本为零;如果模型存放在 S3 中,每次从另一个云读取 GPU 都会被收取约 0.09 美元/GB 的出站费用。
  • 检查点直接流式写入存储桶,速度可达约 170 MB/s(每次写入 8.43 GB 权重),并且持久保存,不受 GPU 实例生命周期影响。

各云检查点写入速度:

云平台GPU检查点写入速度
AWS (us-east-2)L40S~168 MB/s
GCP (us-central1)L4~123 MB/s
Lambda (us-west-3)H100~112 MB/s

Xet 存储:检查点和模型变体的去重

Hugging Face 存储桶基于 Xet 构建,Xet 使用内容定义的分块将文件分割成约 64 KB 的块,每个唯一块只存储一次。由于边界跟随内容,编辑只更改它触及的块,其余块会被识别为已存储。这在以下场景中效果显著:

  • 增量检查点和适配器检查点。当你冻结层、训练适配器或以其他方式在保存之间保留大部分权重不变时,只有更改的块会上传,而不是整个检查点。
  • 共享基础模型的变体。一个基础模型的微调和量化版本有大量重叠,因此共享块在所有版本中只存储一次。
  • 追加数据集。像对话轨迹或推理输出这样的日志通过向大型 Parquet 文件追加行来增长。现有行组保持字节相同,因此只传输新行:在 Hugging Face 的测试中,向一个 100K 行的表追加 10K 行只移动了大约 10 MB,而不是完整的约 106 MB。(如果原地编辑或删除行,请使用 use_content_defined_chunking=True 以保持更改局部性。)
  • 重新上传跳过已存储的内容。在我们的测试中,重新上传存储桶中已有的 8.43 GB blob 大约需要 8 秒,而首次上传需要 24 秒,因为只移动了块哈希。同样的机制允许服务器端 hf buckets cp 在仓库和存储桶之间通过引用复制,而不是重新上传字节。

能节省多少取决于你的工件重叠程度,但去重是自动的:你照常写入检查点,只有新的块会离开机器。

快速入门

pip install "skypilot[huggingface]"
hf auth login  # 或:export HF_TOKEN=<your-token>

在任何 SkyPilot 任务中添加 hf:// 挂载点并启动。MOUNT 模式需要基础镜像支持 glibc 2.34+ 和 /dev/fuse。

合作构建:Hugging Face 和 SkyPilot

最初的 store: hf 支持来自 Nikhil Jha 的贡献。Hugging Face 团队进一步完善并上游了 hf-mount 的 FUSE 修复,使其能在无特权容器中挂载(许多 Kubernetes 集群的默认配置)。SkyPilot 团队将其集成到存储后端。整个过程都是开源的:SkyPilot、Hugging Face 的 hf-mount 以及 huggingface_hub 客户端。

资源

  • SkyPilot 存储文档
  • Hugging Face 存储桶指南
  • hf-mount
  • Xet:内容定义分块与去重
  • SkyPilot Slack 社区

原文链接:Hugging Face
本文由前途科技编辑整理

标签:Hugging Face多云存储

想了解 AI 如何助力您的企业?

免费获取企业 AI 成熟度诊断报告,发现转型机会

//

24小时热榜

联合国秘书长呼吁禁止“杀手机器人”
TOP1

联合国秘书长呼吁禁止“杀手机器人”

博通与苹果延长芯片合作至2031年
TOP2

博通与苹果延长芯片合作至2031年

3

牛津大学研究:AI工具注入社交媒体偏见

22小时前
牛津大学研究:AI工具注入社交媒体偏见
4

热浪侵袭美国电网 数据中心被令启用备用电源

7小时前
热浪侵袭美国电网 数据中心被令启用备用电源
5

印度调查塔塔数据泄露致iPhone 18 Pro机密外泄

3小时前
印度调查塔塔数据泄露致iPhone 18 Pro机密外泄
6

折叠iPhone上市或遇供应短缺

22小时前
折叠iPhone上市或遇供应短缺
7

三星量产Nvidia Vera Rubin平台SSD

3小时前
三星量产Nvidia Vera Rubin平台SSD
8

天问二号飞行10亿公里抵达小行星

22小时前
天问二号飞行10亿公里抵达小行星
热门标签
大模型AgentRAG微调私有化部署Prompt EngineeringChatGPTClaudeDeepSeek智能客服知识管理内容生成代码辅助数据分析金融零售制造医疗教育AI 战略数字化转型ROI 分析OpenAIAnthropicGoogle

关注公众号

前途科技微信公众号

扫码关注,获取最新 AI 资讯

免费获取 AI 落地指南

3 步完成企业诊断,获取专属转型建议

已有 200+ 企业完成诊断

前途科技前途科技
服务关于快讯技术商业报告
前途科技微信公众号

微信公众号

扫码关注

Copyright © 2026 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。|京ICP备17045010号-1|京公网安备 11010502033860号|隐私政策|服务条款