AWS Inferentia2 で Hugging Face Transformers を高速化
TL;DR
Hugging Face は AWS と提携し、AWS Inferentia2(新しい特定用途向け推論アクセラレータ)向けに Transformer モデルを最適化しました。このコラボレーションにより、開発者は複雑な手動モデルスライシングや分散手法を必要とせず、レイテンシを大幅に低減し、スループットを向上させた大規模モデルをデプロイできます。
AWS Inferentia2 の機能とパフォーマンス
AWS Inferentia2 は Inferentia1 の後継機種で、モデル推論のコストと速度を最適化するよう設計されています。前世代および同等の GPU インスタンスに比べて、かなりのパフォーマンス向上を実現します。
パフォーマンス向上
- Comparison to Inferentia1: Inferentia2 チップはスループットが 4 倍、レイテンシが 10 倍削減されます。
- Comparison to NVIDIA A10G (G5 instances): Amazon EC2 Inf2 インスタンスは、同等の G5 インスタンスに対して最大 2.6 倍のスループット、8.1 倍の低レイテンシ、そして 50% のワット当たり性能向上を提供します。
スケーラビリティとメモリ
Inf2 インスタンスはさまざまなサイズで提供され、1 から 12 の Inferentia2 チップを搭載しています。これらのチップは直接チップ間接続を利用して分散推論を行います。最大サイズのインスタンス inf2.48xlarge は、GPT-3 や BLOOM など最大 1750 億パラメータのモデルをロードできる十分なメモリを提供します。
Hugging Face との統合
開発の複雑さを軽減するため、Hugging Face は optimum neuron ライブラリを提供しています。この統合は AWS Neuron SDK によって支えられ、ユーザーは 1 行のコードで Inferentia2 用にモデルをコンパイルでき、手動でのモデル変更やスライシングが不要になります。
ベンチマーク結果
Hugging Face は、バッチサイズ 1、シーケンス長 8〜512 の範囲で、6 つのモデルアーキテクチャ(BERT-base、BERT-Large、RoBERTa-base、DistilBERT、ALBERT-base、ViT-base)に対して 144 件の実験を実施しました。ベンチマークでは inf1.2xlarge(Inferentia1)、inf2.xlarge(Inferentia2)、g5.2xlarge(NVIDIA A10G GPU)を比較しました。
主なレイテンシ結果
平均すると、AWS Inferentia2 は NVIDIA A10G GPU に比べて 4.5 倍、Inferentia1 インスタンスに比べて 4 倍優れたレイテンシを実現します。
- BERT-base: シーケンス長が 256 までの場合、Inferentia2 は他の構成に対して約 6 倍の優位性を示します。
- Vision Transformer (ViT-base): Inferentia2 は NVIDIA A10G に比べて 2 倍のレイテンシ改善を提供し、リアルタイムアプリケーションでの CNN から Transformer への移行を容易にします。
ベンチマーク構成
GPU 上で評価されたモデルは、追加の最適化なしで fp32 で実行されました。測定された主な指標は p95 レイテンシ(前処理および後処理を含む単一予測の時間)とスループット(一定時間内の実行回数)です。