偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

推理飆升2倍!普林斯頓北大校友祭出多頭「美杜莎」,33B模型與13B一樣快

人工智能 新聞
大模型推理加速如何破局?普林斯頓、UIUC等機構華人團隊提出一個簡單框架Medusa,訓練多個解碼頭,直接讓LLM推理速度飆升2倍。

由于LLM架構固有的內存限制,使得生成又慢又貴。

對此,很多大佬都在尋找一種挽救的方法。Karpathy曾多次提出,大模型「投機采樣」對于推理時間優(yōu)化是一個出色的方案。

但是,盡管投機解碼能夠加速生成速度,但因其太過復雜,并沒有被許多開發(fā)者采用。

今天,來自普林斯頓、UIUC等機構的華人團隊提出了全新的簡單框架:Medusa(美杜莎)。

圖片

沒有額外的草稿模型,研究人員只是引入了幾個額外的解碼頭,微調出「美杜莎頭」,能夠在單個A100-8G GPU,一天時間內完成訓練。

結果發(fā)現(xiàn),Medusa直接讓模型推理加速約2倍。

圖片

Vicuna-7b與Medusa

為什么LLM生成效率低?

從系統(tǒng)角度來看,LLM生成遵循一種「以內存為限制」的計算模式,主要的延遲瓶頸來自內存讀取/寫入,而非算術計算。

這一問題的根源在于,自回歸解碼過程中固有的順序性。

圖片

即每次前向傳遞都需要將整個模型的參數(shù),從高帶寬內存(HBM)傳輸?shù)郊铀倨鞯挠嬎銌卧?/span>

盡管每個樣本只產生一個token,但這個操作未能充分利用現(xiàn)代加速器的算術計算能力,由此導致模型效率低下。

圖片

在LLM崛起之前,應對這種低效率的常見方法是,簡單地「增加批大小」,從而實現(xiàn)更多token的并行生成。

但大模型的不斷涌現(xiàn),讓情況變得更加復雜。

在這種情況下,增加批大小不僅會帶來更高的延遲,還會大大增加Transformer模型的鍵-值緩存的內存需求。

此外,這種低效率也體現(xiàn)在「成本結構」上。

截止到2023年9月,與僅處理提示相比,GPT-4的生成成本約高出2倍,Claude 2的生成成本大約高出3倍。

研究人員主要關注的重點是,改善LLM生成的延遲,同時Medusa也可以適用于需要平衡延遲和吞吐量的LLM服務。

每個token的價格

「投機解碼」是終極解決方案?

基于上述的挑戰(zhàn),加速文本生成的一種吸引人策略是:更高效地利用計算資源。

具體來說,通過并行處理更多的token。

這種方法,采用了一個簡化的「草稿」模型,每一步都能快速生成一批token的候選項。

然后,這些候選token將通過原始的、全尺寸的語言模型進行驗證,以確定最合理的文本延續(xù)。

這一基本邏輯基于一個有趣的假設:「草稿」模型雖然小,但應該足夠嫻熟,能夠生成原始模型可以接受的序列。

如果這個假設成立,「草稿」模型可以迅速生成token序列,同時原始模型可以高效地并行驗證多個token,從而最大化計算吞吐量。

最近的研究表明,通過精心調整的草稿模型,投機解碼可以將延遲降低高達2.5倍,令人印象深刻。

然而,這種方法并非沒有挑戰(zhàn):

1. 尋找理想的「草稿模型」(Draft Model):找到一個「小而強大」的草稿模型,與原始模型很好地協(xié)調,說起來容易,做起來難。

2. 系統(tǒng)復雜性:在一個系統(tǒng)中托管兩個不同的模型會引入多層的復雜性,不論是計算還是操作,尤其是在分布式環(huán)境中。

3. 采樣效率低:使用投機解碼進行采樣時,需要使用一種重要性采樣方案。這會帶來額外的生成開銷,尤其是在較高的采樣溫度下。

這些復雜性和權衡限制了投機解碼的廣泛采用。因此,雖然投機解碼前景廣闊,但并未被廣泛采用。

Medusa:將簡單與高效融合

為了滿足對更加用戶友好,且功能強大的解決方案的需求,普林斯頓研究團隊推出了創(chuàng)新框架Medusa(美杜莎)。

它不僅加速了模型的生成,甚至讓LLM能夠讓更多人去訪問和使用。

據(jù)介紹,最新方法重新回顧了「Blockwise Parallel Decoding for Deep Autoregressive Models」論文中,一個被低估的寶藏:

