在 Habana Gaudi 上開始使用 Transformers
Hugging Face 與 Habana Labs 合作,加速 Transformer 模型的訓練,利用 Habana Gaudi 加速器提供相較於最新的基於 GPU 的 Amazon EC2 實例高達 40% 的價格效能提升。
在 AWS 上部署 Habana Gaudi
存取 Habana Gaudi 加速器的最有效方式是透過 Amazon EC2 DL1 實例,該實例配備八顆 Habana Gaudi 處理器。要建立環境,使用者可以利用 Habana Deep Learning Amazon Machine Image(AMI),該映像已預先安裝 Habana SynapseAI® SDK 以及執行 Gaudi 加速 Docker 容器所需的工具。
實例配置
設定 Gaudi 實例需要以下規格:
- 實例類型:
dl1.24xlarge(唯一可用的規格)。 - 區域:us-east-1。
- 儲存空間:建議至少 50GB 的 Amazon EBS 儲存,因為預設的 8GB 無法滿足訓練需求。
- 成本管理:使用 Spot Instances 可大幅降低成本;例如,將每小時費用從 $13.11 降至 $3.93(節省 70%)。
軟體環境
透過 SSH 啟動實例後,使用者必須拉取特定的 Habana Docker 容器以支援 PyTorch,確保相容性。此設定建議使用的映像為 vault.habana.ai/gaudi-docker/1.5.0/ubuntu20.04/habanalabs/pytorch-installer-1.11.0:1.5.0-610。
使用 Optimum Habana 微調 Transformers
在 Habana Gaudi 上訓練 Transformer 模型可透過 optimum-habana 函式庫來實現。此套件讓使用者能夠利用 Gaudi 硬體執行文字分類等任務。
實作流程
要微調模型,需要以下步驟:
- 安裝 Optimum Habana:克隆
optimum-habana倉庫,並從原始碼安裝套件。 - 準備環境:透過文字分類範例目錄中的
requirements.txt檔案安裝必要的 Python 相依套件。 - 執行訓練:使用
run_glue.py腳本啟動訓練工作。
效能範例:BERT 文字分類
在示範微調 bert-large-uncased-whole-word-masking 模型於 GLUE 基準測試的 MRPC 任務時,取得以下結果:
- 訓練時間:2 分鐘 12 秒。
- F1 分數:0.9181。
- 訓練吞吐量:每秒 82.824 個樣本。
- 評估準確率:0.8505。
使用者可直接從 Hugging Face Hub 上的 Habana 組織取得 BERT 及其他熱門模型的 Habana Gaudi 配置。