Optimum 文档

使 Transformers/Diffusers 脚本适应 Intel Gaudi

您正在查看 main 版本,该版本需要从源代码安装. 如果您想进行常规 pip 安装,请查看最新的稳定版本 (v1.24.0)。
Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

使 Transformers/Diffusers 脚本适应 Intel Gaudi

🤗 Optimum for Intel Gaudi 具有针对许多最新的 🤗 Transformers 和 Diffusers 模型进行 HPU 优化的支持。要转换脚本以使用针对 Gaudi 设备优化的模型,可以执行简单的适配。

Transformers

以下是如何为 Intel Gaudi 进行 transformers 脚本适配

- from transformers import Trainer, TrainingArguments
+ from optimum.habana import GaudiTrainer, GaudiTrainingArguments

# Define the training arguments
- training_args = TrainingArguments(
+ training_args = GaudiTrainingArguments(
+   use_habana=True,
+   use_lazy_mode=True,
+   gaudi_config_name=gaudi_config_name,
  ...
)

# Initialize our Trainer
- trainer = Trainer(
+ trainer = GaudiTrainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset
    ... # other arguments
)

其中 gaudi_config_name 是 Hub 中模型的名称或本地 Gaudi 配置文件的路径。Gaudi 配置以 JSON 文件形式存储在模型仓库中,但您可以编写自己的配置。更多信息请点击此处

Diffusers

🤗 Optimum for Intel Gaudi 还具有针对 🤗 Diffusers 库进行 HPU 优化的支持。因此,您可以轻松地在 Gaudi 上部署 Stable Diffusion 以执行文本到图像的生成。

以下是如何使用它以及与 🤗 Diffusers 库的区别

- from diffusers import DDIMScheduler, StableDiffusionPipeline
+ from optimum.habana.diffusers import GaudiDDIMScheduler, GaudiStableDiffusionPipeline


model_name = "runwayml/stable-diffusion-v1-5"

- scheduler = DDIMScheduler.from_pretrained(model_name, subfolder="scheduler")
+ scheduler = GaudiDDIMScheduler.from_pretrained(model_name, subfolder="scheduler")

- pipeline = StableDiffusionPipeline.from_pretrained(
+ pipeline = GaudiStableDiffusionPipeline.from_pretrained(
    model_name,
    scheduler=scheduler,
+   use_habana=True,
+   use_hpu_graphs=True,
+   gaudi_config="Habana/stable-diffusion",
)

outputs = pipeline(
    ["An image of a squirrel in Picasso style"],
    num_images_per_prompt=16,
+   batch_size=4,
)
< > 在 GitHub 上更新