Optimum 文件

快速入門

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

並獲得增強的文件體驗

開始使用

快速入門

在 Intel® Gaudi® 加速器上執行您的 AI 工作負載,只需幾個簡單步驟即可完成。在本快速指南中,我們將展示如何使用 🤗 Optimum for Intel Gaudi 庫在 Intel Gaudi 2 加速器上對 GPT-2 模型進行推理。

Optimum for Intel Gaudi 庫經過最佳化,可在 Intel Gaudi 加速器上執行各種 AI 工作負載,幷包含完整的推理、訓練和微調示例文件。請參閱 Optimum for Intel Gaudi GitHub 頁面獲取更多資訊。

訪問 Intel Gaudi AI 加速器

要訪問 Intel® Tiber™ AI Cloud 中的 Intel Gaudi AI 加速器節點,請前往 Intel Tiber AI Cloud 並訪問硬體例項,選擇用於深度學習的 Intel Gaudi AI 加速器平臺,然後按照步驟啟動並連線到該節點。

Docker 設定

現在您已獲得節點訪問許可權,您將透過執行 `docker run` 命令來使用最新的 Intel Gaudi AI 加速器 Docker 映象,該命令會自動下載並執行 Docker。在撰寫本指南時,最新的 Gaudi Docker 版本是 1.21.0。

release=1.21.0
os=ubuntu22.04
torch=2.6.0
docker_image=vault.habana.ai/gaudi-docker/$release/$os/habanalabs/pytorch-installer-$torch:latest

訪問 Intel Gaudi AI 加速器釋出說明頁面以獲取最新的 Intel Gaudi AI 加速器軟體版本資訊。或者,檢視

https://vault.habana.ai/ui/native/gaudi-docker 獲取所有已釋出的 Intel® Gaudi® AI 加速器 Docker 映象列表。

執行 `docker run` 命令

docker run -itd \
    --name Gaudi_Docker \
    --runtime=habana \
    -e HABANA_VISIBLE_DEVICES=all \
    -e OMPI_MCA_btl_vader_single_copy_mechanism=none \
    --cap-add=sys_nice \
    --net=host \
    --ipc=host \
    ${docker_image}

Optimum for Intel Gaudi 設定

在此處檢視 Optimum for Intel Gaudi 的最新發布版本。在撰寫本指南時,最新的 Optimum for Intel Gaudi 釋出版本是 v1.18.0,它與 Intel Gaudi 軟體釋出版本 1.21.0 配套使用。按如下方式安裝 Optimum for Intel Gaudi

git clone -b v1.18.0 https://github.com/huggingface/optimum-habana
pip install ./optimum-habana

所有可用的示例都位於 optimum-habana/examples 下。

這是一個 文字生成示例,要在 Gaudi 上執行 Llama-2 7B 文字生成示例,請完成先決條件設定

cd ~/optimum-habana/examples/text-generation
pip install -r requirements.txt

為了能夠執行像 Llama-2 7B 這樣的門禁模型,您應該:

  • 有一個 🤗 賬戶
  • 在其模型卡片中同意模型的使用條款
  • 按照此處的說明設定您的令牌
  • 在啟動指令碼前,使用 HF CLI 登入您的賬戶:執行 huggingface-cli login

單裝置推理

在單個 Gaudi 裝置 (HPU) 上執行 Llama-2 7B 模型的推理

PT_HPU_LAZY_MODE=1 python run_generation.py \
    --model_name_or_path meta-llama/Llama-2-7b-hf \
    --use_hpu_graphs \
    --use_kv_cache \
    --max_new_tokens 100 \
    --do_sample \
    --prompt "Here is my prompt"

所有可能引數的列表可以透過執行帶 `--help` 的指令碼獲得

多裝置推理

對於擁有多個 Gaudi 裝置的系統,例如一個有 8 個 HPU 的系統,您可以使用像 Microsoft® DeepSpeed 這樣的庫來執行分散式推理。Intel 在 https://github.com/HabanaAI/DeepSpeed 維護著該庫的 Gaudi 特定分支。

要安裝與同一 Gaudi 軟體版本堆疊相容的庫,請使用:

pip install git+https://github.com/HabanaAI/DeepSpeed.git@1.21.0

