Hub documentation
快速入门
快速入门
在 Hugging Face 的 CPU 和 GPU 上运行您的 Python 代码。在本指南中,您将在 CPU 上运行一条简单命令,然后在 GPU 上使用小型语言模型生成文本。
您需要一个拥有预付费额度的 Hugging Face 账户。有关计算成本,请参阅定价与计费。
1. 设置 CLI
安装 Hugging Face CLI,然后登录您的账户:
>>> hf auth login2. 运行 Hello World
在终端中运行此命令:
>>> hf jobs uv run python -c 'print("Hello from the cloud!")'hf jobs uv run 在 Hugging Face 基础设施上的 Python 环境中运行命令。它默认使用 CPU,并将 Job 的日志流式传输到您的终端。启动后,您会看到:
Hello from the cloud!
CLI 还会打印您的 Job ID 及其页面的链接。在浏览器中打开该链接即可查看其状态和日志。您可以在 Jobs 页面 上再次找到您的 Job,或者使用以下 CLI 命令配合该 ID 进行操作。
任务也可以在任意 Docker 镜像中运行命令:
>>> hf jobs run ubuntu echo 'Hello from the cloud!'本指南的其余部分使用 hf jobs uv run。有关何时以及如何使用镜像,请参阅 使用 Docker 镜像。
3. 在 GPU 上运行模型
运行此准备好的脚本以生成机器人名称。您可以在 GitHub 上查看或阅读以下代码。
hf jobs uv run \
--flavor t4-small \
--timeout 5m \
https://raw.githubusercontent.com/huggingface/hub-docs/main/examples/jobs/hello_gpu.py--flavor t4-small选择配备 NVIDIA T4 GPU 的机器。--timeout 5m为 Job 设置了五分钟的限制。
该 Job 会下载模型并在日志中打印其回答。例如:
RoboLearnbot
以下是完整脚本:
# /// script
# dependencies = ["torch", "transformers"]
# ///
from transformers import pipeline
generator = pipeline(
"text-generation",
model="HuggingFaceTB/SmolLM2-360M-Instruct",
dtype="float16",
)
messages = [{
"role": "user",
"content": "Suggest a name for a robot that helps people learn Python. Answer with only the name.",
}]
outputs = generator(messages, max_new_tokens=48, do_sample=False, return_full_text=False)
print(outputs[0]["generated_text"])依赖项头部会指示 uv 在 Job 中安装 torch 和 transformers。你也可以使用 --with 来指定依赖项。本地只需要 hf CLI。
该脚本在 Job 的 GPU 上运行 SmolLM2-360M-Instruct。max_new_tokens 用于限制回答的长度。
启动时间会因硬件可用性、依赖项安装和模型下载而有所不同。
按下 Ctrl+C 可停止流式日志输出,但任务仍会继续运行。若要停止任务,请使用
hf jobs cancel JOB_ID,并将JOB_ID替换为 CLI 打印的 ID。
您也可以通过 huggingface_hub 客户端 从 Python 启动相同的 Job:
from huggingface_hub import run_uv_job
job = run_uv_job(
"https://raw.githubusercontent.com/huggingface/hub-docs/main/examples/jobs/hello_gpu.py",
flavor="t4-small",
timeout="5m",
)
print(job.url)4. 检查你的结果
使用 GPU 作业的 ID 再次检查其状态并读取其日志:
>>> hf jobs inspect JOB_ID
>>> hf jobs logs JOB_ID运行成功时,其状态为 COMPLETED,并且日志中包含生成的答案。
任务结束后,答案仍可在该任务的日志中查看。当您修改脚本以生成文件时,请将结果保存到存储桶或 Hub 仓库中,以便在任务结束后保留这些文件。
尝试运行你自己的脚本(可选)
将上述代码复制到 hello_gpu.py 中,编辑 messages 中的提示词,然后运行你的本地文件:
hf jobs uv run --flavor t4-small --timeout 5m hello_gpu.pyCLI 会自动上传您编辑后的脚本。如果您将其保存在其他位置,请将 hello_gpu.py 替换为其路径。
后续步骤
在此示例的基础上,使用更大的工作负载进行构建:
- 使用 OCR、分类或批量推理为数据集添加标注。
- 训练或微调模型并将其保存到 Hub。
- 读取数据集或存储桶并保存处理结果。
- 在 Docker 镜像中运行命令。
- 从编码代理使用 Jobs。