預測token速度翻番!Transformer新解碼演算法火了,來自小羊駝團隊|代碼已開源

原始來源:量子維度

圖片來源:由無界 AI生成

小羊駝團隊的新研究火了。

他們開發了一種新的解碼演算法,可以讓模型預測100個token數的速度提高1.5-2.3倍,進而加速LLM推理。

比如這是同一個模型(LLaMa-2-Chat 7B)面對同一個使用者提問(蘇格拉底採用了哪些方法來挑戰他那個時代的主流思想?)時輸出回答的速度:

左邊為原演算法,耗時18.12s,每秒約35個token;

右邊為該演算法,耗時10.4s,每秒約60個token,**明顯快了一大截。 **

簡單來說,這是一種並行解碼演算法,名叫**“Lookahead Decoding”** (前向解碼)。

它主要利用雅可比(Jacobi)反覆運算法首次打破自回歸解碼中的順序依賴性 (眾所周知,當下大模型基本都是基於自回歸的Transformer)。

由此無需草稿模型(draft model)或數據存儲,就可以減少解碼步驟,加速LLM推理。

目前,作者已給出了與huggingface/transformers相容的實現,只需幾行代碼,消費者即可輕鬆增強HF原生生成的性能。

有網友表示:

該方法實在有趣,沒想到在離散設置上效果這麼好。

還有人稱,這讓我們離“即時大模型”又近了一步。

具體如何實現?

加速自回歸解碼的重要性

不管是GPT-4還是LLaMA,當下的大模型都是基於自回歸解碼,這種方法下的推理速度其實是非常慢的。

因為每個自回歸解碼步驟一次僅生成一個token

這樣一來,模型輸出的延遲有多高就取決於回答的長度。

更糟的是,這樣的操作方式還浪費了現代GPU的並行處理能:GPU利用率都很低。

對於聊天機器人來說,當然是延遲越低,回應越快越好(尤其面對長序列答案時)。

此前,有人提出了一種叫做推測解碼的加速自回歸解碼的演算法,大致思路是採用猜測和驗證策略,即先讓草稿模型預測幾個潛在的未來token,然後原始LLM去並行驗證。

該方法可以「憑好運氣」減少解碼步驟的數量,從而降低延遲.

但也有不少問題,比如效果受到token接受率的限制,創建準確的草稿模型也麻煩,通常需要額外的訓練和仔細的調整等。

在此,小羊駝團隊提出了一種的新的精確並行解碼演算法,即前向解碼來克服這些挑戰。

前向解碼打破順序依賴性

前向解碼之所以可行,是作者們觀察到:

儘管一步解碼多個新token是不可行的,但LLM確實可以並行生成多個不相交的n-grams——它們可能適合生成序列的未來部分。

這可以通過將自回歸解碼視為求解非線性方程,並採用經典的Jacobi反覆運算法進行並行解碼來實現。

在過程中,我們就讓生成的n-grams被捕獲並隨後進行驗證,如果合適就將其集成到序列中,由此實現在不到n個步驟的時間內生成n個token的操作。

作者介紹,前向解碼之所以能夠「脫穎而出」,主要是因為它:

一不需草稿模型即可運行,簡化了部署。

二是相對於每步log(FLOPs) 線性減少瞭解碼步驟數,最終在單個GPU、不同數據集上實現快1.5倍-2.3倍的token數預測。

更重要的是,它允許分配更多(大於1個GPU)的 FLOP,以在對延遲極其敏感的應用程式中實現更大程度地延遲下降,儘管這會帶來收益遞減。

下面是具體介紹:

1、前向解碼的動機Jacobi在進行求解非線性系統時,一併使用定點反覆運算方法一次性解碼所有的未來token。

這個過程幾乎看不到時鐘加速。

,時長00:57

2、前向解碼通過收集和緩存Jacobi反覆運算軌跡生成的n-grams來利用Jacobi解碼的能力。

下圖為通過Jacobi解碼收集2-grams,然後驗證並加速解碼的過程。

,時長02:20

3、每個解碼步驟有2個分支:

前向分支維護一個固定大小的2D視窗,以根據Jacobi軌跡生成n-grams;驗證分支驗證有希望的n-grams。

作者實現了二合一atten mask,以進一步利用GPU的並行計算能力。

4、前向解碼無需外部源即可立即生成並驗證非常多的n-grams。 這雖然增加了步驟的成本,但也提高了接受更長n-grams可能性。

換句話說,前向解碼允許用更多的觸發器來減少延遲。

5、作者檢查了flops vs 延遲減少之間的縮放行為,並找到了縮放法則:
當n-grams足夠大時(比如11-gram),以指數方式增加未來的token猜測(即視窗大小)可以線性減少解碼步驟數。

作者介紹

本方法作者一共4位,全部來自小羊駝團隊。

其中有兩位華人:

傅奕超以及張昊,後者博士畢業於CMU,碩士畢業於上交大,現在是加州大學聖地牙哥分校助理教授。

參考連結:
[1] [2] [3]

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)