500萬token巨獸,一次讀完全套「哈利波特」!比ChatGPT長1000多倍
記性差是目前主流大型語言模型的主要痛點,比如ChatGPT只能輸入4096個token(約3000個詞),經(jīng)常聊著聊著就忘了之前說什么了,甚至都不夠讀一篇短篇小說的。
過短的輸入窗口也限制了語言模型的應用場景,比如給一篇科技論文(約1萬詞)做摘要的時候,需要把文章手動切分后再輸入到模型中,不同章節(jié)之間關聯(lián)信息就丟失了。
雖然GPT-4最長支持32000個token、升級后的Claude最高支持10萬token,但也只能緩解腦容量不足的問題。
最近一家創(chuàng)業(yè)團隊Magic宣布即將發(fā)布LTM-1模型,最長支持500萬token,大約是50萬行代碼或5000個文件,直接比Claude高50倍,基本可以覆蓋大多數(shù)的存儲需求,這可真就量變產(chǎn)生質變了!
LTM-1的主要應用場景在于代碼補全,比如可以生成更長、更復雜的代碼建議。
還可以跨越多個文件重用、合成信息。
壞消息是,LTM-1的開發(fā)商Magic并沒有發(fā)布具體技術原理,只是說設計了一種全新的方法the Long-term Memory Network (LTM Net)。
但也有個好消息,2021年9月,DeepMind等機構的研究人員曾經(jīng)提出一種名為 ∞-former 的模型,其中就包含了長期記憶(long-term memory,LTM)機制,理論上可以讓Transformer模型具有無限長的記憶力,但目前并不清楚二者是否為同一技術,或是改良版。
論文鏈接:https://arxiv.org/pdf/2109.00301.pdf
開發(fā)團隊表示,雖然LTM Nets可以比GPT看到更多的上下文,但LTM-1模型的參數(shù)量比當下的sota模型小的多,所以智能程度也更低,不過繼續(xù)提升模型規(guī)模應該可以提升LTM Nets的性能。
目前LTM-1已經(jīng)開放alpha測試申請。
申請鏈接:https://magic.dev/waitlist
LTM-1的開發(fā)商Magic創(chuàng)立于2022年,主要開發(fā)類似GitHub Copilot的產(chǎn)品,可以幫助軟件工程師編寫、審查、調試和修改代碼,目標是為程序員打造一個AI同事,其主要競爭優(yōu)勢就是模型可以讀取更長的代碼。
Magic致力于公眾利益(public benefit),使命是構建和安全部署超過人類只能的AGI系統(tǒng),目前還是一家只有10人的創(chuàng)業(yè)公司。
今年2月,Magic獲得由Alphabet旗下CapitalG領投的2300萬美元A輪融資,投資人還包括GitHub前首席執(zhí)行官和Copilot的聯(lián)合出品人Nat Friedman,目前公司總資金量已達2800萬美元。
Magic的首席執(zhí)行官兼聯(lián)合創(chuàng)始人Eric Steinberger本科畢業(yè)于劍橋大學計算機科學專業(yè),曾在FAIR做過機器學習研究。
在創(chuàng)立Magic前,Steinberger還曾創(chuàng)立過ClimateScience,以幫助全世界的兒童學習氣候變化的影響。
無限記憶的Transformer
語言模型核心組件Transformer中注意力機制的設計,會導致每次增加輸入序列的長度時,時間復雜度都會呈二次方增長。
雖然已經(jīng)有一些注意力機制的變體,比如稀疏注意力等降低算法復雜度,不過其復雜度仍然與輸入長度有關,不能無限擴展。
∞-former中長期記憶(LTM)的Transformer模型可以將輸入序列擴展到無限的關鍵在是一個連續(xù)空間注意力框架,該框架用降低表征粒度的方式提升記憶信息單元的數(shù)量(基函數(shù))。
在框架中,輸入序列被表示為一個「連續(xù)信號」,代表N個徑向基函數(shù)(RBF)的線性組合,這樣一來,∞-former的注意復雜度就降為了O(L^2 + L × N),而原始Transformer的注意力復雜度為O(L×(L+L_LTM)),其中L和L_LTM分別對應于Transformer輸入大小和長期記憶長度。
這種表示方法有兩個主要優(yōu)勢:
1. 上下文可以用小于token數(shù)量的基函數(shù)N來表示,減少了注意力的計算成本;
2. N可以是固定的,從而能夠在記憶中表示無限的上下文,并且不會增加注意力機制的復雜度。
當然,天下沒有免費的午餐,代價就是分辨率的降低:使用較少數(shù)量基函數(shù)時,會導致在將輸入序列表示為連續(xù)信號時降低精度。
為了緩解分辨率降低問題,研究人員引入了「粘性記憶」(sticky memories)的概念,將LTM信號中的較大空間歸結為更頻繁訪問的記憶區(qū)域,在LTM中創(chuàng)造了一個「永久性」的概念,使模型能夠更好地捕捉長時間的背景而不丟失相關信息,也是從大腦的長期電位和可塑性中得到了啟發(fā)。
實驗部分
為了驗證∞-former能否對長語境進行建模,研究人員首先對一個合成任務進行實驗,即在一個長序列中按頻率對token進行排序;然后通過微調預訓練語言模型,對語言建模和基于文檔的對話生成進行實驗。
排序
輸入包括一個根據(jù)概率分布(系統(tǒng)未知)采樣的token序列,目標是按照序列中頻率遞減順序生成token
為了研究長期記憶是否被有效利用,以及Transformer是否只是通過對最近的標記進行建模來排序,研究人員將標記概率分布設計為隨時間變化。
詞表中有20個token,分別用長度為4,000、8,000和16,000的序列進行實驗,Transformer-XL和compressive transformer作為對比基線模型。
實驗結果可以看出,在短序列長度(4,000)的情況下,Transformer-XL實現(xiàn)了比其他模型略高的精度;但當序列長度增加時,其精度也迅速下降,不過對于∞-former來說,這種下降并不明顯,表明其在對長序列進行建模時更有優(yōu)勢。
語言建模
為了了解長期記憶是否可以用來擴展預訓練的語言模型,研究人員在Wikitext103和PG-19的一個子集上對GPT-2 small進行了微調,包括大約2億個token。
實驗結果可以看到,∞-former可以降低Wikitext-103和PG19的困惑度,并且∞-former在PG19數(shù)據(jù)集上獲得的改進更大,因為書籍比維基百科文章更依賴于長期記憶。
基于文檔對話
在以文檔為基礎的對話生成中,除了對話歷史之外,模型還可以獲得關于對話主題的文檔。
在CMU Document Grounded Conversation dataset(CMU-DoG)中,對話是關于電影的,并給出了電影的摘要作為輔助文檔;考慮到對話包含多個不同的連續(xù)語篇,輔助文檔被分為多個部分。
為了評估長期記憶的有用性,研究人員只讓模型在對話開始前才能訪問文件,使這項任務更具挑戰(zhàn)性。
在對GPT-2 small進行微調后,為了讓模型在記憶中保持整個文檔,使用一個N=512個基函數(shù)的連續(xù)LTM(∞-former)擴展GPT-2。
為了評估模型效果,使用perplexity、F1 score、Rouge-1和Rouge-L,以及Meteor指標。
從結果來看,∞-former和compressive Transformer能夠生成更好的語料,雖然二者的困惑度基本相同,但∞-former在其他指標上取得了更好的分數(shù)。