成功安裝 DeepSpeed 後,我們現在可以在一個 8 HPU 系統上執行分散式 GPT-2 推理,如下所示:

number_of_devices=8 \
PT_HPU_LAZY_MODE=1 python ../gaudi_spawn.py --use_deepspeed --world_size ${number_of_devices} \
run_generation.py \
    --model_name_or_path meta-llama/Llama-2-7b-hf \
    --use_hpu_graphs \
    --use_kv_cache \
    --max_new_tokens=100 \
    --do_sample \
    --prompt="Here is my prompt"

在 Gaudi 上進行訓練

🤗 Optimum for Intel Gaudi 包含許多演示單 Gaudi 裝置和多 Gaudi 裝置訓練/微調的示例。

例如,可以使用 語言建模示例部分 提供的指令碼來訓練多種語言模型。

作為說明,讓我們在 Gaudi 上執行 GPT-2 的單卡和多卡訓練示例。

使用以下命令安裝先決條件:

cd ~/optimum-habana/examples/language-modeling
pip install -r requirements.txt

要在單卡上訓練 GPT-2 模型,請使用:

PT_HPU_LAZY_MODE=1 python run_clm.py \
    --model_name_or_path gpt2 \
    --dataset_name wikitext \
    --dataset_config_name wikitext-2-raw-v1 \
    --per_device_train_batch_size 4 \
    --per_device_eval_batch_size 4 \
    --do_train \
    --do_eval \
    --output_dir /tmp/test-clm \
    --gaudi_config_name Habana/gpt2 \
    --use_habana \
    --use_lazy_mode \
    --use_hpu_graphs_for_inference \
    --throughput_warmup_steps 3

要使用多卡 Gaudi 系統訓練 GPT-2 模型:

number_of_devices=8 \
PT_HPU_LAZY_MODE=1 python ../gaudi_spawn.py --use_deepspeed --world_size ${number_of_devices} \
run_clm.py \
    --model_name_or_path gpt2 \
    --dataset_name wikitext \
    --dataset_config_name wikitext-2-raw-v1 \
    --per_device_train_batch_size 4 \
    --per_device_eval_batch_size 4 \
    --do_train \
    --do_eval \
    --output_dir /tmp/test-clm \
    --gaudi_config_name Habana/gpt2 \
    --use_habana \
    --use_lazy_mode \
    --use_hpu_graphs_for_inference \
    --gradient_checkpointing \
    --use_cache False \
    --throughput_warmup_steps 3

擴散模型工作負載

🤗 Optimum for Intel Gaudi 還為 🤗 Diffusers 庫提供了針對 HPU 最佳化的支援。因此,您可以在 Gaudi 上部署 Stable Diffusion 和類似的擴散模型,並啟用文字到影像生成以及其他基於擴散的工作負載。

在 Gaudi 上執行 Stable Diffusion 推理示例之前,請完成先決條件設定:

cd ~/optimum-habana/examples/stable-diffusion
pip install -r requirements.txt

以下是在 Gaudi 上執行 Stable Diffusion 文字到影像推理的示例:

PT_HPU_LAZY_MODE=1 python text_to_image_generation.py \
    --model_name_or_path CompVis/stable-diffusion-v1-4 \
    --prompts "An image of a squirrel in Picasso style" \
    --num_images_per_prompt 10 \
    --batch_size 1 \
    --image_save_dir /tmp/stable_diffusion_images \
    --use_habana \
    --use_hpu_graphs \
    --gaudi_config Habana/stable-diffusion \
    --bf16

此外,這裡還有一個示例,展示瞭如何使用 Optimum for Intel Gaudi 庫修改基本的 🤗 Diffusers Stable Diffusion pipeline 呼叫,使其在 Gaudi 上工作:

- 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,
)

此外,在 Stable Diffusion 訓練部分中提供了微調擴散模型的示例指令碼。

下面給出了 Optimum for Intel Gaudi 中更全面的示例列表。

即用型示例

現在您已經運行了一個完整的推理案例,您可以返回到 Optimum for Intel Gaudi 已驗證模型頁面,檢視更多執行推理的選項。

以下是可直接使用的各種模態和任務的示例:

要了解更多關於如何為 Intel Gaudi 適配 🤗 Transformers 或 Diffusers 指令碼的資訊,請檢視指令碼適配指南。

< > 在 GitHub 上更新

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