展會信息港展會大全

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!
來源:互聯(lián)網(wǎng)   發(fā)布日期:2024-12-01 18:17:53   瀏覽:0次  

導讀:新智元報道編輯:alan【新智元導讀】對于LLM來說,人類語言可能不是最好的交流媒介,正如《星戰(zhàn)》中的機器人有自己的一套語言,近日,來自微軟的研究人員改進了智能體間的交互方式,使模型的通信速度翻倍且不損失精度。在《星球大戰(zhàn)》中,機器人R2-D2和其他機器人使用特殊的語言進行交流。這種語言主要由蜂鳴聲和口哨聲組成,被稱為「二進制語」(Binary)或「機器人語」(Droi ......

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

新智元報道

編輯:alan【新智元導讀】對于LLM來說,人類語言可能不是最好的交流媒介,正如《星戰(zhàn)》中的機器人有自己的一套語言,近日,來自微軟的研究人員改進了智能體間的交互方式,使模型的通信速度翻倍且不損失精度。在《星球大戰(zhàn)》中,機器人R2-D2和其他機器人使用特殊的語言進行交流。

這種語言主要由蜂鳴聲和口哨聲組成,被稱為「二進制語」(Binary)或「機器人語」(Droidspeak)。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

Droidspeak是專門為機器人之間的交流設計的,只有機器人能夠完全理解其精確含義。

電影中,C-3PO是唯一能夠完全理解R2-D2語言的角色,而天行者等人類則是通過長期與R2-D2相處,逐漸能夠猜測出它所表達的意思。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

機器人之間的「專用」通信顯然更加高效,那對于LLM來說,是否也應該如此?

近日,來自微軟、芝加哥大學的研究人員推出了「Droidspeak」,讓AI智能體之間可以用自己的語言進行交流:

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

論文地址:https://arxiv.org/pdf/2411.02820

結果表明,在不損失性能的情況下,Droidspeak使模型的通信速度提高了2.78倍。

所以,盡管人類用自然語言訓練出了LLM,但用自然語言輸出和交流,只是AI對于人類的一種「遷就」。

Droidspeak

下面是喜聞樂見的讀論文環(huán)節(jié)。事先甩個鍋,說「發(fā)明全新LLM語言」或有標題黨之嫌,概括文章的思想,四個字足矣:緩存復用。

再具體一些:在很多智能體系統(tǒng)中,不同的Agents其實是同源的,大家從同一個base model微調(diào)而來,參數(shù)的差距并不大。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

那么,相同的輸入(經(jīng)過差不多的weight)產(chǎn)生的計算結果也應該差不多。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

在智能體系統(tǒng)中,前一個Agent(sender)的輸出,會作為后一個Agent(receiver)輸入的一部分。

而這部分需要prefill的計算,在之前其實已經(jīng)做過了,那對于receiver來說,是不是能直接把sender的計算結果拿過來?

直接傳遞模型中間的計算結果(緩存),而不需要轉(zhuǎn)換成人類能夠理解的自然語言,這就是「Droidspeak」的含義。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

如果您是相關領域研究者,看到這里基本就可以退出了,節(jié)約了您寶貴的時間。

(但是小編走不了,畢竟稿費是按字數(shù)算的......)

智能體面臨的挑戰(zhàn)高端的食材往往只需要最樸素的烹飪方式,而簡單的idea往往得來并不簡單。

根據(jù)小學二年級學過的知識,LLM的推理可分為預填充(prefill)和解碼(decode)兩個階段:

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

prefill是LLM拿你提出的問題(詞向量序列),一股腦放進模型計算,填充所有層的kv cache;

而decode是用最后一個詞作為query,開始一個一個詞往外蹦。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

從計算的角度來看,預填充階段是矩陣乘矩陣,為計算密集型;解碼階段是向量乘矩陣,相對來說訪存變多。

當我們長時間運行上下文密集的對話時,prefill的占比會越來越高,包括計算和通信的開銷。

所以在需要頻繁交互的智能體系統(tǒng)中,prefill會成為瓶頸。

比如,在HotpotQA數(shù)據(jù)集中,Llama-3-70B-Instruct的平均預填充延遲為2.16秒,而解碼時間只有0.21秒;

在MapCoder這種級聯(lián)智能體系統(tǒng)中,前一個Agent的輸出最多可達到38,000個token,從而導致極高的預填充延遲。

親子關系之前有工作探究過,利用kv cache來減少同一個模型的預填充延遲,這件事在智能體系統(tǒng)中貌似也能成立。

先測試一下親子之間的相似度。

實驗使用base model作為發(fā)送方,微調(diào)版本作為接收方,選擇了下面四組模型。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

單從模型參數(shù)來看,絕對是親生的,相似度差別都是小數(shù)點后三位的水平:

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

那么對于相同輸入,中間的計算結果有多大差別?

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

這里的E cache指的是每層的輸入,即E通過投影矩陣計算出QKV。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

相比于權重,每對模型的E cache和KV cache差別大了一點點,但也還好,那能不能直接復用呢?

方法探索在最初的實驗構建中,要求微調(diào)版本在測試基準上的表現(xiàn)比基礎模型好得多,以便測試出復用緩存帶來的影響。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

在此基礎上,如果只是簡單的復用全部的kv cache,效果稍顯慘不忍睹,F(xiàn)ine-tuned Model的性能直接被打回原形:

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

看上去需要更加細致的操作,所以逐層分析一下E cache和KV cache的差別(注意是與base model的差別)。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

因為緩存的差異因?qū)佣,所以?yōu)化的應用也要按層來,這里首先考慮重用KV cache的連續(xù)層(直到最后一層)。

