使用 AWS Inferentia2 加速 Hugging Face Transformers

釋出於 2023 年 4 月 17 日
在 GitHub 上更新

在過去五年中,Transformer 模型 [1] 已成為許多機器學習 (ML) 任務的事實標準,例如自然語言處理 (NLP)、計算機視覺 (CV)、語音等。如今,許多資料科學家和機器學習工程師依賴於流行的 Transformer 架構,如 BERT [2]、RoBERTa [3]、Vision Transformer [4],或 Hugging Face Hub 上超過 130,000 個預訓練模型中的任何一個,以最先進的準確性解決複雜的業務問題。

然而,儘管 Transformer 模型非常強大,但在生產環境中部署它們可能具有挑戰性。除了通常與模型部署相關的基礎架構問題(我們透過 Inference Endpoints 服務在很大程度上解決了這些問題),Transformer 是大型模型,其大小通常超過幾個 GB。像 GPT-J-6BFlan-T5Opt-30B 這樣的大型語言模型 (LLM) 的大小在幾十 GB,更不用說像 BLOOM 這樣的巨型模型了,這是我們自己的 LLM,其大小達到了 350 GB。

將這些模型裝入單個加速器可能非常困難,更不用說獲得應用程式所需的高吞吐量和低推理延遲了,比如對話式應用程式和搜尋。到目前為止,機器學習專家設計了複雜的手動技術來切分大型模型,將它們分佈在加速器叢集上,並最佳化其延遲。不幸的是,這項工作非常困難、耗時,並且對於許多機器學習從業者來說是遙不可及的。

在 Hugging Face,我們致力於實現機器學習的民主化,並始終尋求與那些同樣相信每個開發者和組織都應該從最先進的模型中受益的公司合作。為此,我們很高興能與 Amazon Web Services 合作,為 AWS Inferentia 2 最佳化 Hugging Face Transformers!這是一款全新的專用推理加速器,可提供前所未有的吞吐量、延遲、每瓦效能和可擴充套件性。

AWS Inferentia2 簡介

AWS Inferentia2 是 2019 年推出的 Inferentia1 的下一代產品。由 Inferentia1 驅動的 Amazon EC2 Inf1 例項與基於 NVIDIA A10G GPU 的同類 G5 例項相比,吞吐量提高了 25%,成本降低了 70%,而 AWS 再次透過 Inferentia2 推動了技術極限。

與 Inferentia 相比,新的 Inferentia2 晶片的吞吐量提高了 4 倍,延遲降低了 10 倍。同樣,新的 Amazon EC2 Inf2 例項與同類 G5 例項相比,吞吐量提高了 2.6 倍,延遲降低了 8.1 倍,每瓦效能提高了 50%。Inferentia 2 兩全其美:高吞吐量帶來的成本最佳化和低推理延遲帶來的應用響應時間。

Inf2 例項有多種大小可供選擇,配備 1 到 12 個 Inferentia 2 晶片。當存在多個晶片時,它們透過超快的 Inferentia2 到 Inferentia2 直接連線進行互連,以在大型模型上進行分散式推理。例如,最大的例項大小 inf2.48xlarge 擁有 12 個晶片和足夠的記憶體來載入像 GPT-3 或 BLOOM 這樣的 1750 億引數模型。

值得慶幸的是,這一切都沒有以增加開發複雜性為代價。使用 optimum-neuron,您無需切分或修改模型。由於 AWS Neuron SDK 中的原生整合,只需一行程式碼即可為 Inferentia 2 編譯模型。您可以在幾分鐘內進行實驗!測試您的模型在 Inferentia 2 上可以達到的效能,並親自見證。

說到這裡,讓我們向您展示幾個 Hugging Face 模型在 Inferentia 2 上的執行情況。基準測試時間到!

在 AWS Inferentia 2 上對 Hugging Face 模型進行基準測試

我們評估了 Hugging Face Hub 中一些最受歡迎的 NLP 模型,包括 BERT、RoBERTa、DistilBERT,以及像 Vision Transformers 這樣的視覺模型。

第一個基準測試比較了 Inferentia、Inferentia 2 和 GPU 的效能。我們在 AWS 上使用以下例項型別運行了所有實驗:

  • Inferentia1 - 由單個 Inferentia 晶片驅動的 inf1.2xlarge
  • Inferentia2 - 由單個 Inferentia2 晶片驅動的 inf2.xlarge
  • GPU - 由單個 NVIDIA A10G GPU 驅動的 g5.2xlarge

注意:我們沒有為 GPU 環境最佳化模型,模型是在 fp32 模式下評估的。

在對 Transformer 模型進行基準測試時,有兩個最常用的指標:

  • 延遲:模型執行單次預測所需的時間(預處理、預測、後處理)。
  • 吞吐量:在一個基準配置下,在固定時間內執行的次數。

我們研究了不同設定和模型下的延遲,以瞭解新 Inferentia2 例項的優勢和權衡。如果您想自己執行基準測試,我們建立了一個 Github 倉庫,其中包含所有資訊和指令碼。

結果

基準測試證實,AWS 聲稱的效能提升可以透過實際用例和示例重現和驗證。平均而言,AWS Inferentia2 的延遲比 NVIDIA A10G GPU 低 4.5 倍,比 Inferentia1 例項低 4 倍。

我們對 6 種不同的模型架構進行了 144 次實驗

在每個實驗中,我們收集了 p95 延遲的資料。您可以在此電子表格中找到基準測試的完整詳細資訊:HuggingFace:Inferentia2 基準測試

讓我們重點介紹基準測試的一些見解。

BERT-base

這是在每種基礎架構設定上執行 BERT-base 的延遲比較,延遲使用對數刻度。值得注意的是,對於高達 256 的序列長度,Inferentia2 的效能比所有其他設定都高出約 6 倍。


圖 1. BERT-base p95 延遲

Vision Transformer

這是在不同基礎架構設定上執行 ViT-base 的延遲比較。Inferentia2 的延遲比 NVIDIA A10G 低 2 倍,這有可能極大地幫助公司從傳統架構(如 CNN)轉向 Transformer,用於即時應用。


圖 1. ViT p95 延遲

結論

Transformer 模型已成為許多機器學習任務的首選解決方案。然而,由於其龐大的體積和延遲要求,在生產中部署它們一直具有挑戰性。得益於 AWS Inferentia2 以及 Hugging Face 和 AWS 之間的合作,開發人員和組織現在可以利用最先進模型的優勢,而無需具備廣泛的機器學習專業知識。您可以以低至 0.76 美元/小時的成本開始測試。

初步的基準測試結果令人鼓舞,表明與 Inferentia 和 NVIDIA A10G GPU 相比,Inferentia2 提供了卓越的延遲效能。這一最新突破有望使高質量的機器學習模型能夠為更廣泛的受眾所用,從而為每個人提供 AI 可訪問性。

社群

註冊登入 發表評論

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