夢晨 發(fā)自 凹非寺
量子位 | 公眾號 QbitAI
什么AI應(yīng)用每秒處理20000個AI推理請求,達到2024年谷歌搜索流量的1/5?
答案是獨角獸Character.ai,由Transformer作者Noam Shazeer(后面簡稱沙哥)創(chuàng)辦。
剛剛,沙哥公布了推理優(yōu)化獨門秘訣,迅速引起業(yè)界熱議。
具體來說Character.ai在整個服務(wù)堆棧中實現(xiàn)了如下成績:
- 內(nèi)存高效架構(gòu)設(shè)計:將KV緩存大小減少20倍以上,而不會降低質(zhì)量
- Attention狀態(tài)緩存:95%請求無需重算
- 直接用in8精度量化訓(xùn)練:推理零損失還省顯存
Character.AI通過以上種種優(yōu)化,已經(jīng)把推理成本降低到最初的1/33,如果用市場上最好的商業(yè)API來支撐這種級別的流量,成本會比現(xiàn)在高出13.5倍!
眾多公布的方法中,原生int8訓(xùn)練是最受關(guān)注的。
雖然大多數(shù)技巧都來自公開研究,但是正如網(wǎng)友所說,知道如何把它們高效整合在一起實現(xiàn)的團隊才是真正的護城河。
秘訣1:高效利用顯存,attention 參數(shù)量降低20倍
大模型的一大痛點是顯存占用高,導(dǎo)致無法支持大批量推理。Attention 層中的 Key-Value(KV)緩存便是罪魁禍?zhǔn)字弧?/p>
為了降低顯存占用,Character.AI在Attention層大動手術(shù):
- 全面采用MQA(Multi-Query Attention)
與大多數(shù)開源模型中采用的GQA(Grouped-Query Attention)相比,將KV緩存大小減少了 8 倍。
而MQA正是沙哥本人2019年在谷歌期間提出的,有網(wǎng)友評價“當(dāng)一個人能在生產(chǎn)環(huán)境中引用自己的論文,就達到了一個新的高度”。
- 混合注意力視野
將局部注意力與全局注意力層交織在一起,使用滑動窗口訓(xùn)練局部注意力,將復(fù)雜度從 O(length^2 ) 降低到 O(length)。
團隊發(fā)現(xiàn),將大多數(shù)注意力層的注意力范圍減少到1024不會對評估指標(biāo)產(chǎn)生重大影響,包括長上下文大海撈針基準(zhǔn)。在Character.ai生產(chǎn)模型中,每6層中只有1層使用全局注意力。
- 跨層KV共享
團隊將KV緩存綁定在相鄰的注意力層上,這進一步將 KV緩存大小減少了 2-3 倍。
對于全局注意力,跨塊綁定多個全局層的KV緩存,因為全局注意力層在長上下文用例中主導(dǎo)KV緩存大小,團隊發(fā)現(xiàn)跨層共享KV不會降低質(zhì)量。
下圖中左半部分是標(biāo)準(zhǔn)Transformer設(shè)計,每個注意力都是全局注意力。右半部分為Character.ai的設(shè)計,藍色框表示全局注意力,綠色框表示局部注意力,連線表示KV共享。
這一套組合拳下來,KV緩存大小減少20倍以上,顯存再也不是瓶頸了。
秘訣2:巧用狀態(tài)緩存,95%請求無需重算
Character.AI還有一招神來之筆,就是在不同對話之間緩存Attention狀態(tài)。
作為聊天機器人角色扮演服務(wù),Character.AI上大部分對話都是連續(xù)多輪的,平均每個對話包含180條消息。如果每次都要重新計算前面的狀態(tài),成本可想而知。
于是團隊設(shè)計了一個緩存機制,把每個對話的Prefix和生成的消息都緩存在內(nèi)存中,供后續(xù)調(diào)用。
借鑒RadixAttention的思路,樹狀結(jié)構(gòu)的LRU緩存組織緩存的KV張量。緩存的KV值由前綴token的Rolling Hash速檢索最長匹配的緩存,即使前綴只有部分匹配也能命中。
更妙的是,他們還用會話保持(Sticky Session)把同一對話路由到同一個服務(wù)器,進一步提高緩存命中率。最終做到95%的請求都能復(fù)用已有緩存,大幅降低了計算成本。
下圖中,藍色框表示主機內(nèi)存上的緩存張量。綠色和黃色框表示CUDA內(nèi)存上的KV緩存。當(dāng)新查詢到達時,它檢索最長匹配前綴的KV緩存,Rolling Hash系統(tǒng)允許檢索部分匹配消息的緩存。
秘訣3:直接量化訓(xùn)練,推理零損失還省顯存
最后一招,Character.AI沒有采用常見的“訓(xùn)練后量化”,而是直接用Int8精度訓(xùn)練模型。
這種格式雖然表達精度降低,但通過精心設(shè)計定制的矩陣乘和 Attention 內(nèi)核,不僅把訓(xùn)練效率提高了好幾倍,而且還能無損用于推理。
不過沙哥在這里暫時留了一手,表示“量化訓(xùn)練本身就是一個復(fù)雜的話題,將在以后的文章中繼續(xù)討論?!?/p>
沙哥其人
最后再來介紹一下傳奇人物Noam Shazeer本人。
他1994年拿了信息學(xué)奧賽IOI金牌,后來畢業(yè)于杜克大學(xué)。
2000年加入谷歌,當(dāng)時全公司只有200人左右,他參與了谷歌搜索的拼寫糾正功能,后來也負責(zé)過早期廣告系統(tǒng)。
據(jù)知情人透露,在當(dāng)初面試谷歌時,沙哥就被問到如何實現(xiàn)拼寫糾正。他描述了一種根據(jù)其他用戶的輸入輸入記錄,進行統(tǒng)計驗證的方法。
面試官Gmail之父Paul Buchheit意識到,沙哥的方案比谷歌當(dāng)時使用的要好。沙哥成功入職之后就把他的面試方案寫出來了。
在Transformer開山之作《Attention is All You Need》研究中,沙哥最后一個加入團隊,一來就負責(zé)重新編寫了整個代碼。
在沙哥出手之前,Transformer早期原型性能并沒有超越當(dāng)時流行的LSTM方案,是他把早期設(shè)計中的卷積等模塊都拿掉,給出了一個極簡主義方案。最終破了BLEU測試的記錄,同時計算效率也更高。
隊友用“他是一個巫師”來評價他的工程和代碼能力。
除此之外,沙哥還有驚人的遠見。在Transformer架構(gòu)問世不久,他就給谷歌高層寫信,提議公司放棄整個搜索索引,并用Transformer架構(gòu)訓(xùn)練一個巨大的神經(jīng)網(wǎng)絡(luò)替代。
2021年,沙哥離開谷歌后創(chuàng)辦了Character.AI,讓玩家簡單自創(chuàng)個性化AI陪聊,目前估值約50億美元。
最近有消息稱,Meta與馬斯克的都在爭取與他們合作,把聊天機器人引入社交平臺。
參考鏈接:
[1]https://research.character.ai/optimizing-inference/
[2]https://x.com/NoamShazeer/status/1803790708358410380
發(fā)表評論
2024-06-22 15:46:08
不克制獸性,不克制自我,放縱自我得寸進尺趨利避害,就是親兄弟也會爭斗不止,何況一個銀河系跨度多在十萬光年,一次旅行多要幾萬年,如果不克制自我克制自私,幾萬年后,就算500年前是一家,見面時依然會摩擦不斷,爭斗不止。結(jié)局就是永遠一盤散沙。
2024-06-22 15:46:08
生產(chǎn)制造靈敏殺人,樣樣優(yōu)
武器:導(dǎo)彈,導(dǎo)彈防御系統(tǒng),大無人機扔導(dǎo)彈,小無人機扔手榴彈(3000元替你上前線,也就一個月工資),戰(zhàn)斗機,機器人,等武器終究自動化,像反導(dǎo)手動根本忙不過來。
流水線:更智能。更高效。
人工智能應(yīng)用之靈魂永生,可以進行長達1億年時間跨度的星系群之間的飛行
超級大腦的建立,解決各種生活問題
全智能化時代的到來,
2024-06-22 15:46:07