Optimum 文件

將 Transformers/Diffusers 指令碼適配到 Intel Gaudi

您正在檢視的是需要從原始碼安裝。如果您想透過常規 pip 安裝,請檢視最新的穩定版本 (v1.27.0)。
Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

將 Transformers/Diffusers 指令碼適配到 Intel Gaudi

適用於 Intel Gaudi 的 🤗 Optimum 支援許多最新的 🤗 Transformers 和 Diffusers 模型並進行了 HPU 最佳化。要將指令碼轉換為使用針對 Gaudi 裝置最佳化的模型,可以執行簡單的適配。

Transformers

以下是為 Intel Gaudi 執行 Transformer 指令碼適配的方法

- 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

適用於 Intel Gaudi 的 🤗 Optimum 也支援 🤗 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 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.