Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

使用 GPU Spaces

您可以使用 Space 顶部导航栏中的“Settings”按钮将您的 Space 升级为使用 GPU 加速器。如果您正在为副项目构建一个很酷的演示,您甚至可以申请免费升级!

长期来看,我们也希望开放非 GPU 硬件,例如 HPU、IPU 或 TPU。如果您有想要运行的特定 AI 硬件,请告知我们(网站为 huggingface.co)。

一旦您的 Space 在 GPU 上运行,您就可以直接从此徽章中看到它正在运行的硬件

硬件规格

在下表中,您可以看到不同升级选项的规格。

CPU

硬件 CPU 内存 GPU 内存 磁盘 每小时价格
CPU 基础版 2 vCPU 16 GB - 50 GB 免费!
CPU 升级版 8 vCPU 32 GB - 50 GB $0.03

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 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 $4.00
1x Nvidia L40S 8 vCPU 62 GB 48 GB 380 GB $1.80
4x Nvidia L40S 48 vCPU 48 GB 192 GB 3200 GB $8.30
8x Nvidia L40S 192 vCPU 1534 GB 384 GB 6500 GB $23.50
Nvidia H100 24 vCPU 250 GB 80 GB 3000 GB $10.00
8x Nvidia H100 192 vCPU 2 TB 640 GB 3000 GB 即将推出

TPU

硬件 加速器 加速器内存 内存 每小时价格
Google TPU v5e - 1x1 1 16 GB 44 GB $1.20
Google TPU v5e - 2x2 4 64 GB 186 GB $4.75
Google TPU v5e - 2x4 8 128 GB 380 GB $9.50

以编程方式配置硬件

您可以使用 huggingface_hub 以编程方式配置您的 Space 硬件。这允许在需要动态分配 GPU 的各种用例中使用。查看本指南以获取更多详细信息。

框架特定要求

大多数 Spaces 在 GPU 升级后应该可以立即运行,但有时您需要安装您使用的机器学习框架的 CUDA 版本。请按照本指南确保您的 Space 利用改进后的硬件。

PyTorch

您需要安装与内置 CUDA 驱动程序兼容的 PyTorch 版本。将以下两行添加到您的 requirements.txt 文件中应该可以工作

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

您可以通过在您的 app.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 可用时会自动使用它。🤗 transformers、fastai 和许多其他框架中的 Pipelines 就是这种情况。在其他情况下,或者如果您直接使用 PyTorch,您可能需要将您的模型和数据移动到 GPU,以确保计算在加速器上而不是在 CPU 上完成。例如,您可以使用 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 T4

Tensorflow

默认的 tensorflow 安装应该可以识别 CUDA 设备。只需将 tensorflow 添加到您的 requirements.txt 文件中,并在您的 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 实际处于“Running”(运行)状态时才会计费。这意味着在构建或启动期间没有成本。

如果正在运行的 Space 开始失败,它将自动暂停,计费也将停止。

在免费硬件上运行的 Spaces 如果长时间未使用(例如两天)将自动暂停。升级后的 Spaces 默认情况下无限期运行,即使没有使用。您可以通过在 Space 的设置中设置自定义“睡眠时间”来更改此行为。要中断您的 Space 的计费,您可以将硬件更改为 CPU 基础版,或“暂停”它。

有关计费的更多信息,请参阅 Hub 范围内的专用部分

社区 GPU 补助

您是否有一个很棒的 Space 但需要帮助支付 GPU 硬件升级成本?我们很乐意帮助那些拥有创新 Space 的人,所以请随时申请社区 GPU 补助,看看您的 Space 是否符合条件!此申请可以在您的 Space 硬件仓库设置的左下角“睡眠时间设置”下找到

Community GPU Grant

设置自定义休眠时间

如果你的 Space 运行在默认的 cpu-basic 硬件上,如果超过设定的时间(目前为 48 小时)没有活动,它将进入休眠状态。任何访问你的 Space 的用户都会自动重启它。

如果你希望你的 Space 永不休眠,或者你想要设置自定义休眠时间,你需要升级到付费硬件。

默认情况下,升级后的 Space 永远不会休眠。但是,你可以使用此设置,让你的升级后的 Space 在不使用时进入空闲状态(stopped 阶段)😴。当它处于休眠状态时,你将不会被收取升级硬件的费用。Space 将在收到新的访问者时 ‘唤醒’ 或重启。

以下界面将在你的 Spaces 硬件设置中可用

以下选项可用

暂停 Space

你可以从仓库设置中 暂停 Space。“暂停” 的 Space 意味着该 Space 处于暂停状态,在手动重启之前不会使用资源,并且只有暂停的 Space 的所有者可以重启它。暂停的时间不计费。

< > 在 GitHub 上更新