Optimum 文档

快速入门

您正在查看 主分支 版本,需要从源代码安装。如果您想使用常规的 pip 安装,请查看最新的稳定版本(v1.23.1)。
Hugging Face's logo
加入 Hugging Face 社区

并获取增强型文档体验

开始使用

快速入门

🤗 Optimum Habana 的设计目标只有一个:**使任何 🤗 Transformers 用户都能轻松进行训练和评估,同时充分利用 Gaudi 处理器的强大功能**。用户需要了解两个主要的类

  • GaudiTrainer:负责编译(惰性或急切模式)并将模型分配到 HPU 上运行,并执行训练和评估的训练器类。
  • GaudiConfig:允许配置 Habana 混合精度并决定是否使用优化算子和优化器的类。

The GaudiTrainer🤗 Transformers Trainer 非常相似,并且使使用 Trainer 的脚本能够在 Gaudi 上工作,主要包括将 Trainer 类替换为 GaudiTrainer 类。大多数 示例脚本 都是从其 原始对应脚本 转换而来。

- 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 配置文件的路径(您可以 查看此处 如何编写自己的配置文件)。

稳定扩散

🤗 Optimum Habana 还为 🤗 Diffusers 库提供了针对 HPU 的优化支持。因此,您可以轻松地在 Gaudi 上部署 Stable Diffusion 以执行文本到图像生成。

以下是使用方法以及与 🤗 Diffusers 库的区别

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


model_name = "CompVis/stable-diffusion-v1-4"

- 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 上更新