回溯Transformer模型的發(fā)明,與其引入一個全新的「草稿」模型來預測后續(xù)token,為什么不簡單地擴展原始模型本身呢?

論文地址:https://arxiv.org/abs/1811.03115

這就是「Medusa head」(美杜莎頭)發(fā)揮作用的地方。

這些額外的解碼頭與原始模型無縫集成在一起,在每個生成的關鍵點產生token塊。

與草稿模型不同的是,Medusa head可以與原始模型一起訓練,而原始模型在訓練期間保持凍結狀態(tài)。

這種方法允許研究人員在單個GPU上微調大模型,充分利用強大的基礎模型學習到的表征。

此外,由于新的頭僅由一個與原始語言模型頭類似的層構成,因此Medusa不會增加服務系統(tǒng)設計的復雜性,并且適用于分布式環(huán)境。

單靠Medusa head,并不能達到將處理速度提高一倍的目標。

但這里有一個小技巧:將其與基于樹狀注意力機制配對使用時,就可以并行驗證由Medusa head生成的多個候選項。

這樣一來,Medusa head的預測能力速度提升2倍-3倍。

另外,研究人員摒棄了傳統(tǒng)的重要性采樣方案,專門為Medusa head生成創(chuàng)建了一種高效且高質量的替代方案。

這種新方法完全繞過了采樣開銷,甚至進一步提升了Medusa的加速步驟。

簡而言之,研究人員用一個簡單的系統(tǒng)解決了投機解碼的挑戰(zhàn):

1. 沒有獨立的模型:不是引入一個新的草稿模型,而是在同一個模型上訓練多個解碼頭。

2. 輕松集成到現(xiàn)有系統(tǒng)中:訓練參數(shù)效率高,即使是GPU性能較差的情況下也可以進行。而且由于沒有額外的模型,無需調整分布式計算設置。

3. 將采樣視為一種放松:放寬與原始模型分布相匹配的要求,使得「非貪心生成」甚至比「貪心解碼」更快。

Medusa概述

具體來說,Medusa在LLM的最后隱藏狀態(tài)之上引入了多個頭,使其能夠并行預測多個后續(xù)token。

在使用Medusa head擴充模型時,原始模型在訓練期間被凍結,只有Medusa head經過微調。這種方法使得在單個GPU上對大型模型進行微調成為可能。

在推理過程中,每個頭為其指定的位置生成多個頂級預測。這些預測被組合成候選項,并使用基于樹狀注意力機制并行處理。

最后一步是,使用典型接受方案選擇合理的延續(xù),被接受的最長候選項prefix將用于下一階段的解碼。

這樣,Medusa通過同時接受更多token,從而減少所需的解碼步驟,提高了解碼過程的效率。

接下來,讓我們深入了解Medusa的三個組成部分:Medusa head(美杜莎頭)、tree attention(樹狀注意力機制)和典型接受方案。

Medusa head(美杜莎頭)

那么,Medusa head究竟是什么呢?

它們類似于原始架構中的語言模型頭(因果Transformer模型的最后一層),但有一個變化:它們預測多個即將出現(xiàn)的token,而不僅僅是下一個token。

受到塊狀并行解碼方法的啟發(fā),研究人員將每個Medusa head作為單層前饋網(wǎng)絡來實現(xiàn),并增加了一個殘差連接。

訓練這些頭非常簡單。你可以使用訓練原始模型的相同語料庫,或者使用模型本身生成新的語料庫。

圖片

在這個訓練階段,原始模型保持不變;只有Medusa head經過微調。

這種有針對性的訓練會帶來一個參數(shù)效率極高的過程,并能迅速達到收斂。

尤其是,與在推測解碼方法中訓練獨立的草稿模型的計算復雜性相比,優(yōu)勢更加突出。

在研究人員測試的Vicuna模型上,Medusa head在預測next-next token方面準確率達到60%,位列第一。同時,它仍然有改進的空間。

tree attention(樹狀注意力機制)

測試中,團隊發(fā)現(xiàn)一些引人注目的指標:盡管對于預測next-next token的第1名準確率大約在60%左右,但第5名的準確率卻超過了80%。

這個顯著的提高表明,如果可以有效利用Medusa head產生多個排名靠前的預測,就可以增加每個解碼步驟生成的token數(shù)量。

為了實現(xiàn)這個目標,研究人員首先通過從每個Medusa head的頂級預測中,獲取笛卡爾積來創(chuàng)建一組候選項。

