作者:田淵棟,Meta FAIR研究院研究員/高級經(jīng)理,CMU機器人系博士
2023年研究的主要重心轉(zhuǎn)移到了大語言模型(LLM)上面,包括理解LLM的運行機制,及用這些理解去改進LLM的推理效率和質(zhì)量,也繼續(xù)做了一些LLM的應(yīng)用(如小說生成)。另外“應(yīng)用AI來加速優(yōu)化”這個研究方向,我們?nèi)匀辉谶M行中。
大語言模型(LLM)
這一年有幾篇LLM文章獲得了社區(qū)的廣泛關(guān)注。一篇是六月底的Positional Interpolation[1],在這篇文章里,我們發(fā)現(xiàn)通過對RoPE一行代碼的修改,就可以用少量微調(diào)來成倍增大模型預(yù)訓(xùn)練窗口,也是從這個時間點開始,能進行長文理解的開源大模型出現(xiàn)了井噴式爆發(fā)。另一篇是StreamingLLM[2](Attention Sink),在這篇文章里,我們發(fā)現(xiàn)在推理時保留前4個token,就能突破預(yù)訓(xùn)練窗口的限制,達到“無限聊天”的效果。文章放出來之后,網(wǎng)上出現(xiàn)了很多博客[3]、視頻介紹[4]、媒體報道[5]和公開討論[6],然后這個方法最近進了Intel Extension for Transformers[7]和Huggingface Transformer library[8],也被最近MLC Chat[9](手機端離線7B LLM)用上了,應(yīng)該說影響力還是很大的。
有人可能會問,為什么會想到StreamingLLM這種做法?在它背后是H2O[10](NeurIPS'23) 這篇文章。在H2O里,我們發(fā)現(xiàn)按照某種準(zhǔn)則,丟棄過去KV cache里80%的token,居然不影響下一個token的perplexity,那么自然我們會好奇留下來的是什么,就會自然追到前幾個擁有反常注意力的token頭上了。
另一篇Deja Vu(ICML'23 oral)則運用稀疏性來提高LLM系統(tǒng)推理效率。對于一段輸入,Deja Vu預(yù)測LLM未來層中將被激活的神經(jīng)元和注意力頭,并只將對應(yīng)權(quán)重載入GPU cache,這樣就會大量減少費時的Memory I/O。臨近年末,我們發(fā)現(xiàn)上海交大的PowerIter進一步運用了Deja Vu的思路,做到了CPU+GPU聯(lián)合推理。
作為做LLM應(yīng)用的副產(chǎn)品,我們提出了RLCD[11],通過同時使用正例和負(fù)例prompt,自動生成帶標(biāo)簽的生成樣本不需人工標(biāo)注,然后可以接大模型微調(diào),或者用于訓(xùn)練reward models,以避開RLAIF的一些問題,比如說兩個生成樣本非常相似,大模型很難判斷誰好誰壞,或者大模型參數(shù)過少(如7B),無法判斷樣本間好壞。
另外,作為一作,我今年也發(fā)了兩篇分析LLM的核心Transformer及注意力的訓(xùn)練動力學(xué)的理論文章,旨在揭示注意力(attention)為何會在訓(xùn)練之后變得稀疏,及為何FFN會出現(xiàn)低秩的現(xiàn)象。第一篇Scan&Snap[12](NeurIPS'23)分析單層線性MLP+attention;第二篇JoMA[13]將此拓展到多層非線性的MLP+attention,得出了更有趣的結(jié)果(訓(xùn)練過程中注意力先變稀疏,再稍微變回稠密),并且初步揭示了多層Transformer為何能借助這樣的注意力機制,學(xué)到高層概念抽象的原因。我本來認(rèn)為理論文章關(guān)注的人應(yīng)該不多,但想不到在NeurIPS上仍然有大量聽眾對細(xì)節(jié)很有興趣,覺得非常開心。之后我會在《求道之人,不問寒暑》系列里更新一篇,總結(jié)一下新的進展。
這些工作在9月底香港大學(xué)[14],10月初日本理化學(xué)研究所[15],及12月的遠程演講[16]中都有提及,有興趣請戳鏈接。
用AI來加速(組合)優(yōu)化(AI-guided optimization)
另一方面,我們的SurCo[17](ICML'23)用線性代理(linear surrogate cost)加傳統(tǒng)組合優(yōu)化求解器,來間接求解非線性組合優(yōu)化,并運用于一些工業(yè)上出現(xiàn)的復(fù)雜優(yōu)化問題(如Table Sharding,光學(xué)器件設(shè)計,非線性最短路)。SurCo榮獲ICML'23 SODL workshop[18]的最優(yōu)論文獎。我的博后Arman之后發(fā)表了LANCER[19](NeurIPS'23),進一步減少調(diào)用組合優(yōu)化器的次數(shù),提高求解效率,并運用于投資組合優(yōu)化。最近我們又發(fā)表了GenCo[20]用于生成非線性問題的多樣可行解,并應(yīng)用于游戲關(guān)卡及光學(xué)器件設(shè)計中。
另外我們也在用對比學(xué)習(xí)的方法來學(xué)習(xí)一些求解組合優(yōu)化的啟發(fā)式搜索規(guī)則,CL-LNS[21](ICML'23)及之后的ConPAS即是通過這些方式加速Large Neighborhood Search(LNS)優(yōu)化的效率??偟膩碚f,在資源有限或者需要在線運行的情況下,用機器學(xué)習(xí)完全替代已經(jīng)積累了幾十年的傳統(tǒng)組合優(yōu)化方法,還是比較困難的,目前比較實用的方案都是找更好的高層策略,然后在求解的某個階段調(diào)用現(xiàn)有的求解器(DeepMind大力出奇跡的除外)。
一些感想
大模型時代,研究的迭代速度實在是太快了。三大機器學(xué)習(xí)會議已經(jīng)成為線下社交平臺,因為錄的文章都是半年前的了;arXiv也不再是前線,更前線的在Discord群里,在X的爭論里面,在Huggingface里不停增長的repo里,在Github的issues討論中。
像StreamingLLM這篇paper,主要結(jié)果一作在八月中就弄出來了,但一直沒放arXiv,于是我們在九月中旬看到了LM-Infinite[22],方法高度相似,當(dāng)時就抓狂了,士氣非常低落。還好頂住了壓力,討論出了另一種寫作方案,從理解LLM工作原理的角度出發(fā),換一種思路去寫,并且沿著這條路徑做了更多的驗證實驗(比如說Table 2),最后充分證明了Attention Sink的存在性。等到我們真的投稿了,又發(fā)現(xiàn)了有另一篇關(guān)于ViT的分析文章[23],在encoder-decoder模型中也發(fā)現(xiàn)了類似的現(xiàn)象。三篇都來自自家公司,也真是服了。
像Positional Interpolation,六月中開始發(fā)現(xiàn)有效果,但在寫paper的時候發(fā)現(xiàn)已經(jīng)有位不知名的博主于6/20把方法掛在網(wǎng)上[24]了,隨即又發(fā)現(xiàn)某個github issue里面也在討論很接近的idea,于是焦急地等待文章內(nèi)部過審,在一番冰天雪地滑跪?qū)徍瞬块T請求加速辦理之后,終于放上arXiv(其間模版還搞錯了一次)。文章放上去僅僅一天,就已經(jīng)有紅迪(reddit)網(wǎng)友提出了幾乎不用微調(diào)的更優(yōu)方案[25],馬上有人在推特(twitter,現(xiàn)X)上提問[26],然后我直接在網(wǎng)上回復(fù)[27]……
總的來說,這次LLM的時代潮流,造成了非常劇烈的競爭,對研究者們沖擊很大。越是愿意鉆進技術(shù)細(xì)節(jié)里手寫代碼的,跟進速度越快,對于新范式的理解也越深入,甚至連風(fēng)險投資者們都開始自己碼代碼調(diào)程序做LLM應(yīng)用了。LLM也導(dǎo)致了很多思維的變革,許多以前感覺匪夷所思的操作(比如說讓模型自我反省,或是用文字描述全新任務(wù)讓它執(zhí)行),今天寫幾個prompt就能實現(xiàn),這對一些傳統(tǒng)的研究思維,會是一個巨大的沖擊。
恍然間又回到了2013-2014深度學(xué)習(xí)起飛的年代,但這次來勢更猛,增速更快,因為基礎(chǔ)架構(gòu),硬件支持,開源氛圍,或是研究者們的認(rèn)知,都已經(jīng)更新?lián)Q代了。往這個方向走下去,在不遠的將來,就如之前關(guān)于GPT-4的一點狂想(其二) - 知乎(zhihu.com)[28]所預(yù)測的那樣,也許個人及小團隊的能力會越來越重要。迭代速度越快,一手經(jīng)驗越豐富,越不受已有的條條框框約束,越能發(fā)現(xiàn)別人發(fā)現(xiàn)不了的東西。
當(dāng)全世界的公開數(shù)據(jù)都已經(jīng)塞進模型里訓(xùn)練了,個人能做的貢獻,就在于在自己深耕的領(lǐng)域,有獨一無二的發(fā)現(xiàn)了。
我覺得自己這一年還是hands-on得少了,之后還是要做更多一線的工作,才能適應(yīng)時代的潮流啊。
審核編輯:黃飛
?
電子發(fā)燒友App























評論