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とそのページへのリンクも出力します。リンクを開くと、ブラウザでそのステータスとログを確認できます。JobはJobsページから再度確認するか、以下の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 に5分間の制限を設定します。
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 を押すとログのストリーミングは停止しますが、Job は実行を続けます。Job を停止するには、
hf jobs cancel JOB_IDを使用し、JOB_IDを CLI が出力した ID に置き換えてください。
Pythonからhuggingface_hubクライアントを使用して、同じ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 Job の 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を使用する。