如何使用 Hugging Face Jobs 在云端运行 AI 任务

解决本地算力不足或环境配置复杂的问题:通过 Hugging Face Jobs 直接在云端部署 Python 脚本或 Docker 容器,实现大规模数据处理、批量推理和模型训练,并能将结果自动持久化到 Hub。

为什么需要这个技能

在进行 AI 开发时,本地 GPU 显存不足、环境依赖冲突或需要长时间运行的大规模任务(如处理数万条数据集)是常见痛点。

Hugging Face Jobs 提供了全托管的基础设施,允许用户无需配置本地环境,直接调用云端 CPU、GPU 或 TPU。结合 uv 脚本的高效依赖管理,开发者可以快速提交任务,并在任务结束前将结果推送到 Hugging Face Hub,避免临时环境被销毁导致的数据丢失。

适用场景

  • 大规模数据处理:对数 GB 级别的数据集进行清洗、过滤或分析。
  • 批量推理(Batch Inference):使用 vLLM 等框架对数千个样本进行模型预测。
  • 合成数据生成:利用 LLM 通过 Self-Instruct 等方法生成训练数据集。
  • 模型微调与基准测试:在无需本地 GPU 的情况下运行 ML 实验。
  • 定时任务自动化:通过 CRON 表达式定期运行数据同步或监控脚本。

核心工作流

1. 选择运行模式

  • UV 脚本模式(推荐):适用于 Python 任务。在脚本头部使用 PEP 723 注释声明依赖,AI 将直接提交内联代码。
  • Docker 容器模式:适用于非 Python 任务或需要特定复杂环境的镜像。

2. 配置硬件与超时

根据任务规模选择 flavor(如 cpu-basic 用于简单任务,a10g-large 用于中型模型,a100-large 用于超大模型)。务必根据预估时间设置 timeout(默认 30 分钟),防止长任务被强制终止。

3. 处理认证与持久化(关键)

由于 Job 环境是临时(Ephemeral)的,任务结束即删除。

  • 认证:在 secrets 中传递 {"HF_TOKEN": "$HF_TOKEN"} 以获得 Hub 读写权限。
  • 持久化:在脚本末尾调用 push_to_hub 将模型或数据集上传至 Hugging Face Hub。

4. 提交与监控

使用 hf_jobs 工具提交后,记录 job_id。可以通过 hf_jobs("ps") 查看状态或访问 Hugging Face 提供的监控 URL 查看实时日志。

# 示例:提交一个简单的 UV 脚本任务
hf_jobs("uv", {
    "script": """
# /// script
# dependencies = ["transformers", "torch"]
# ///
from transformers import pipeline
classifier = pipeline("sentiment-analysis")
print(classifier("I love Hugging Face Jobs!"))
""",
    "flavor": "cpu-basic",
    "timeout": "15m"
})

下载和安装

下载 hugging-face-jobs 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