英特爾 Gaudi 加速輔助生成

HuggingFace發表於2024-06-26

隨著模型規模的增長,生成式人工智慧的實現需要大量的推理資源。這不僅增加了每次生成的成本,而且還增加了用於滿足此類請求的功耗。因此,文字生成的推理最佳化對於降低延遲、基礎設施成本以及功耗都至關重要,其可以改善使用者體驗並提高文字生成任務的效率。

輔助解碼是一種用於加速文字生成的流行方法。我們在英特爾 Gaudi2 上對其進行了適配和最佳化,使得其效能與英偉達 H100 GPU 相當,一如我們在 之前的博文 中所展示的,但 Gaudi2 的價格僅相當於英偉達 A100 80GB GPU。這項工作現已整合入 Optimum Habana,Optimum Habana 對 Transformers 和 Diffusers 等各種 Hugging Face 庫進行了擴充套件,以在英特爾 Gaudi 處理器上對使用者的工作流進行全面最佳化。

投機取樣 - 輔助解碼

投機取樣是一種用於加速文字生成的技術。其工作原理是用一個草稿模型一次生成 K 個詞元,再由目標模型對這 K 個生成詞元進行評估。如若草稿模型生成的某個位置的詞元被拒絕,則用目標模型來生成該位置的詞元,並丟棄草稿模型生成的隨後詞元,反覆執行上述過程直至結束。使用投機取樣,可以提高文字生成的速度並得到與原始自迴歸取樣相當的生成質量。使用該技術時,使用者可以指定草稿模型。資料證明,推測取樣可為基於 transformer 的大模型帶來約 2 倍的加速。一句話概括,投機取樣可以加速文字生成並提高英特爾 Gaudi 處理器上的文字生成效能。

然而,草稿模型和目標模型 KV 快取尺寸不同,因此同時分別對這兩個模型進行最佳化顯得尤為重要。本文,我們假設目標模型為一個量化模型,並利用 KV 快取和投機取樣對其進行加速。請注意,這裡每個模型都有自己的 KV 快取。我們用草稿模型生成 K 個詞元,然後用目標模型對其進行評估; 當草稿模型生成的詞元被拒絕時,目標模型會用於生成被拒絕位置的詞元,並丟棄草稿模型生成的隨後詞元; 接著草稿模型繼續生成接下來的 K 個詞元,如此往復。

請注意,文獻 [2] 證明了執行投機取樣可以恢復目標模型的分佈 - 這從理論上保證了投機取樣可以達到與對目標模型自身進行自迴歸取樣相同的取樣質量。因此,不採用投機取樣的理由僅在於收益,如草稿模型的尺寸並沒有足夠的比較優勢,抑或是草稿模型生成詞元的接受比太低。

輔助生成是一種類似於投機取樣的技術,其大約與投機取樣同一時間被獨立發明出來 [3]。其作者將此方法整合到了 Hugging Face Transformers 中,現在模型的 .generate() 的方法中有一個可選的 assistant_model 引數用於啟用輔助生成。

用法及實驗

在 Gaudi 上使用輔助生成非常簡單,我們在 這裡 提供了一個示例。

顧名思義,引數 --assistant_model 用於指定草稿模型。草稿模型用於生成 K 個詞元,然後由目標模型對其進行評估。當草稿模型生成的詞元被拒絕時,目標模型會自己生成該位置的詞元,並將草稿模型生成的該位置之後的詞元丟棄。接著,草稿模型再生成接下來的 K 個詞元,如此往復。草稿模型的接受率部分取決於模型選擇,部分取決於輸入文字。一般情況下,輔助生成能將大型 transformer 族模型的速度提高約 2 倍。

總結

Gaudi 現已支援使用者簡單易用地使用輔助生成加速文字生成,使用者可用其進一步提高英特爾 Gaudi 處理器的效能。該方法基於投機取樣,已被證明可以有效提高基於大型 transformer 模型的效能。

參考文獻

[1] N. Shazeer,Fast Transformer Decoding: One Write-Head is All You Need,Nov. 2019,arXiv:1911.02150.

[2] C. Chen,S. Borgeaud,G. Irving,J.B. Lespiau,L. Sifre,J. Jumper, Accelerating Large Language Model Decoding with Speculative Sampling,Feb. 2023,arXiv:2302.01318

[3] J. Gante,輔助生成: 低延遲文字生成的新方向,May 2023,https://hf.co/blog/zh/assisted-generation


英文原文: https://hf.co/blog/assisted-generation-support-gaudi

原文作者: Haim Barad,Tien Pei Chou

譯者: Matrix Yao (姚偉峰),英特爾深度學習工程師,工作方向為 transformer-family 模型在各模態資料上的應用及大規模模型的訓練推理。

相關文章