上下文長(zhǎng)度256k,無(wú)限上下文版本LongLLaMA

大概掃了一眼論文,個(gè)人初步理解是,增加外部的記憶庫(kù)(memory),來(lái)達(dá)到記憶上文的目的,這樣可以在注意力矩陣(q-k矩陣)不明顯增大的情況下聯(lián)系很久之前的上文。
具體來(lái)說(shuō),把長(zhǎng)文本分成很多小段落,模型一次只讀取一部分小段落,然后使用kNN在記憶庫(kù)中的上文里面查找來(lái)檢索相關(guān)的鍵值對(duì),然后將它們與局部上下文結(jié)合起來(lái)進(jìn)行注意力計(jì)算。
這樣既可以避免冗余,也可以隨時(shí)查找到和當(dāng)前局部小段落最相關(guān)的內(nèi)容,如此可以關(guān)注到和本小段落相關(guān)的部分,達(dá)到小模型寬度也能讀長(zhǎng)文本的目的。
形象打個(gè)比方就是:模型可以一目十行,但是一目也只能十行,于是只讓模型看九行,然后把上文一些和這九行相關(guān)的關(guān)鍵詞高亮表示,算作一行,讓模型看這樣的“高亮上文關(guān)鍵詞+本段落九行內(nèi)容”,從而達(dá)成在資源有限的情況下聯(lián)系長(zhǎng)上文的目的。
不過(guò),雖然論文里通過(guò)這個(gè)辦法把上下文增加至256k,但是這并不是極限,據(jù)論文5.2節(jié)理想化測(cè)試,可以一直到16M都可以記住上文信息。但是實(shí)際中有很多noise,最終選擇了256k作為結(jié)論。但并不是沒(méi)有代價(jià),模型的精確度降為正常模型的73%,而且看起來(lái)如果再繼續(xù)增加會(huì)降更多。
總的來(lái)說(shuō),這篇文章還是比較有意思的,因?yàn)榭梢杂脕?lái)改造任何已有的模型,只需要加一個(gè)上文記憶數(shù)據(jù)庫(kù),就可以拓展模型的能力了。