Hugging Face 整合 AMD Instinct MI300 GPU

Hugging Face 與 AMD 已將 AMD Instinct MI300 GPU 整合至 Hugging Face 平台,提供對 transformerstext-generation-inference(TGI)以及其他核心函式庫的無縫支援。此整合讓使用者能在 AMD MI300 硬體上部署模型,包括 Azure ND MI300x V5 虛擬機,且無需更改程式碼。

開源與生產就緒

為確保長期的穩定性與正確性,Hugging Face 為 MI300 系列實作了穩健的 CI/CD 流程。

CI/CD 基礎設施

透過使用 Azure ND MI300x V5 虛擬機與受管理的 Kubernetes 叢集,Hugging Face 現在能定期在 MI300 與前一代的 MI250 GPU 上執行數萬個單元測試。此基礎設施將硬體特定的 pod 抽象化,讓開發者免除關注,確保 transformerstext-generation-inference 在不同 AMD 硬體平台上皆保持相容且具效能。

生產 AI 工作負載效能

整合工作聚焦於 TGI 的模型層,以優化在 MI300 硬體上執行 Meta Llama 系列模型的效能。

推論效能

優化工作包括整合 Flash Attention v2、Paged Attention、GPTQ/AWQ 壓縮技術,以及最佳化的融合核心。

TunableOp 的角色

自 PyTorch 2.3 起,Hugging Face 整合了 AMD TunableOp,這是一種根據形狀與資料類型找出執行一般矩陣乘法(GEMM)最有效方式的機制。在 TGI 暖機階段,TunableOp 會為使用者的特定序列長度與批次大小找出最佳設定,並在伺服器運行期間鎖定這些例程。此舉在自回歸解碼階段對小輸入序列的延遲提升 8-10%。

基準測試:MI300 與 MI250

在 Azure ND MI300x V5 上使用 Meta Llama 3 70B 時,MI300X 相較於 MI250 展現顯著提升:

  • 首次 Token 時間(Prefill): 提升 2 倍至 3 倍。
  • 自回歸解碼延遲: 提升 2 倍。

模型微調效能

微調測試使用 TransformersPEFT(搭配 LoRA)以及透過 Accelerate 函式庫的 DeepSpeed Zero3,在 Llama 3 70B 上進行。

  • 訓練速度: 在搭載 MI300X 的 Azure 虛擬機上,訓練速度約為 MI250 HPC 伺服器的 2 倍。
  • 記憶體容量: MI300X 的 192 GB HBM3 記憶體允許在單一裝置上完整載入並微調 Meta Llama 3 70B(約 140 GB 的 float16/bfloat16),此在 128 GB 的 MI250 上無法實現。

未來路線圖

Hugging Face 目前正投入「minifloat」支援(float8 及更低)。預期可將 LLM 推論中的鍵值快取大小減半。未來目標包括結合 float8 儲存的鍵值快取與 float8/float8 矩陣乘法,以進一步降低記憶體占用並提升效能。

Sources