使用 AWS Inferentia2 加速 Hugging Face Transformers
TL;DR
Hugging Face 與 AWS 合作,針對 AWS Inferentia2(全新專為推論設計的加速器)優化 Transformer 模型。此合作讓開發者能在不需複雜手動模型切分或分散技術的情況下,部署大型模型,並顯著降低延遲、提升吞吐量。
AWS Inferentia2 的功能與效能
AWS Inferentia2 是 Inferentia1 的後繼產品,專為優化模型推論的成本與速度而設計。相較於前代產品及可比的 GPU 實例,它提供了顯著的效能提升。
效能提升
- 與 Inferentia1 的比較:Inferentia2 晶片的吞吐量提升 4 倍,延遲降低 10 倍。
- 與 NVIDIA A10G(G5 實例)的比較:Amazon EC2 Inf2 實例的吞吐量最高提升 2.6 倍,延遲降低 8.1 倍,且每瓦效能較可比的 G5 實例提升 50%。
可擴展性與記憶體
Inf2 實例提供多種規格,內含 1 至 12 顆 Inferentia2 晶片。這些晶片使用直接晶片間連接以支援分散式推論。最大規格的實例 inf2.48xlarge 提供足夠的記憶體,可載入參數高達 1750 億的模型,例如 GPT-3 或 BLOOM。
與 Hugging Face 的整合
為降低開發複雜度,Hugging Face 提供 optimum neuron 函式庫。此整合由 AWS Neuron SDK 驅動,讓使用者只需一行程式碼即可為 Inferentia2 編譯模型,免除手動模型修改或切分的需求。
基準測試結果
Hugging Face 針對六種模型架構(BERT-base、BERT-Large、RoBERTa-base、DistilBERT、ALBERT-base 與 ViT-base)進行了 144 項實驗,批次大小為 1,序列長度介於 8 到 512。基準測試比較了 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 轉向 Transformers。
基準配置
在 GPU 上評估的模型以 fp32 執行,未進行額外優化。主要測量指標為 p95 延遲(單次預測(含前後處理)所需時間)與吞吐量(固定時間內的執行次數)。