Hub documentation
GPU Spaces 사용
GPU Spaces 사용
Space 상단 내비게이션 바의 Settings 버튼을 사용하여 Space를 GPU 가속기로 업그레이드할 수 있습니다. 사이드 프로젝트로 멋진 데모를 만들고 있다면 무료 업그레이드를 요청할 수도 있습니다!

장기적으로는 HPU, IPU, TPU와 같은 GPU가 아닌 하드웨어도 노출하기를 원합니다. 특정 AI 하드웨어에서 실행하기를 원하시면 알려 주시기 바랍니다(웹사이트: huggingface.co).
Space가 GPU에서 실행되면 이 배지에서 어떤 하드웨어에서 실행 중인지 바로 확인할 수 있습니다:

하드웨어 사양
다음 표에서 다양한 업그레이드 옵션의 스펙을 확인할 수 있습니다.
CPU
| 하드웨어 | CPU | 메모리 | GPU 메모리 | 디스크 | 시간당 가격 |
|---|---|---|---|---|---|
| CPU 기본 | 2 vCPU | 16 GB | - | 50 GB | 무료! |
| CPU 업그레이드 | 8 vCPU | 32 GB | - | 50 GB | $0.03 |
CPU Basic은 시간당 비용이 없지만, 컴퓨트(Gradio 또는 Docker)를 사용하는 새 Space를 생성하려면 유료 플랜이 필요합니다. Static Spaces는 모든 사용자에게 무료입니다. 자세한 내용은 Spaces 개요를 참고하세요.
GPU
| 하드웨어 | CPU | 메모리 | GPU 메모리 | 디스크 | 시간당 가격 |
|---|---|---|---|---|---|
| Nvidia T4 - 소형 | 4 vCPU | 15 GB | 16 GB | 50 GB | $0.40 |
| Nvidia T4 - 중간 | 8 vCPU | 30 GB | 16 GB | 100 GB | $0.60 |
| Nvidia L4 1개 | 8 vCPU | 30 GB | 24 GB | 400 GB | $0.80 |
| Nvidia L4 4개 | 48 vCPU | 186 GB | 96 GB | 3200 GB | $3.80 |
| Nvidia L40S 1개 | 8 vCPU | 62 GB | 48 GB | 380 GB | $1.80 |
| Nvidia L40S 4개 | 48 vCPU | 382 GB | 192 GB | 3200 GB | $8.30 |
| 8x Nvidia L40S | 192 vCPU | 1534 GB | 384 GB | 6500 GB | $23.50 |
| Nvidia RTX PRO 6000 1개 | 23 vCPU | 256 GB | 96 GB | 475 GB | $2.75 |
| Nvidia RTX PRO 6000 2개 | 46 vCPU | 512 GB | 192 GB | 950 GB | $5.50 |
| Nvidia RTX PRO 6000 4개 | 92 vCPU | 1024 GB | 384 GB | 1900 GB | $11.00 |
| 8x Nvidia RTX PRO 6000 | 184 vCPU | 2048 GB | 768 GB | 3800 GB | $22.00 |
| Nvidia A10G - 소형 | 4 vCPU | 15 GB | 24 GB | 110 GB | $1.00 |
| Nvidia A10G - 대형 | 12 vCPU | 46 GB | 24 GB | 200 GB | $1.50 |
| 2x Nvidia A10G - 대형 | 24 vCPU | 92 GB | 48 GB | 1000 GB | $3.00 |
| 4x Nvidia A10G - 대형 | 48 vCPU | 184 GB | 96 GB | 2000 GB | $5.00 |
| Nvidia A100 - 대형 | 12 vCPU | 142 GB | 80 GB | 1000 GB | $2.50 |
| Nvidia A100 4개 | 48 vCPU | 568 GB | 320 GB | 4000 GB | $10.00 |
| 8x Nvidia A100 | 96 vCPU | 1136 GB | 640 GB | 8000 GB | $20.00 |
하드웨어를 프로그래밍 방식으로 구성
huggingface_hub을 사용하여 Space 하드웨어를 프로그래매틱으로 구성할 수 있습니다. 이를 통해 GPU를 동적으로 할당해야 하는 다양한 사용 사례를 처리할 수 있습니다. 자세한 내용은 이 가이드를 참고하세요.
프레임워크별 요구 사항
대부분의 Spaces는 GPU 업그레이드 후 바로 실행되지만, 사용하는 머신러닝 프레임워크의 CUDA 버전을 설치해야 하는 경우가 있습니다. 향상된 하드웨어의 이점을 Space에서 활용할 수 있도록 이 가이드를 따르세요.
PyTorch
내장된 CUDA 드라이버와 호환되는 PyTorch 버전을 설치해야 합니다. requirements.txt 파일에 다음 두 줄을 추가하면 됩니다:
--extra-index-url https://download.pytorch.org/whl/cu113
torchapp.py에 다음 코드를 실행하고 Space 로그에서 출력을 확인하여 설치가 성공적으로 완료되었는지 확인할 수 있습니다:
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많은 프레임워크는 GPU가 사용 가능한 경우 자동으로 GPU를 사용합니다. 🤗 transformers, fastai 및 기타 많은 프레임워크의 Pipelines도 마찬가지입니다. 다른 경우이거나 PyTorch를 직접 사용하는 경우, 계산이 CPU가 아닌 가속기에서 수행되도록 모델과 데이터를 GPU로 이동해야 할 수 있습니다. 예를 들어 PyTorch의 .to() 구문을 사용할 수 있습니다:
model = load_pytorch_model()
model = model.to("cuda")JAX
JAX를 사용하는 경우 CUDA 호환 패키지가 포함된 URL을 지정해야 합니다. requirements.txt 파일에 다음 줄을 추가하세요:
-f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
jax[cuda11_pip]
jaxlib그 후, 다음 코드의 출력을 출력하고 Space 로그에서 확인하여 설치를 검증할 수 있습니다.
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 T4TensorFlow
기본 tensorflow 설치 환경에서는 CUDA 장치를 인식해야 합니다. requirements.txt 파일에 tensorflow를 추가하고, app.py에 다음 코드를 사용해 Space 로그에서 확인하세요.
import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))
# [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]청구
Spaces의 과금은 하드웨어 사용량에 기반하여 분 단위로 계산됩니다. 요청한 하드웨어에서 Space가 실행되는 모든 분에 대해 과금되며, Space가 실제로 사용되었는지 여부와 무관합니다.
Space의 수명 주기 동안 Space가 Starting 또는 Running 상태일 때만 요금이 청구됩니다. 이는 빌드 과정에서는 비용이 발생하지 않음을 의미합니다.
실행 중인 Space가 실패하기 시작하면 자동으로 일시 중지되고 청구가 중단됩니다.
무료 하드웨어에서 실행되는 Spaces는 장기간(예: 2일) 사용되지 않으면 자동으로 일시중지됩니다. 업그레이드된 Spaces는 기본적으로 사용 여부와 관계없이 무기한 실행됩니다. Space 설정에서 사용자 지정 “sleep time”을 설정하여 이 동작을 변경할 수 있습니다. Space의 과금을 중단하려면 Hardware를 CPU basic으로 변경하거나 일시중지할 수 있습니다.
청산에 대한 추가 정보는 전체 Hub 전용 섹션에서 확인할 수 있습니다.
커뮤니티 GPU 보조금
훌륭한 Space를 보유하고 있지만 GPU 하드웨어 업그레이드 비용을 지원받고 싶으신가요? 혁신적인 Space를 가진 분들을 돕는 것을 좋아하므로, 커뮤니티 GPU 보조금에 신청해 보시고 여러분의 Space가 선정될 수 있는지 확인해 보세요. 이 신청서는 Space 하드웨어 저장소 설정의 왼쪽 하단, “sleep time settings” 아래에서 찾을 수 있습니다:

