以人工智能领域开放解决方案闻名的Hugging Face 宣布推出 ZeroGPU 计划。
这项耗资 1000 万美元的计划将为公众提供基于 Nvidia GPU 的传统计算能力。
该计划的目标是减轻小型开发团队在构建人工智能模型时面临的财务负担。
Hugging Face 首席执行官 Clem Delang 亲自宣布推出 ZeroGPU,并指出开源社区没有大型科技公司拥有的资源,这就是为什么像 ChatGPT 这样的应用程序仍然最受欢迎。
我们推出 ZeroGPU 是为了向学术和独立开发者提供基础设施,让他们可以在 Spaces 平台上运行人工智能演示,而无需支付任何财务成本。
Hugging Face 成立于 2016 年,已成为开放 AI 模型的主要来源,这些模型经过优化可在各种硬件上运行。
这要归功于与 Nvidia、Intel 和 AMD 等巨头的密切合作。
ZeroGPU 将通过 Hugging Face 应用程序托管服务提供,并将由传统 Nvidia A100 加速器提供支持。
这种模式与传统的云提供商不同,传统的云提供商通常需要客户的长期承诺,这对于小型团队来说可能很困难。
Hugging Face 方法的好处在于它专注于 AI 推理而不是模型训练。
训练需要大量的计算资源,这在该计划中是很困难的。
ZeroGPU 文档表明 GPU 函数的时间限制为 120 秒,这显然不足以进行完整的锻炼。
该系统能够“根据需要有效地保留和释放 GPU ”,但这一过程的细节仍不清楚。
多任务分时和 Nvidia 多实例 GPU (MIG) 技术等技术可用于提高计算资源的可用性。
在 GPU 短缺的情况下,随着 Lambda 和 CoreWeave 等公司使用其硬件作为抵押品来购买更多加速器,Hugging Face 计划可能会给开发人工智能应用程序的初创公司带来重大缓解。
Hugging Face 最近在由谷歌、亚马逊、英伟达和英特尔等巨头领投的 D 轮融资中筹集了 2.35 亿美元。
讽刺的是,Hugging Face 的许多最大支持者正在开发可以取代小型人工智能初创公司的专有模型。
与此同时,ZeroGPU 已经推出公测版,为人工智能开发者带来了新的机遇。
ZeroGPU
![](https://img-blog.csdnimg.cn/direct/fc292b59d5af43cfa30550d47cb09e60.png)
ZeroGPU是 Spaces 的一种新型硬件。
它有两个目标:
- 为 Spaces提供免费的 GPU 访问
- 允许 Spaces 在多个 GPU上运行
这是通过使空间根据需要有效地容纳和释放 GPU 来实现的(与在任何时间点仅容纳一个 GPU 的经典 GPU 空间相反)
ZeroGPU在底层使用Nvidia A100 GPU 设备(每个工作负载可使用 40GB vRAM)
兼容性
ZeroGPU空间主要应与任何基于 PyTorch 的 GPU 空间兼容。
与高级 HF 库(如transformers
或 )的兼容性diffusers
稍微有保证
也就是说,ZeroGPU Spaces 并不像经典 GPU Spaces 那样广泛兼容,您仍然可能会遇到意想不到的错误
此外,目前 ZeroGPU Spaces 仅适用于Gradio SDK
支持的版本:
- 等级:4+
- PyTorch:从
2.0.0
到 的所有版本2.2.0
- Python:
3.10.13
用法
为了使你的 Space 能够与 ZeroGPU 一起工作,你需要装饰那些实际需要 GPU 的 Python 函数,@spaces.GPU
在调用装饰函数时,Space 将被归属于 GPU,并在函数完成后释放它。
这是一个实际的例子:
+import spaces
from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained(...)
pipe.to('cuda')
+@spaces.GPU
def generate(prompt):
return pipe(prompt).images
gr.Interface(
fn=generate,
inputs=gr.Text(),
outputs=gr.Gallery(),
).launch()
- 我们首先
import spaces
(首先导入它可能会防止一些问题,但不是强制性的) - 然后我们通过在定义之前添加一行来装饰该
generate
函数@spaces.GPU
请注意,这@spaces.GPU
是无影响的,可以安全地在非 ZeroGPU 环境中使用
期间
如果您预计 GPU 函数需要超过60 秒,那么您需要duration
在装饰器中指定一个参数,例如:
@spaces.GPU(duration=120)
def generate(prompt):
return pipe(prompt).images
它将把函数调用的最大持续时间设置为 120 秒。
如果您知道函数所需的时间远小于默认值 60 秒,您还可以指定持续时间。
持续时间越短,您的太空访客在队列中的优先级就越高
抢先体验
如果您想作为 Space 作者尝试 ZeroGPU,请随意加入该组织。 ✋ 我们应该在检查您的 HF 个人资料后不久就接受您。