Hub documentation

Menggunakan GPU Spaces

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Menggunakan GPU Spaces

Anda dapat meningkatkan Space Anda untuk menggunakan akselerator GPU dengan menggunakan tombol Pengaturan di bilah navigasi atas Space. Anda bahkan dapat meminta peningkatan gratis jika Anda sedang membangun demo keren untuk proyek sampingan!

Dalam jangka panjang, kami juga ingin membuka akses untuk perangkat keras non-GPU, seperti HPU, IPU, atau TPU. Jika Anda memiliki perangkat keras AI tertentu yang ingin Anda gunakan, silakan beri tahu kami (website di huggingface.co).

Begitu Space Anda berjalan di GPU, Anda dapat melihat perangkat keras apa yang digunakan langsung dari lencana ini:

Spesifikasi Perangkat Keras

Pada tabel-tabel berikut, Anda dapat melihat Spesifikasi untuk berbagai opsi upgrade.

CPU

Perangkat KerasCPUMemoriMemori GPUDiskHarga per Jam
Dasar CPU2 vCPU16 GB-50 GBGratis!
Upgrade CPU8 vCPU32 GB-50 GB$0.03

CPU Basic tidak memiliki biaya per jam, tetapi membuat Space baru yang berjalan di compute (Gradio atau Docker) memerlukan paket berbayar. Static Spaces gratis untuk semua orang. Lihat Ringkasan Spaces untuk detailnya.

GPU

Perangkat KerasCPUMemoriMemori GPUDiskHarga per Jam
Nvidia T4 - kecil4 vCPU15 GB16 GB50 GB$0.40
Nvidia T4 - sedang8 vCPU30 GB16 GB100 GB$0.60
1x Nvidia L48 vCPU30 GB24 GB400 GB$0.80
4x Nvidia L448 vCPU186 GB96 GB3200 GB$3.80
1x Nvidia L40S8 vCPU62 GB48 GB380 GB$1.80
4x Nvidia L40S48 vCPU382 GB192 GB3200 GB$8.30
8x Nvidia L40S192 vCPU1534 GB384 GB6500 GB$23.50
1x Nvidia RTX PRO 600023 vCPU256 GB96 GB475 GB$2.75
2x Nvidia RTX PRO 600046 vCPU512 GB192 GB950 GB$5.50
4x Nvidia RTX PRO 600092 vCPU1024 GB384 GB1900 GB$11.00
8x Nvidia RTX PRO 6000184 vCPU2048 GB768 GB3800 GB$22.00
Nvidia A10G - kecil4 vCPU15 GB24 GB110 GB$1.00
Nvidia A10G - besar12 vCPU46 GB24 GB200 GB$1.50
2x Nvidia A10G - besar24 vCPU92 GB48 GB1000 GB$3.00
4x Nvidia A10G - besar48 vCPU184 GB96 GB2000 GB$5.00
Nvidia A100 - besar12 vCPU142 GB80 GB1000 GB$2.50
Nvidia H100 (dihapus Desember 2025)
8x Nvidia H100 (dihapus Desember 2025)
4x Nvidia A10048 vCPU568 GB320 GB4000 GB$10.00
8x Nvidia A10096 vCPU1136 GB640 GB8000 GB$20.00

Konfigurasi perangkat keras secara programatik

Anda dapat mengonfigurasi perangkat keras Space secara programatik menggunakan huggingface_hub. Hal ini memungkinkan berbagai kasus penggunaan di mana Anda perlu mengalokasikan GPU secara dinamis. Lihat panduan ini untuk detail lebih lanjut.

Kebutuhan spesifik framework

Sebagian besar Spaces seharusnya dapat berjalan langsung setelah upgrade GPU, tetapi terkadang Anda perlu menginstal versi CUDA dari framework machine learning yang Anda gunakan. Silakan ikuti panduan ini untuk memastikan Space Anda memanfaatkan peningkatan hardware.

PyTorch

Anda perlu menginstal versi PyTorch yang kompatibel dengan driver CUDA bawaan. Menambahkan dua baris berikut ke file requirements.txt Anda seharusnya berhasil:

--extra-index-url https://download.pytorch.org/whl/cu113
torch

Anda dapat memverifikasi apakah instalasi berhasil dengan menjalankan kode berikut di app.py Anda dan memeriksa output di log Space Anda:

import torch
print(f"Is CUDA available: {torch.cuda.is_available()}")
# True
print(f"CUDA device: {torch.cuda.get_device_name(torch.cuda.current_device())}")
# Tesla T4

Banyak framework secara otomatis menggunakan GPU jika tersedia. Hal ini berlaku untuk Pipelines di 🤗 transformers, fastai, dan banyak lainnya. Dalam kasus lain, atau jika Anda menggunakan PyTorch secara langsung, Anda mungkin perlu memindahkan model dan data Anda ke GPU untuk memastikan komputasi dilakukan pada akselerator dan bukan pada CPU. Anda dapat menggunakan sintaks .to() dari PyTorch, misalnya:

model = load_pytorch_model()
model = model.to("cuda")

JAX

Jika Anda menggunakan JAX, Anda perlu menentukan URL yang berisi paket yang kompatibel dengan CUDA. Silakan tambahkan baris berikut ke file requirements.txt Anda:

-f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
jax[cuda11_pip]
jaxlib

Setelah itu, Anda dapat memverifikasi instalasi dengan mencetak output dari kode berikut dan memeriksanya di log Space Anda.

import jax

print(f"JAX devices: {jax.devices()}")
# JAX devices: [StreamExecutorGpuDevice(id=0, process_index=0)]
print(f"JAX device type: {jax.devices()[0].device_kind}")
# JAX device type: Tesla T4

TensorFlow

Instalasi tensorflow bawaan seharusnya mengenali perangkat CUDA. Cukup tambahkan tensorflow ke file requirements.txt Anda dan gunakan kode berikut di app.py Anda untuk memverifikasi di log Space Anda.

import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))
# [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

Penagihan

Penagihan pada Spaces didasarkan pada penggunaan perangkat keras dan dihitung per menit: Anda akan dikenakan biaya untuk setiap menit Space berjalan pada perangkat keras yang diminta, terlepas dari apakah Space tersebut digunakan atau tidak.

Selama siklus hidup Space, biaya hanya dikenakan saat Space berstatus Starting atau Running. Artinya, tidak ada biaya yang timbul selama proses build.

Jika Space yang sedang berjalan mulai gagal, Space tersebut akan ditangguhkan secara otomatis dan penagihan akan dihentikan.

Spaces yang berjalan di perangkat keras gratis akan ditangguhkan secara otomatis jika tidak digunakan dalam jangka waktu yang lama (misalnya dua hari). Spaces yang ditingkatkan berjalan tanpa batas secara default, bahkan jika tidak ada penggunaan. Anda dapat mengubah perilaku ini dengan menetapkan “sleep time” khusus di pengaturan Space. Untuk menghentikan penagihan pada Space Anda, Anda dapat mengubah Hardware menjadi CPU basic, atau pause Space tersebut.

Informasi tambahan tentang penagihan dapat ditemukan di bagian khusus untuk seluruh Hub.

Community GPU Grants

Apakah Anda memiliki Space yang luar biasa tetapi membutuhkan bantuan untuk menutupi biaya peningkatan perangkat keras GPU? Kami senang membantu mereka yang memiliki Space inovatif, jadi silakan ajukan permohonan hibah GPU komunitas dan lihat apakah Space Anda lolos! Permohonan ini dapat ditemukan di pengaturan repo perangkat keras Space Anda di sudut kiri bawah di bawah “pengaturan waktu tidur”:

Community GPU Grant

Atur waktu tidur kustom

Jika Space Anda berjalan di perangkat keras cpu-basic bawaan, Space tersebut akan masuk ke mode tidur jika tidak aktif selama lebih dari batas waktu tertentu (saat ini, 48 jam). Siapa pun yang mengunjungi Space Anda akan memulainya secara otomatis.

Jika Anda ingin Space Anda tidak pernah dinonaktifkan atau jika Anda ingin mengatur waktu tidur kustom, Anda perlu meningkatkan ke perangkat keras berbayar.

Secara default, Space yang sudah di-upgrade tidak akan pernah masuk ke mode tidur. Namun, Anda dapat menggunakan pengaturan ini agar Space yang sudah di-upgrade menjadi idle (tahap stopped) saat tidak digunakan 😴. Anda tidak akan dikenakan biaya untuk hardware yang sudah di-upgrade selama ia dalam keadaan tidur. Space akan ‘bangun’ atau di-restart kembali begitu menerima pengunjung baru.

Antarmuka berikut kemudian akan tersedia di pengaturan perangkat keras Spaces Anda:

Opsi berikut tersedia:

Replika

Anda dapat menskalakan Space secara horizontal dengan meminta beberapa replika. Hal ini mendistribusikan lalu lintas di antara beberapa instans Space Anda untuk meningkatkan ketersediaan dan throughput. Anda dapat mengatur jumlah replika melalui API:

POST https://huggingface.co/api/spaces/{namespace}/{repo}/replicas
Content-Type: application/json

{
  "replicas": 2
}

Replicas hanya tersedia untuk perangkat keras yang sudah di-upgrade (berbayar). Setiap replica ditagih secara independen.

Streaming Log, Peristiwa, dan Metrik

Anda dapat streaming log real-time, event status, dan metrik dari Space Anda melalui SSE (Server-Sent Events):

  • Membangun atau menjalankan log: GET /api/spaces/{namespace}/{repo}/logs/{build|run}
  • Peristiwa status: GET /api/spaces/{namespace}/{repo}/events
  • Metriks: GET /api/spaces/{namespace}/{repo}/metrics

Endpoint ini memerlukan autentikasi dan mengembalikan data menggunakan protokol SSE.

Endpoint log menerima parameter query opsional tail (bilangan bulat non-negatif) untuk membatasi respons ke N baris log terakhir:

GET /api/spaces/{namespace}/{repo}/logs/{build|run}?tail=100

Menjeda Space

You can pause a Space from the repo settings. A “paused” Space means that the Space is on hold and will not use resources until manually restarted. Anyone with write access to the Space can pause or restart it. Paused time is not billed.

Update on GitHub