然后,根據(jù)圖神經網(wǎng)絡的思路,將依賴關系圖編碼到注意力機制中,以便可以并行處理多個候選項。

比如,使用第一個Medusa head的前2個預測,以及第二個Medusa head的前3個預測,如下所示。

樹狀注意力

上圖中的可視化效果,展示了使用樹狀注意力同時處理多個候選項的過程。

在這種情況下,第一個頭的任何預測都可以與第二個頭的任何預測配對,形成一個多級樹結構。

這個樹的每一層,都對應著一個Medusa head的預測。由此,能夠產生2*3=6個候選項。

這些候選項中的每一個對應于樹結構內的一個不同的分支。

為了確保每個token只訪問其前置token,研究人員設計了一種注意力掩碼,專門允許注意流從當前token返回到其前置token。

通過這樣做,并相應地位位置編碼設置位置索引,可以在不需要增加批大小的情況下,同時處理各種候選項。

研究人員還指出,一些研究也采用了非常相似的樹狀注意力思想。

與它們相比,最新的方法更傾向于一種更簡單的樹狀注意力形式,在推理期間,樹狀模式是規(guī)則的且固定的,使得樹狀注意力掩碼進行預處理,進一步提高了效率。

典型接受

在早期關于投機解碼的研究中,「重要性采樣」被用來產生與原始模型預測密切相關的各種輸出結果。

然而,后來的研究表明,隨著采樣溫度升高,這種方法的效率往往會降低。

簡單來說,如果你的草稿模型和你原來的模型一樣好,理想情況下,你應該接受它的所有輸出,從而使這個過程變得超級高效。

然而,重要性采樣可能會在中間環(huán)節(jié),拒絕這個解決方案。

在現(xiàn)實世界中,我們經常調整采樣溫度,只是為了控制模型的創(chuàng)造力,不一定是為了匹配原始模型的分布。

那么為什么不把重點放在,可接受可信的候選項上呢?

對此,研究人員引入了「典型接受」方案。

從現(xiàn)有的截斷采樣(truncation sampling)中汲取靈感,普林斯頓研究人員目標是根據(jù)原始模型選擇足夠可能的候選項。

研究人員根據(jù)根據(jù)原始模型的預測概率設置一個閾值,如果候選項超過這個閾值,就會被接受。

用專業(yè)術語來說,研究人員采用硬閾值,以及熵相關閾值中的最小值,來決定是否像截斷采樣那樣接受候選項。

這確保了在解碼過程中,選擇有意義的token和合理延續(xù)。

研究人員總是使用貪心解碼接受第一個token,確保在每個步驟中至少生成一個token。最終輸出是通過研究接受測試的最長序列。

這一方法的高明之處在于,適應性強。

如果你將采樣溫度設置為0,它就會恢復到最有效的形式——貪心解碼。當溫度升高時,最新研究的方法變得更加高效,可以接受更長的序列。

并且,研究人員還已經通過嚴格的測試證實了這一說法。

因此,從本質上講,最新的典型接受方案提供了一種更有效的方式,讓LLM進行更創(chuàng)造性地輸出。

Llama「吐口水」可以有多快?

研究人員使用了專門針對聊天應用進行微調的Vicuna模型對Medusa進行了測試。

這些模型的大小不同,參數(shù)數(shù)量分別為7B、13B和33B。

研究的目標是,測量Medusa在實際聊天機器人環(huán)境中如何加速這些模型。

在訓練Medusa head時,研究人員采用了一種簡單的方法,使用了公開可用的ShareGPT數(shù)據(jù)集。這是最初用于Vicuna模型的訓練數(shù)據(jù)的子集,僅進行了一個epoch的訓練。

圖片

而且,關鍵是,根據(jù)模型參數(shù)的大小,整個訓練過程可以在幾小時到一天之內完成,僅需要一塊A100-80G GPU。

值得注意的是,Medusa可以輕松與量化的基礎模型結合使用,以減少內存需求。

研究人員利用這一優(yōu)勢,在訓練33B模型時使用了8位量化。為了模擬實際環(huán)境,他們使用了MT bench進行評估。

憑借其簡單的設計,Medusa在各種用例中,始終能夠實現(xiàn)約2倍的絕對時間加速。

值得注意的是,通過Medusa的優(yōu)化,33B參數(shù)的Vicuna模型可以像13B模型一樣迅速運行。

消融實驗

Medusa head的配置

在利用美杜莎頭的預測能力時,研究人員靈活地選擇了每個頭應考慮多少個頂級候選項。