下圖表明了重用KV cache帶來的精度影響,效果很不錯,但優(yōu)化的自由度很低。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

小編推測,這個「自由度低」的意思是:復用KV cache時,本層的輸入(E cache)就不需要了,沒有輸入就沒法算Q,就沒法算下一層,所以后面也只能復用KV cache(直到最后一層)。

所以,作者接下來就測試復用E cache的情況,因為有輸入可以繼續(xù)往下算,所以復用E cache時可以選擇任意的起點和終點。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

如下圖所示,每個點代表在一定程度的預填充延遲下的最佳精度。

我們可以看到,重用E cache在保持生成質(zhì)量的同時,將預填充延遲降低了1.8倍。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

最終方案作者表示,盡管重用 E cache在層方面提供了極大的靈活性,但它會在GPU內(nèi)存、傳輸和計算方面產(chǎn)生開銷。

考慮發(fā)送方和接收方放置在兩個GPU節(jié)點上,并通過Infiniband鏈路互連:

在發(fā)送方,E cache需要先存儲在GPU內(nèi)存中(內(nèi)存開銷),發(fā)送E cache到接收方會產(chǎn)生額外的傳輸延遲;

在接收端,還需要額外的QKV投影操作,將E cache轉(zhuǎn)換為KV cache,這會導致額外的計算延遲。這三種類型的delay隨著重用層的數(shù)量呈線性增長,如圖12所示。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

與之相對,重用KV cache沒啥額外開銷,只是缺乏靈活性。

所以,兩種方法合體。

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

圖13在預填充延遲和準確性權衡方面,比較了單獨重用E cache與重用KV+E cache。

對于實驗的三對模型,重用KV+E cache在延遲和準確性方面效果良好,且不會增加發(fā)送方的GPU內(nèi)存開銷或接收方的計算開銷。

最后是端到端的整體架構:

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

如圖14所示,離線階段,DroidSpeak首先在示例分析數(shù)據(jù)集上分析每對要重用的層(復用配置);

在線階段,當發(fā)送方與接收方LLM通信時,會根據(jù)復用配置將KV和E緩存發(fā)送給接收方。

然后,接收方會為那些不重用KV緩存的層重新計算新的KV緩存。

下圖展示了DroidSpeak相對于baseline的改進:

微軟發(fā)明全新「LLM語言」,AI智能體交互效率翻倍!

我們可以看到,與完全預填充相比,DroidSpeak的預填充延遲減少了1.69到2.77倍,而不會影響生成質(zhì)量(重用所有E緩存或KV緩存時,生成質(zhì)量會大大降低)。

水平虛線表示基礎模型的生成質(zhì)量,DroidSpeak的質(zhì)量損失與基礎模型和微調(diào)模型之間的差異相比微不足道。

參考資料:https://singularityhub.com/2024/11/21/droidspeak-ai-agents-now-have-their-own-language-thanks-to-microsoft/

贊助本站

相關內(nèi)容
AiLab云推薦
展開

熱門欄目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能實驗室 版權所有    關于我們 | 聯(lián)系我們 | 廣告服務 | 公司動態(tài) | 免責聲明 | 隱私條款 | 工作機會 | 展會港