Diffusers 文档
Habana Gaudi
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
Habana Gaudi
🤗 Diffusers 通过 🤗 Optimum 与 Habana Gaudi 兼容。按照安装指南安装 SynapseAI 和 Gaudi 驱动程序,然后安装 Optimum Habana
python -m pip install --upgrade-strategy eager optimum[habana]
要在 Gaudi 上使用 Stable Diffusion 1 和 2 生成图像,您需要实例化两个实例
GaudiStableDiffusionPipeline
,一个用于文本到图像生成的 pipeline。GaudiDDIMScheduler
,一个 Gaudi 优化的 scheduler。
当您初始化 pipeline 时,您必须指定 use_habana=True
以将其部署在 HPU 上,为了获得最快的生成速度,您应该使用 use_hpu_graphs=True
启用 HPU graphs。
最后,指定一个 GaudiConfig
,可以从 Hub 上的 Habana 组织下载。
from optimum.habana import GaudiConfig
from optimum.habana.diffusers import GaudiDDIMScheduler, GaudiStableDiffusionPipeline
model_name = "stabilityai/stable-diffusion-2-base"
scheduler = GaudiDDIMScheduler.from_pretrained(model_name, subfolder="scheduler")
pipeline = GaudiStableDiffusionPipeline.from_pretrained(
model_name,
scheduler=scheduler,
use_habana=True,
use_hpu_graphs=True,
gaudi_config="Habana/stable-diffusion-2",
)
现在您可以调用 pipeline,通过一个或多个 prompts 以 batches 方式生成图像
outputs = pipeline(
prompt=[
"High quality photo of an astronaut riding a horse in space",
"Face of a yellow cat, high resolution, sitting on a park bench",
],
num_images_per_prompt=10,
batch_size=4,
)
有关更多信息,请查看 🤗 Optimum Habana 的文档和官方 GitHub 存储库中提供的示例。
Benchmark
我们使用 Habana/stable-diffusion 和 Habana/stable-diffusion-2 Gaudi 配置(混合精度 bf16/fp32)对 Habana 的第一代 Gaudi 和 Gaudi2 进行了基准测试,以展示它们的性能。
对于 Stable Diffusion v1.5 在 512x512 图像上
延迟 (batch size = 1) | 吞吐量 | |
---|---|---|
第一代 Gaudi | 3.80 秒 | 0.308 图像/秒 (batch size = 8) |
Gaudi2 | 1.33 秒 | 1.081 图像/秒 (batch size = 8) |
对于 Stable Diffusion v2.1 在 768x768 图像上
延迟 (batch size = 1) | 吞吐量 | |
---|---|---|
第一代 Gaudi | 10.2 秒 | 0.108 图像/秒 (batch size = 4) |
Gaudi2 | 3.17 秒 | 0.379 图像/秒 (batch size = 8) |