例如可以選擇第一個頭的前3個預測和第二個頭的前2個預測。當對這些頂級候選項進行笛卡爾積運算時,就生成了6個延續(xù)選項供模型評估。

這種可配置性,是需要進行權衡的。

一方面,選擇更多的頂級預測會增加模型接受生成token的可能性。另一方面,它還會增加每個解碼步驟的計算開銷。

為了找到最佳平衡,研究人員嘗試了各種配置,并確定了最有效的設置,如附圖所示。

典型接受的閾值

在典型接受方案中,一個關鍵的超參數(shù),稱為「閾值」,幫助研究人員根據(jù)模型自身的預測,來確定生成的token是否合理。

閾值越高,接受標準越嚴格,從而影響通過這種方法獲得的整體加速。

研究人員通過在MT bench的2個以創(chuàng)造力為導向的任務上進行實驗,來探討質量和加速之間的這種權衡。

圖中顯示的結果表明,與貪心解碼方法相比,典型接受能夠加速10%。這種加速明顯優(yōu)于使用隨機采樣的投機解碼方法,后者與貪心解碼相比實際減慢了過程。

作者介紹

圖片

Tianle Cai(蔡天樂)

共同一作蔡天樂是普林斯頓大學的博士生,導師為Kai Li、Jason D. Lee。

就讀博士期間,他在Xuezhi Wang和Denny Zhou指導下在Google DeepMind實習,還在Sébastien Bubeck和Debadeepta Dey的指導下在Microsoft Research完成了實習。

他曾在北大拿到了本科學位,主修應用數(shù)學,同時也主修計算機科學雙學位,在Liwei Wang教授的指導下,開始了機器學習領域的研究。

蔡天樂的學術興趣跨越了機器學習的廣泛領域,包括優(yōu)化、表征學習、架構設計(重點是Transfomer、圖神經網(wǎng)絡等),以及最近的系統(tǒng)架構協(xié)同設計。

圖片

Yuhong Li

共同一作Yuhong (Jesse) Li是伊利諾伊大學厄巴納-香檳分校(UIUC)的ECE博士生,導師是Deming Chen教授。

此前,他在北京郵電大學獲得了學士學位,興趣是高效機器學習。

圖片

Zhengyang Geng(耿正陽)

Zhengyang Geng是卡內基梅隆大學(CMU)的計算機科學博士生,由J. Zico Kolter指導。

之前,他在北京大學做研究助理,由Zhouchen Lin指導。致力于識別和開發(fā)能夠自組織復雜系統(tǒng)的結構。

圖片

Hongwu Peng

Hongwu Peng是康涅狄格大學計算機科學與工程系的博士生。

此前,他于2018年獲得華中科技大學電氣工程學士學位,于2020年獲得阿肯色大學電氣工程碩士學位。

圖片

Tri Dao

Tri Dao是生成式AI初創(chuàng)公司Together AI的首席科學家。2024年9月起,將出任普林斯頓大學計算機科學助理教授。

此前,他在斯坦福大學獲得了計算機博士學位,導師是Christopher Ré和Stefano Ermon。

Tri Dao的研究興趣在于機器學習和系統(tǒng),重點關注:高效Transformer訓練和推理;遠程記憶的序列模型;緊湊型深度學習模型的結構化稀疏性。

圖片

項目鳴謝:Zhuohan Li,Shaojie Bai,Denny Zhou,Yanping Huang,stability.ai,together.ai,ChatGPT。

責任編輯:張燕妮 來源: 新智元
相關推薦

2024-06-03 10:43:34

2023-10-13 19:58:33

Mistral7B模型

2023-02-28 07:03:09

AIMeta大型語言

2025-02-13 08:30:00

2012-08-02 16:18:10

普林斯頓結構哈佛結構架構

2024-11-12 13:40:00

2025-02-12 12:04:54

2024-01-24 13:11:00

AI模型

2022-07-26 09:56:48

模型AI

2024-05-20 15:19:25

訓練模型

2023-12-05 13:25:00

數(shù)據(jù)訓練

2023-09-18 11:25:00

2023-07-17 09:21:12

Meta模型

2025-05-09 08:30:00

2023-05-22 15:17:02

谷歌AI

2024-02-22 10:09:00

開源模型

2023-06-12 11:49:37

GPT-4 API論文

2023-11-18 09:37:49

2021-07-12 23:53:22

Python交換變量

2024-06-04 14:06:00

點贊
收藏

51CTO技術棧公眾號