「有效上下文」提升20倍!DeepMind發布ReadAgent框架
基于Transformer的大語言模型(LLM)具有很強的語言理解能力,但LLM一次能夠讀取的文本量仍然受到極大限制。
除了上下文窗口較小外,LLM的性能會隨著輸入內容長度的增加而下降,即便輸入內容未超過模型的上下文窗口長度限制也是如此。
相比之下,人類卻可以閱讀、理解和推理很長的文本。
LLM和人類在閱讀長度上存在差異的主要原因在于閱讀方法:LLM逐字地輸入精確的內容,并且該過程相對被動;但過于準確的信息往往會被遺忘,而閱讀過程更注重理解模糊的要點信息,即不考慮準確單詞的內容能記憶更長時間。
人類閱讀也是一個互動的過程,比如回答問題時還需要從原文中進行檢索。
為了解決這些限制,來自Google DeepMind和Google Research的研究人員提出了一個全新的LLM系統ReadAgent,受人類如何交互式閱讀長文檔的啟發,將有效上下文長度增加了20倍。
論文鏈接:https://arxiv.org/abs/2402.09727
受人類交互式閱讀長文檔的啟發,研究人員將ReadAgent實現為一個簡單的提示系統,使用LLMs的高級語言功能:
1. 決定將哪些內容存儲在記憶片段(memory episode)中;
2. 將記憶片段壓縮成稱為要點記憶的簡短片段記憶,
3. 如果ReadAgent需要提醒自己完成任務的相關細節,則采取行動(action)來查找原始文本中的段落。
在實驗評估中,相比檢索、原始長上下文、要點記憶(gist memories)方法,ReadAgent在三個長文檔閱讀理解任務(QuALITY,NarrativeQA和QMSum)上的性能表現都優于基線,同時將有效上下文窗口擴展了3-20倍。
ReadAgent框架
1. 要點記憶(gist memory)
要點記憶是原始長上下文中文本塊的短要點的有序集合,構建gist記憶有兩個步驟:分頁(pagination)和記憶提要(memory gisting)。
片段分頁(episode pagination)
當ReadAgent閱讀長文本時,通過選擇暫停閱讀的位置來決定在記憶片段中存儲哪些內容。
每一步都會為LLM提供部分文本,從上一個暫停點開始,并在達到最大單詞數限制時結束;提示LLM選擇段落之間的哪個點將是自然的暫停點,然后將前一個和當前暫停點之間的內容視為一個episode,也可以叫做頁(page)。
記憶提要(memory gisting)
對于每一頁,提示LLM將確切的內容縮短為要點或摘要。
2. 并行和順序交互查找
由于要點記憶與頁相關,所以只需提示LLM來找出哪一頁更像是答案,并在給定特定任務的情況下再次閱讀,主要有兩種查找策略:同時并行查找所有頁面(ReadAgent-P)和每次查找一個頁面(ReadAgent-S)。
ReadAgent-P
比如說,在問答任務中,通常會給LLM輸入一個可以查找的最大頁數,但也會指示其使用盡可能少的頁面,以避免不必要的計算開銷和干擾信息(distracting information)。
ReadAgent-S
順序查找策略中,模型一次請求一頁,在決定展開(expand)哪個頁面之前,先查看之前展開過的頁面,從而使模型能夠訪問比并行查找更多的信息,預期在某些特殊情況下表現得更好。
但與模型的交互次數越多,其計算成本也越高。
3. 計算開銷和可擴展性
片段分頁、記憶提要和交互式查找需要迭代推理,也存在潛在的計算開銷,但具體開銷由一個小因子線性約束,使得該方法的計算開銷不會輸入長度的增加而劇烈提升。
由于查找和響應大多是條件要點(conditioned gists)而非全文,所以在同一上下文中的任務越多,成本也就越低。
4. ReadAgent變體
當使用長文本時,用戶可能會提前知道要解決的任務:在這種情況下,提要步驟可以在提示中包括任務描述,使得LLM可以更好地壓縮與任務無關的信息,從而提高效率并減少干擾信息,即條件ReadAgent
更通用的任務設置下,在準備提要時可能不知道具體任務,或者可能知道提出的要點需要用于多個不同的任務,例如回答關于文本的問題等。
因此,通過排除注冊步驟中的任務,LLM可以產生更廣泛有用的提要,代價是減少壓縮和增加干擾注意力的信息,即非條件ReadAgent。
這篇論文中只探討了無條件設置,但在某些情況下,條件設置可能更有優勢。
迭代提要(iterative gisting)
對于一段很長的事件歷史,例如對話等,可以考慮通過迭代提要來進一步壓縮舊記憶來實現更長的上下文,對應于人類的話,舊記憶更模糊。
實驗結果
研究人員評估了ReadAgent在三個長上下文問答挑戰中的長文檔閱讀理解能力:QuALITY、NarrativeQA和QMSum。
雖然ReadAgent不需要訓練,但研究人員仍然選擇在訓練集上開發了一個模型并在驗證、測試和/或開發集上進行了測試,以避免過擬合系統超參數的風險。
選用的模型為指令微調后的PaLM 2-L模型。
評估指標為壓縮率(compression rate, CR),計算方法如下:
LLM評分器
NarrativeQA和QMSum都有一個或多個自由形式的參考回復,通常使用諸如ROUGE-F之類的語法匹配度量來評估。
除此之外,研究人員使用自動LLM評分器來評估這些數據集,作為人工評估的替代方法。
上面兩個提示中,「嚴格LLM評分器提示」用于判斷是否存在精確匹配,「許可LLM評分器提示」用于判斷是否存在精確匹配或部分匹配。
基于此,研究人員提出了兩個評價指標:LLM-Rating-1(LR-1)是一個嚴格的評估分數,計算所有示例中精確匹配的百分比;LLM-Rating-2(LR-2)計算精確匹配和部分匹配的百分比。
長上下文閱讀理解
QuALITY
QuALITY是一個多選問答任務,每個問題包含四個答案,使用來自多個不同來源的文本數據。
實驗結果顯示,ReadAgent(查找1-5頁)實現了最好的結果,壓縮率為66.97%(即提要后上下文窗口中可以容納3倍的token)。
當增加允許查找的最大頁數(最多5頁)時,性能會不斷提高;在6頁時,性能開始略有下降,即6頁上下文可能會增加干擾信息。
NarrativeQA
在三個閱讀理解數據集中,NarrativeQA的平均上下文長度最長,為了將gists放入上下文窗口,需要擴展頁面的尺寸大小。
提要對Gutenburg文本(書籍)的壓縮率為96.80%,對電影劇本的壓縮率為91.98%
QMSum
QMSum由各種主題的會議記錄以及相關問題或說明組成,長度從1,000字到26,300字不等,平均長度約為10,000字,其答案是自由形式的文本,標準的評估指標是ROUGE-F
可以看到性能隨著壓縮率的降低而提高,因此查找更多頁面的技術往往比查找更少頁面的技術做得更好。
還可以看到ReadAgentS大大優于ReadAgent-P(以及所有基線),性能改進的代價是檢索階段的請求數量增加了六倍。