Hub documentation

Mulai Cepat

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Mulai Cepat

Jalankan kode Python Anda pada CPU dan GPU Hugging Face. Dalam panduan ini, Anda akan menjalankan perintah sederhana pada CPU, lalu menghasilkan teks dengan model bahasa kecil pada GPU.

Anda memerlukan akun Hugging Face dengan kredit prabayar. Lihat Harga dan Penagihan untuk biaya komputasi.

1. Siapkan CLI

Instal Hugging Face CLI, lalu masuk ke akun Anda:

>>> hf auth login

2. Jalankan Hello World

Jalankan perintah ini di terminal Anda:

>>> hf jobs uv run python -c 'print("Hello from the cloud!")'

hf jobs uv run menjalankan perintah dalam lingkungan Python di infrastruktur Hugging Face. Secara default, perintah ini menggunakan CPU dan mengalirkan log Job ke terminal Anda. Setelah startup, Anda akan melihat:

Hello from the cloud!

CLI juga mencetak ID Job Anda dan tautan ke halamannya. Buka tautan tersebut untuk melihat status dan lognya di browser Anda. Anda dapat menemukan Job Anda kembali di halaman Jobs, atau gunakan ID tersebut dengan perintah CLI di bawah ini.

Jobs juga dapat menjalankan perintah di image Docker apa pun:

>>> hf jobs run ubuntu echo 'Hello from the cloud!'

Sisa panduan ini menggunakan hf jobs uv run. Lihat Menggunakan image Docker untuk kapan dan bagaimana cara menggunakan image.

3. Jalankan model di GPU

Jalankan skrip yang telah disiapkan ini untuk menghasilkan nama robot. Anda dapat melihatnya di GitHub atau membaca kode di bawah ini.

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 memilih mesin dengan GPU NVIDIA T4.
  • --timeout 5m menetapkan batas waktu lima menit pada Job.

Job mengunduh model dan mencetak jawabannya di log. Sebagai contoh:

RoboLearnbot

Berikut adalah skrip lengkapnya:

# /// 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"])

Header dependensi memberi tahu uv untuk menginstal torch dan transformers di Job. Anda juga dapat menentukan dependensi dengan --with. Anda hanya membutuhkan CLI hf secara lokal.

Skrip menjalankan SmolLM2-360M-Instruct pada GPU Job. max_new_tokens membatasi panjang jawaban.

Waktu startup bervariasi tergantung ketersediaan perangkat keras, instalasi dependensi, dan unduhan model.

Menekan Ctrl+C menghentikan streaming log; Job tetap berjalan. Untuk menghentikan Job, gunakan hf jobs cancel JOB_ID, dengan mengganti JOB_ID menggunakan ID yang dicetak oleh CLI.

Anda juga dapat meluncurkan Job yang sama dari Python dengan klien huggingface_hub:

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. Periksa hasil Anda

Gunakan ID GPU Job untuk memeriksa statusnya dan membaca lognya lagi:

>>> hf jobs inspect JOB_ID
>>> hf jobs logs JOB_ID

Eksekusi yang berhasil memiliki status COMPLETED, dan log-nya berisi jawaban yang dihasilkan.

Jawaban tetap tersedia di log Job setelah selesai. Saat Anda menyesuaikan skrip untuk menghasilkan file, simpan hasil tersebut ke bucket atau repositori Hub agar tetap ada setelah Job berakhir.

Coba skrip Anda sendiri (opsional)

Salin kode di atas ke hello_gpu.py, edit prompt di messages, dan jalankan file lokal Anda:

hf jobs uv run --flavor t4-small --timeout 5m hello_gpu.py

CLI mengunggah skrip yang Anda edit secara otomatis. Ganti hello_gpu.py dengan path-nya jika Anda menyimpannya di tempat lain.

Langkah selanjutnya

Bangun di atas contoh ini dengan beban kerja yang lebih besar:

Update on GitHub