사용자 지정 수면 시간 설정
Space가 기본 cpu-basic 하드웨어에서 실행되는 경우, 설정된 시간(현재 48시간) 이상 비활성 상태면 슬립 모드로 전환됩니다. Space를 방문하는 사용자는 자동으로 다시 시작합니다.
Space가 비활성화되지 않도록 하거나 사용자 지정 수면 시간을 설정하려면 유료 하드웨어로 업그레이드해야 합니다.
기본적으로 업그레이드된 Space는 절대 sleep 상태로 전환되지 않습니다. 하지만 이 설정을 사용하면 업그레이드된 Space가 사용되지 않을 때 idle(stopped 단계)이 되도록 할 수 있습니다 😴. sleep 상태인 동안에는 업그레이드된 하드웨어에 대한 요금이 부과되지 않습니다. Space는 새로운 방문자가 접속하면 ‘wake up’하거나 다시 시작됩니다.
다음 인터페이스가 Spaces 하드웨어 설정에서 사용 가능합니다:

다음 옵션이 사용할 수 있습니다:

레플리카
여러 개의 리플리카를 요청하여 Space를 수평적으로 확장할 수 있습니다. 이렇게 하면 Space의 여러 인스턴스에 트래픽이 분산되어 가용성과 처리량이 향상됩니다. API를 통해 리플리카 수를 설정할 수 있습니다:
POST https://huggingface.co/api/spaces/{namespace}/{repo}/replicas
Content-Type: application/json
{
"replicas": 2
}Replicas는 업그레이드된(유료) 하드웨어에서만 사용할 수 있습니다. 각 replica는 독립적으로 과금됩니다.
로그, 이벤트 및 메트릭 스트리밍
SSE(Server-Sent Events)를 통해 Space에서 실시간 로그, 상태 이벤트, 메트릭을 스트리밍할 수 있습니다:
- 빌드 또는 실행 로그:
GET /api/spaces/{namespace}/{repo}/logs/{build|run} - 상태 이벤트:
GET /api/spaces/{namespace}/{repo}/events - 메트릭:
GET /api/spaces/{namespace}/{repo}/metrics
이 엔드포인트는 인증을 필요로 하며 SSE 프로토콜을 사용하여 데이터를 반환합니다.
logs 엔드포인트는 로그의 마지막 N줄로 응답을 제한하기 위한 선택적 tail 쿼리 매개변수(음수가 아닌 정수)를 지원합니다:
GET /api/spaces/{namespace}/{repo}/logs/{build|run}?tail=100Space 일시 정지
Space는 저장소 설정에서 pause할 수 있습니다. “paused” 상태의 Space는 일시 중지되어 수동으로 재시작할 때까지 리소스를 사용하지 않습니다. Space에 쓰기 권한이 있는 사용자는 Space를 일시 중지하거나 재시작할 수 있습니다. 일시 중지된 시간은 과금되지 않습니다.