Hub documentation
設定
設定
認証
Jobs を実行するには、hf auth login による認証が必要です。また、Jobs の開始と管理に権限を持つトークンを使用してください。
代わりに、CLIでは--tokenを、Pythonではtoken引数を指定して、Hugging Face トークンを手動で渡すこともできます。
引数の渡し方
-- を使用して、Jobs のオプションとコマンドまたはスクリプトとその引数を区切ります。-- の後にあるオプション(--help や --timeout など)は、Jobs によって解釈されるのではなく、そのまま渡されます。
これは UV Jobs と Docker Jobs の両方に適用されます。
hf jobs uv run --flavor t4-small -- script.py --early-stopping-patience 3
└─ Jobs option ┘ └─ script + arguments ─────────────┘UV Jobs
UVと同様に、実行するUVスクリプトまたはpythonコマンドを指定します:
>>> hf jobs uv run train.py>>> hf jobs uv run python -c 'print("Hello from the cloud!")'hf jobs uv run コマンドは、--with や --python のような UV 引数を受け入れます。--with 引数で Python の依存関係を指定でき、--python で使用する Python のバージョンを選択できます:
>>> hf jobs uv run --with trl train.py
>>> hf jobs uv run --python 3.12 train.py例えば、-- を使用してコマンドに引数を渡します:
>>> hf jobs uv run --with trl-jobs -- trl-jobs sft --model_name Qwen/Qwen3-0.6B --dataset_name trl-lib/CapybaraCLI ドキュメントとUV Commands ドキュメントで、すべての引数のリストを確認してください。
デフォルトでは、UV Jobsはghcr.io/astral-sh/uv:python3.12-bookworm Dockerイメージで実行されますが、--image <docker-image> を使用して、UVがインストールされている別のイメージを指定できます。
イメージの選択方法や、その環境がUVの依存関係とどのように相互作用するかを理解するには、Dockerイメージの使用を参照してください。
スクリプト内で起動設定を定義します
特定のランタイム(特定のイメージ、GPUの種類、システムインタプリタなど)でのみ正しく実行されるスクリプトは、その設定をPEP 723ヘッダーの任意の[tool.hf-jobs]テーブルに含めることができます。
# /// script
# requires-python = ">=3.11"
# dependencies = ["vllm", "datasets"]
#
# [tool.hf-jobs]
# image = "vllm/vllm-openai:unlimited-ocr"
# flavor = "l4x1"
# python = "/usr/bin/python3"
# secrets = ["HF_TOKEN"]
# ///hf jobs uv run ocr.py を実行すると、そのイメージとハードウェアで起動します。単に uv run を実行する場合は、テーブルは無視されます。これは、[tool.*] テーブルは PEP 723 の一部であり、ツールは自分が管理していないテーブルをスキップするからです。
サポートされるキーはすべてオプションです: image、flavor、python、timeout、name、namespace、env、secrets、labels、volumes、network_group、network_aliases。これらは同名のフラグに対応します。スクリプト内の値はデフォルトとして機能します。明示的に指定されたフラグが常に優先され、env、secrets、labels、volumes はエントリごとにマージされるため、-e と -v はスクリプトで宣言された内容に追加されます。不明なキーはエラーとなり、secrets は名前のみを列挙します。値はスクリプトを実行するユーザーの環境から取得され、ローカルで設定されていないシークレットもエラーとなります。
--dry-run を使用すると、送信せずに解決された設定を出力できます。スクリプト由来の値には(from script)のマークが付きます。マージ規則の詳細については、hf CLI ガイドを参照してください。
このテーブルは
hfCLIによってのみ読み取られます。run_uv_job()およびcreate_scheduled_uv_job()はこれを無視するため、Pythonからはimage=、flavor=、…を明示的に渡してください。
Docker Jobs
Dockerと同様に、使用するDockerイメージと実行するコマンドを指定します:
>>> hf jobs run ubuntu echo "Hello from the cloud!"ここでは、--helpはJobsのヘルプを表示するのではなく、Pythonに渡されます:
>>> hf jobs run --flavor cpu-basic python:3.12 -- python --helpCLI ドキュメントで、すべての引数のリストを確認できます。
既存のイメージやDocker Spacesによってビルドされたイメージを使用する例については、Dockerイメージの使用を参照してください。
環境変数とシークレット
組み込みの環境変数
Spacesの組み込み環境変数と同様に、Jobsはコンテナ内で自動的に以下の環境変数を提供します:
| 変数 | 説明 |
|---|---|
JOB_ID | 現在のジョブの一意な識別子(例: 699d874f1aad19adb8aaeadc)です。これはUIおよびジョブのURLに表示されるIDと同じものです。 |
ACCELERATOR | 利用可能なアクセラレーターの種類(例: t4-medium、a10g-small、a100x4)、または CPU のみのジョブの場合は none。 |
CPU_CORES | ジョブに割り当てられるCPUコアの数。 |
MEMORY | ジョブに割り当てられるメモリ量(例: 8Gi)。 |
HF_NETWORK_GROUP_HOSTNAME | ジョブのネットワークグループ内のすべてのジョブに解決されるホスト名。ジョブがネットワークグループを宣言した場合にのみ設定されます。 |
HF_NETWORK_GROUP_PREFIX | グループメンバーが主張しているエイリアスのホスト名を取得するために、エイリアスの先頭に付加するプレフィックスです(例: ${HF_NETWORK_GROUP_PREFIX}master)。ジョブがネットワークグループを宣言した場合にのみ設定されます。 |
これらの変数を使用して、出力を追跡したり、利用可能なリソースに合わせてコードを調整したり、現在のジョブをプログラム的に参照したりできます。
# Access job environment information
>>> hf jobs run python:3.12 python -c "import os; print(f'Job: {os.environ.get(\"JOB_ID\")}, CPU: {os.environ.get(\"CPU_CORES\")}, Mem: {os.environ.get(\"MEMORY\")}')"ユーザー定義の環境変数
…を使用して、ジョブに環境変数を渡すことができます
# Pass environment variables
>>> hf jobs uv run -e FOO=foo -e BAR=bar python -c 'import os; print(os.environ["FOO"], os.environ["BAR"])'# Pass an environment from a local .env file
>>> hf jobs uv run --env-file .env python -c 'import os; print(os.environ["FOO"], os.environ["BAR"])'# Pass secrets - they will be encrypted server side
>>> hf jobs uv run -s MY_SECRET=psswrd python -c 'import os; print(os.environ["MY_SECRET"])'# Pass secrets from a local .env.secrets file - they will be encrypted server side
>>> hf jobs uv run --secrets-file .env.secrets python -c 'import os; print(os.environ["MY_SECRET"])'
--secrets HF_TOKENを使用すると、ローカルの Hugging Face トークンを暗黙的に渡すことができます。 この構文では、シークレットは環境変数から取得されます。HF_TOKENの場合、環境変数が設定されていない場合、Hugging Face ホームフォルダにあるトークンファイルを読み取ることがあります。
ボリューム
Hugging Face リポジトリ(モデル、データセット)、Storage Buckets、またはローカルディレクトリを、-v または --volume を使用してジョブコンテナにボリュームとしてマウントできます。Hub ソースには hf:// URL スキームを使用します: hf://[TYPE/]SOURCE:/MOUNT_PATH[:ro]。ローカルディレクトリはソースとして直接指定します。
マウントされたファイルは遅延取得されるため、マウントを使用すると、Jobはローカルディスクよりもはるかに大きなデータセットを扱うことができます。Jobでのマウント、ストリーミング、およびビッグデータの処理については、大規模データセットの処理を参照してください。
ボリュームの種類:
| 型 | 例 |
|---|---|
| モデルリポジトリ | -v hf://openai/gpt-oss-120b:/model |
| Datasetリポジトリ | -v hf://datasets/stanfordnlp/imdb:/data |
| ストレージバケット | -v hf://buckets/username/my-bucket:/mnt |
| サブフォルダ | -v hf://datasets/org/my-dataset/train:/data |
| ローカルディレクトリ | -v ./training-data:/data |
次に、マウントされたボリュームをコンテナ内のローカルディレクトリとして使用します:
# Mount a dataset and query it with DuckDB
>>> hf jobs run -v hf://datasets/stanfordnlp/imdb:/dataset \
... duckdb/duckdb duckdb -c "SELECT * FROM '/dataset/**/*.parquet' LIMIT 5"
# Mount a bucket to save training checkpoints
>>> hf jobs uv run -v hf://buckets/username/my-bucket:/training-outputs \
... sft.py --output-dir /training-outputs/training-v3-final-v フラグを繰り返すことで、複数のボリュームをマウントできます:
>>> hf jobs run -v hf://datasets/username/my-dataset:/data -v hf://buckets/username/my-bucket:/output \
... python:3.12 python script.pyモデルとデータセットは常に読み取り専用でマウントされます。ストレージバケットはデフォルトで読み書き可能であり、出力、チェックポイント、中間結果の保存に便利です。:roを使用してバケットを読み取り専用モードでマウントします:
>>> hf jobs run -v hf://buckets/username/my-bucket:/mnt:ro python:3.12 ls /mntローカルディレクトリ
ローカルディレクトリをソースとして渡すと、Job の開始前に、自動的に作成されるプライベートな jobs-artifacts Storage Bucket に同期され、その後コンテナにマウントされます。ローカルディレクトリはデフォルトで読み取り専用でマウントされます。出力を書き込むには :rw を使用してください:
>>> hf jobs uv run -v ./pdfs:/input -v ./md-out:/output:rw ocr.py同じディレクトリを再同期しても、新規または変更されたファイルのみがアップロードされます。Job が読み書き可能なボリュームに書き込んだファイルを取得するには、Job の終了後にそのバケットフォルダを同期して戻します。Job の開始時に、CLI が正確な hf buckets sync コマンドを出力します。スケジュールされた Job も動作します。スケジュールが作成された時点でディレクトリが一度同期され、以降の各トリガーで同じフォルダがマウントされます。Python では、sync_job_volume を使用します。
Pythonでは、Volumeクラスを使用します:
from huggingface_hub import Volume, run_job
job = run_job(
image="python:3.12",
command=["python", "-c", "import os; print(os.listdir('/data'))"],
volumes=[
Volume(type="dataset", source="username/my-dataset", mount_path="/data"),
Volume(type="bucket", source="username/my-bucket", mount_path="/output"),
],
)ボリュームマウントには
huggingface_hub>= 1.8.0 が必要です。詳細については、Python クライアントのドキュメントおよびインストールガイドを参照してください。
ハードウェアの種類
flavor 引数を使用して、GPU または TPU でジョブを実行できます。例えば、A10G GPU で PyTorch ジョブを実行するには:
>>> hf jobs uv run --with torch --flavor a10g-small python -c "import torch; print(f'This code ran with the following GPU: {torch.cuda.get_device_name()}')"これを実行すると、以下の出力が表示されます!
This code ran with the following GPU: NVIDIA A10Gtrl/scripts/sft.py のようなファインチューニングスクリプトを実行する別の例を以下に示します。
>>> hf jobs uv run --with trl --flavor a10g-small -s HF_TOKEN -- sft.py --model_name_or_path Qwen/Qwen2-0.5B ...Hugging Face のインフラストラクチャ上で TRL を使用してモデルの学習ジョブを実行するための包括的なガイドについては、TRL Jobs Training のドキュメントを参照してください。ファインチューニングのレシピ、ハードウェアの選択、モデルを効率的に学習するためのベストプラクティスについて解説しています。
hf jobs hardware コマンドを使用して、利用可能な --flavor オプションのリストを確認できます(デフォルトは cpu-basic):
>>> hf jobs hardware
name pretty name cpu ram storage accelerator cost/min cost/hour
cpu-basic CPU Basic 2 vCPU 16 GB 50 GB $0.0002 $0.01
cpu-upgrade CPU Upgrade 8 vCPU 32 GB 50 GB $0.0005 $0.03
cpu-performance CPU Performance 32 vCPU 256 GB 1024 GB $0.0317 $1.90
cpu-xl CPU XL 16 vCPU 124 GB 1000 GB $0.0167 $1.00
t4-small Nvidia T4 - small 4 vCPU 15 GB 50 GB 1x T4 (16 GB) $0.0067 $0.40
t4-medium Nvidia T4 - medium 8 vCPU 30 GB 100 GB 1x T4 (16 GB) $0.0100 $0.60
a10g-small Nvidia A10G - small 4 vCPU 15 GB 110 GB 1x A10G (24 GB) $0.0167 $1.00
a10g-large Nvidia A10G - large 12 vCPU 46 GB 200 GB 1x A10G (24 GB) $0.0250 $1.50
a10g-largex2 2x Nvidia A10G - large 24 vCPU 92 GB 1000 GB 2x A10G (48 GB) $0.0500 $3.00
a10g-largex4 4x Nvidia A10G - large 48 vCPU 184 GB 2000 GB 4x A10G (96 GB) $0.0833 $5.00
a100-large Nvidia A100 - large 12 vCPU 142 GB 1000 GB 1x A100 (80 GB) $0.0417 $2.50
a100x4 4x Nvidia A100 48 vCPU 568 GB 4000 GB 4x A100 (320 GB) $0.1667 $10.00
a100x8 8x Nvidia A100 96 vCPU 1136 GB 8000 GB 8x A100 (640 GB) $0.3333 $20.00
h200 Nvidia H200 23 vCPU 256 GB 3000 GB 1x H200 (141 GB) $0.0833 $5.00
h200x2 Nvidia H200 46 vCPU 512 GB 6000 GB 2x H200 (282 GB) $0.1667 $10.00
h200x4 Nvidia H200 92 vCPU 1024 GB 12000 GB 4x H200 (564 GB) $0.3333 $20.00
h200x8 Nvidia H200 184 vCPU 2048 GB 24000 GB 8x H200 (1128 GB) $0.6667 $40.00
rtx-pro-6000 Nvidia RTX PRO 6000 23 vCPU 256 GB 475 GB 1x RTX PRO 6000 (96 GB) $0.0458 $2.75
rtx-pro-6000x2 Nvidia RTX PRO 6000 46 vCPU 512 GB 950 GB 2x RTX PRO 6000 (192 GB) $0.0917 $5.50
rtx-pro-6000x4 Nvidia RTX PRO 6000 92 vCPU 1024 GB 1900 GB 4x RTX PRO 6000 (384 GB) $0.1833 $11.00
rtx-pro-6000x8 Nvidia RTX PRO 6000 184 vCPU 2048 GB 3800 GB 8x RTX PRO 6000 (768 GB) $0.3667 $22.00
l4x1 1x Nvidia L4 8 vCPU 30 GB 400 GB 1x L4 (24 GB) $0.0133 $0.80
l4x4 4x Nvidia L4 48 vCPU 186 GB 3200 GB 4x L4 (96 GB) $0.0633 $3.80
l40sx1 1x Nvidia L40S 8 vCPU 62 GB 380 GB 1x L40S (48 GB) $0.0300 $1.80
l40sx4 4x Nvidia L40S 48 vCPU 382 GB 3200 GB 4x L40S (192 GB) $0.1383 $8.30
l40sx8 8x Nvidia L40S 192 vCPU 1534 GB 6500 GB 8x L40S (384 GB) $0.3917 $23.50ポートを公開する
ジョブは、--expose <port>(CLI)または expose=[<port>](Python API)を使用して、パブリックなジョブプロキシ経由でコンテナポートを公開できます。公開された各ポートは https://<job_id>--<port>.hf.jobs でアクセス可能であり、ジョブのネームスペースに対する read アクセス権限を持つ HF トークンが必要です。
curl -H "Authorization: Bearer $HF_TOKEN" https://<job_id>--<port>.hf.jobs/この機能はhf jobs run、hf jobs uv run、およびそれらのスケジュール実行バリアントで動作します。フラグを繰り返すことで複数のポートを公開できます(--expose 8000 --expose 8001)、またはリストに複数のポートを指定します(expose=[8000, 8001])。
HF トークンなしでポートを到達可能にするには、代わりに --expose-public <port>(CLI)または expose_public=[<port>](Python API)を使用してください。これにより、URL を知っている誰でもそのポートに到達できるようになるため、共有しても安全なサービスでのみ使用してください。両方のオプションを組み合わせることも可能です。その場合、一部のポートは HF トークンが必要になり、他のポートは公開されます。
公開されたポートは、ジョブの実行中のみ、ジョブのハードウェア料金に加えて、わずかな定額時間料金として課金されます。詳細は料金ページを参照してください。
CLI
# Expose a web server running on port 8000
>>> hf jobs run --expose 8000 python:3.12 python -m http.server 8000
✓ Job started
id: 6a2aa7cec4f53f9fc5aa4cff
url: https://huggingface.co/jobs/Wauplin/6a2aa7cec4f53f9fc5aa4cff
Hint: Exposed ports are reachable at (requires an HF token with read access to the job):
https://6a2aa7cec4f53f9fc5aa4cff--8000.hf.jobs
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...Python
>>> from huggingface_hub import run_job
>>> job = run_job(image="python:3.12", command=["python", "-m", "http.server", "8000"], expose=[8000])
>>> job.status.expose_urls
['https://6a2ab384c4f53f9fc5aa4d4f--8000.hf.jobs']実行中のJobのポートを変更する
hf jobs expose を使用すると、Job を再起動せずに公開するポートを変更できます:
# Expose port 8000 (requires an HF token)
>>> hf jobs expose <job_id> 8000
# Expose port 8000 (requires an HF token) and port 9000 publicly
>>> hf jobs expose <job_id> 8000 --public 9000
# Close all exposed ports
>>> hf jobs expose <job_id> --clearこのコマンドは公開ポートのリスト全体を置き換えるため、リストから除外したポートは閉じられます。Python では update_job_expose を使用します。
SSH
実行中のJobに対してインタラクティブなSSHセッションを開き、デバッグ、検査、またはコンテナ内で直接作業を行うことができます。Jobの作成時に--ssh(CLI)またはssh=True(Python API)でこれを有効にし、hf jobs ssh <job_id>で接続します。
Job の namespace に対して Write アクセス権を持つユーザーのみが許可されます(つまり、Job の作成者、または Write 権限を持つオーナー組織のメンバー)。認証は、https://huggingface.co/settings/keys に登録された SSH 公開鍵によって行われます。
SSHはhf jobs runおよびhf jobs uv runで利用可能です。スケジュールされたジョブではサポートされていません。
CLI
# Start a job with SSH enabled
>>> hf jobs run --ssh --detach --timeout 10m python:3.12 sleep infinity
✓ Job started
id: 6a2bd1f1871c005b5352ad31
url: https://huggingface.co/jobs/Wauplin/6a2bd1f1871c005b5352ad31
Hint: Use `hf jobs ssh 6a2bd1f1871c005b5352ad31` to open an SSH session into the job.
# Open an SSH session into the job
>>> hf jobs ssh 6a2bd1f1871c005b5352ad31実行せずにSSHコマンドを出力することもできます(--dry-run)。また、特定のidentity fileを渡すこともできます(-i/--identity-file):
>>> hf jobs ssh 6a2bd1f1871c005b5352ad31 --dry-run
ssh 6a2bd1f1871c005b5352ad31@ssh.hf.jobs
>>> hf jobs ssh 6a2bd1f1871c005b5352ad31 -i ~/.ssh/id_ed25519Python
>>> from huggingface_hub import run_job
>>> job = run_job(image="python:3.12", command=["sleep", "infinity"], ssh=True)
>>> job.status.ssh_url
'ssh://6a2bd1f1871c005b5352ad31@ssh.hf.jobs'次に、ターミナルからhf jobs ssh <job_id>で接続するか、ssh <job_id>@ssh.hf.jobsで直接接続します。
ポートフォワーディング
これは通常の SSH 接続であるため、SSH の -L および -R フラグを使用して、お使いのマシンと Job の間でポートを転送できます。ssh を直接使用し(正確な接続先を取得するには hf jobs ssh <job_id> --dry-run を使用してください)、転送フラグを追加してください。
-L(ローカルフォワーディング)を使用して、マシンからJob内で実行されているサービスにアクセスします。例えば、トレーニングJobで起動したTensorBoardに到達するには:
# Forward local port 6006 to the Job's TensorBoard on port 6006
>>> ssh -L 6006:localhost:6006 6a2bd1f1871c005b5352ad31@ssh.hf.jobs次に、ブラウザでhttp://localhost:6006を開きます。
-R(リモートフォワーディング)を使用すると、Jobがあなたのマシンで実行されているサービスにアクセスできるようになります。例えば、ローカルのデータベースやAPIをJobに公開するには:
# Make your local port 8080 reachable from inside the Job on port 8080
>>> ssh -R 8080:localhost:8080 6a2bd1f1871c005b5352ad31@ssh.hf.jobsネットワークグループ
ジョブは、--network-group <name>(CLI)またはnetwork_group="<name>"(Python API)を使用してネットワークグループに参加できます。同じ namespace とリソースグループ内でグループを共有するジョブは、すべてのポートで相互に到達できます。HF_NETWORK_GROUP_HOSTNAME はすべてのメンバーに解決され、${HF_NETWORK_GROUP_PREFIX}<alias> は--network-alias <alias>(CLI)またはnetwork_aliases=[<alias>](Python API)でエイリアスを取得したメンバーに解決されます。
これはhf jobs runおよびhf jobs uv runで動作します。メンバーは準備が整う前に解決可能であるため、リトライを伴って接続してください。グループ名とエイリアスは小文字の英数字とダッシュのみで、最大46文字および34文字です。ジョブのエイリアスは一意である必要があります。
CLI
# Start a server, reachable by the other members of the group as "master"
>>> hf jobs run --detach --network-group train --network-alias master python:3.12 python -m http.server 8000
# Start a client in the same group
>>> hf jobs run --detach --network-group train python:3.12 sh -c 'curl --retry 10 --retry-connrefused "http://${HF_NETWORK_GROUP_PREFIX}master:8000/"'Python
>>> from huggingface_hub import run_job
>>> server = run_job(
... image="python:3.12",
... command=["python", "-m", "http.server", "8000"],
... network_group="train",
... network_aliases=["master"],
... )
>>> client = run_job(
... image="python:3.12",
... command=["sh", "-c", 'curl --retry 10 --retry-connrefused "http://${HF_NETWORK_GROUP_PREFIX}master:8000/"'],
... network_group="train",
... )マルチノードの学習フレームワークでは、レンデブーホストとしてエイリアスを使用できます。例: torchrun --master_addr "${HF_NETWORK_GROUP_PREFIX}master"
タイムアウト
ジョブにはデフォルトのタイムアウト(30分)が設定されており、これを過ぎると自動的に停止します。モデルの学習など、長時間実行されるタスクを実行する際には、この点を理解しておくことが重要です。
ジョブの実行時に--timeoutパラメータを使用して、カスタムのタイムアウト値を指定できます。タイムアウトは2つの方法で指定できます。
- 数値として(秒として解釈されます):
--timeout を使用し、秒数(ここでは2時間 = 7200秒)を指定します:
>>> hf jobs uv run --timeout 7200 --with torch --flavor a10g-large train.py- 時間単位付きの文字列として:
または、--timeout を使用して、異なる時間単位を指定します:
>>> hf jobs uv run --timeout 2h --with torch --flavor a10g-large train.pyその他の例:
--timeout 30m # 30 minutes
--timeout 1.5h # 1.5 hours
--timeout 1d # 1 day
--timeout 3600s # 3600 secondsサポートされている時間単位:
s- 秒m- 分h- 時間d- 日
タイムアウトを指定しない場合、ジョブにはデフォルトのタイムアウトが適用されます。数時間かかる可能性のあるモデルの学習などの長時間実行タスクでは、予期しないジョブの終了を避けるために、適切なタイムアウトを設定してください。
リトライ
デフォルトでは、Job は1回だけ実行されます。失敗した Job を再試行するには、--attempts <n>(CLI)または attempts=<n>(Python API)を使用します。この数値には初回の実行が含まれるため、--attempts 3 を指定すると、最大2回の再試行が可能になります。
>>> hf jobs uv run --attempts 3 --flavor a10g-large train.pyこれはhf jobs run、hf jobs uv run、およびそれらのスケジュール実行バリアントで動作します。
リトライは、同じ Job ID の下でコマンドを最初から再実行します。リトライが前回の試行で停止した箇所から再開できるようにするには、マウントされたバケットにチェックポイントを保存し、スクリプトがそれらから再開するようにしてください。Train Models on Jobs の After it ends を参照してください。
名前空間
--namespace 引数を使用して、組織アカウントの下でジョブを実行します。組織アカウントの下でジョブの開始と管理の権限を持つトークンでログインしていることを確認してください。
>>> hf jobs uv run --namespace my-org-name python -c "print('Running in an org account')"適切な権限を持つトークンを手動で渡すこともできます。
>>> hf jobs uv run --namespace my-org-name --token hf_xxx python -c "print('Running in an org account')"ラベル
-l または --label を使用して、Job に1つ以上のラベルを追加し、メタデータを付与できます。
このメタデータは、後でウェブサイトやCLI上で Job をフィルタリングするために使用できます。
--label my-label でラベルを追加するか、--label key=value でキーと値のラベルを追加します。キーと値には、英字、数字、-、_ を含めることができます。
例:
hf jobs uv run --label fine-tuning --label model=Qwen3-06B --label dataset=Capybara ...同じkeyを複数回使用すると、最後のkey=valueがkeyを持つ以前のラベルを上書きして破棄することに注意してください。
ジョブに名前を付ける
UI上でJobを見つけやすく識別しやすくするために、Jobに名前を付けます。名前はnameラベルとして保存され、一意である必要はありません。UIでは、Jobは名前でグループ化されます。
hf jobs run --name daily-report python:3.12 python report.py--name を指定しない場合、Job は Docker イメージまたはスクリプトの名前と、コマンドの短いハッシュ値からなる名前が付けられます。これにより、同じコマンドの再実行では同じ名前が共有され、異なるコマンドには異なる名前が割り当てられます(例: python:3.12 で実行される Job に対して python-3-12-6b9d662c が付けられる)。
ラベルを更新
hf jobs labels を使用して、既存の Job のラベルを更新します。--label を渡すと既存のラベルがすべて置き換えられ、--name のみを渡すとラベルは保持されます。
# Replace the labels on a Job
hf jobs labels <job_id> --label env=prod --label team=ml
# Name an existing Job (keeps its other labels)
hf jobs labels <job_id> --name daily-report
# Remove all labels from a Job
hf jobs labels <job_id> --clear