如何使用 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。
你可能还需要
暂无推荐