目前,ChatGPT、Llama 2、文心一言等主流大語言模型,因技術(shù)架構(gòu)的問題上下文輸入一直受到限制,即便是Claude 最多只支持10萬token輸入,這對于解讀上百頁報告、書籍、論文來說非常不方便。
為了解決這一難題,加州伯克利分校受操作系統(tǒng)的內(nèi)存管理機制啟發(fā),提出了MemGPT。該模型的最大創(chuàng)新是模仿操作系統(tǒng)的多級內(nèi)存管理機制,通過數(shù)據(jù)在不同的內(nèi)存層級之間的傳輸,來打破大語言模型固定上下文的限定。
開源地址:https://github.com/cpacker/MemGPT
論文:https://arxiv.org/abs/2310.08560
MemGPT主要包含主上下文和外部上下文兩大內(nèi)存類型。主上下文相當于操作系統(tǒng)的主內(nèi)存,是大語言模型可以直接訪問的固定長度上下文窗口。
外部上下文則相當于磁盤存儲,保存了主上下文之外的額外信息。MemGPT還提供了豐富的功能調(diào)用,允許大語言模型主動管理自己的內(nèi)存而無需人工干預(yù)。
這些功能調(diào)用可以將信息在主上下文和外部上下文之間進行導(dǎo)入導(dǎo)出。大語言模型可以根據(jù)當前任務(wù)目標,自主決定何時移動上下文信息以更好利用有限的主上下文資源。
研究人員在多個測試環(huán)境中進行了評估,結(jié)果表明,MemGPT可以有效處理遠超大語言模型上下文長度限制的文本內(nèi)容,例如,MemGPT可以處理長度遠超過GPT-3.5和GPT-4上下文限制的文檔。
當取回的文檔數(shù)增加時,固定上下文模型的性能受限于取回器的質(zhì)量,而MemGPT可以通過調(diào)用分頁機制取回更多文檔,其問答準確率也獲得提升。
在新提出的多步嵌套關(guān)鍵詞提取任務(wù)中,MemGPT通過多次調(diào)用外部上下文,成功完成了需要跨文檔進行多跳查詢才能得出解的任務(wù),而GPT-3.5和GPT-4的準確率在嵌套層數(shù)增加時急劇下降到0。
主上下文
MemGPT中的主上下文相當于操作系統(tǒng)中的“主內(nèi)存”,是大語言模型可以直接訪問的固定長度上下文窗口。研究人員將主上下文分為三個部分:
系統(tǒng)指令:這部分保存了MemGPT的基本控制邏輯,例如,函數(shù)調(diào)用模式等,長度固定且只讀。
對話上下文:這是一個先入先出的隊列,保存了最近的用戶交互歷史,只讀且會在長度超限時裁剪前段對話。
工作上下文:這是一個讀寫臨時存儲,大語言模型可以通過功能調(diào)用自主向其中寫入信息。
需要注意的是,這三個部分合起來,不能超過底層大語言模型的最大上下文長度。
外部上下文
外部上下文保存了主上下文之外的額外信息,相當于操作系統(tǒng)中的“磁盤存儲”。外部上下文需要明確的函數(shù)調(diào)用才能將信息導(dǎo)入主上下文供模型訪問,包括以下兩種類型:
回溯存儲:保存完整的歷史事件信息,相當于對話上下文的無壓縮版本。
歸檔存儲:通用的讀寫數(shù)據(jù)庫,可以作為主上下文的溢出空間保存額外信息。在對話應(yīng)用中,歸檔存儲可以保存有關(guān)用戶或系統(tǒng)角色的事實、喜好等額外信息。
回溯存儲允許檢索特定時間段的歷史交互。在文檔分析中,歸檔存儲可以支持更大的文檔集搜索。
自主編輯與檢索
MemGPT通過大語言模型產(chǎn)生的函數(shù)調(diào)用在內(nèi)存層級之間主動移動數(shù)據(jù),實現(xiàn)自主的編輯與檢索。例如,可以自主決定何時在上下文之間移動信息,以適應(yīng)當前任務(wù)目標,無需人工參與。
創(chuàng)新點在于系統(tǒng)指令中詳細描述了內(nèi)存體系結(jié)構(gòu)和功能調(diào)用方法,指導(dǎo)大語言模型學(xué)習(xí)使用這些工具管理內(nèi)存。
大語言模型可以根據(jù)反饋調(diào)整調(diào)用策略。同時,當主上下文空間不足時,系統(tǒng)會提醒大語言模型及時保存重要信息,引導(dǎo)其管理內(nèi)存。
鏈式調(diào)用
在MemGPT中,各種外部事件會觸發(fā)大語言模型進行推理,這包括用戶消息、系統(tǒng)內(nèi)存警告、用戶交互事件等。
功能調(diào)用可以請求獲取控制權(quán),從而實現(xiàn)鏈式調(diào)用。例如,檢索結(jié)果分頁瀏覽時,連續(xù)調(diào)用可以將不同頁面的數(shù)據(jù)收集到主上下文中。
而Yield調(diào)用則會暫停大語言模型,直到下一個外部事件觸發(fā)才再啟動推理。這種基于事件的控制流協(xié)調(diào)了內(nèi)存管理、模型推理和用戶交互之間的順暢溝通。
解析器與優(yōu)化
MemGPT使用解析器驗證大語言模型生成的函數(shù)調(diào)用,檢查參數(shù)等是否正確。調(diào)用后會將結(jié)果反饋給模型,這樣可以學(xué)習(xí)調(diào)整策略,減少錯誤。
此外,MemGPT的系統(tǒng)指令可以進行實時更新,以便在不同任務(wù)上給模型加入定制化的內(nèi)存管理指導(dǎo),實現(xiàn)持續(xù)優(yōu)化。
本文素材來源加州伯克利分校MemGPT論文,如有侵權(quán)請聯(lián)系刪除
未經(jīng)允許不得轉(zhuǎn)載:RPA中國 | RPA全球生態(tài) | 數(shù)字化勞動力 | RPA新聞 | 推動中國RPA生態(tài)發(fā)展 | 流 > 無限上下文,多級內(nèi)存管理!突破ChatGPT等大語言模型上下文限制
熱門信息
閱讀 (14728)
1 2023第三屆中國RPA+AI開發(fā)者大賽圓滿收官&獲獎名單公示閱讀 (13753)
2 《Market Insight:中國RPA市場發(fā)展洞察(2022)》報告正式發(fā)布 | RPA中國閱讀 (13055)
3 「RPA中國杯 · 第五屆RPA極客挑戰(zhàn)賽」成功舉辦及獲獎名單公示閱讀 (12964)
4 與科技共贏,與產(chǎn)業(yè)共進,第四屆ISIG中國產(chǎn)業(yè)智能大會成功召開閱讀 (11567)
5 《2022年中國流程挖掘行業(yè)研究報告》正式發(fā)布 | RPA中國