Habana GaudiでTransformerを始める
Hugging Face と Habana Labs は提携し、Transformer モデルのトレーニングを加速します。Habana Gaudi アクセラレータを利用することで、最新の GPU ベースの Amazon EC2 インスタンスと比較して最大 40% の価格性能向上が期待できます。
AWS 上で Habana Gaudi をデプロイする
Habana Gaudi アクセラレータに最も効率的にアクセスできる方法は、8 つの Habana Gaudi プロセッサを搭載した Amazon EC2 DL1 インスタンスを利用することです。環境を構築するには、Habana Deep Learning Amazon Machine Image (AMI) を使用できます。この AMI には Habana SynapseAI® SDK と、Gaudi 加速 Docker コンテナを実行するために必要なツールが事前にインストールされています。
インスタンス構成
Gaudi インスタンスの設定には以下の仕様が必要です:
- Instance Type:
dl1.24xlarge(唯一利用可能なサイズ) - Region: us-east-1
- Storage: デフォルトの 8 GB ではトレーニングに不足するため、最低 50 GB の Amazon EBS ストレージを推奨します
- Cost Management: Spot インスタンスを活用するとコストを大幅に削減できます。例として、時間単価を $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 で Transformer をファインチューニングする
Habana Gaudi 上で Transformer モデルをトレーニングするには、optimum-habana ライブラリが利用できます。このパッケージにより、テキスト分類などのタスクで Gaudi ハードウェアを活用できます。
実装ワークフロー
モデルをファインチューニングするには、以下の手順が必要です:
- Install Optimum Habana:
optimum-habanaリポジトリをクローンし、ソースからパッケージをインストールします。 - Prepare Environment: テキスト分類サンプルディレクトリにある
requirements.txtを使用して、必要な Python 依存関係をインストールします。 - Execute Training:
run_glue.pyスクリプトを実行してトレーニングジョブを開始します。
パフォーマンス例:BERT テキスト分類
GLUE ベンチマークの MRPC タスクで bert-large-uncased-whole-word-masking モデルをデモ的にファインチューニングした結果、以下の成果が得られました:
- Training Time: 2 分 12 秒
- F1 Score: 0.9181
- Training Throughput: 82.824 サンプル/秒
- Evaluation Accuracy: 0.8505
ユーザーは Hugging Face Hub の Habana 組織から、BERT やその他の人気モデル向けの Habana Gaudi 設定を直接取得できます。