出品 | 51CTO技術(shù)棧(微信號:blog51cto)
想一下,現(xiàn)在普通人調(diào)用個大模型有多別扭,你得一個個上傳文件,然后再告訴它自己想要什么樣的輸出,最好給它一套優(yōu)秀的模版,它才能給出個像樣的回答。
這就好比你自己的大腦都快想出答案來了,它只不過是幫你理解下文檔做個歸納總結(jié)罷了。
現(xiàn)在,除了Kimi的長文本窗口解決了這樣一個痛點問題,清華和微軟似乎也找到了另一種解決思路:如果能從提示詞下手,把提示詞壓縮,不也就變相地擴大了模型支持的上下文窗口長度了嗎?
如果能將提示詞進行有效地壓縮,某種程度上也相當于擴大了模型支持上下文的長度。
大家都知道,文本信息都是有不少冗余的。目前就有信息熵方法,通過刪除某些詞或短語來減少這種冗余。
然而,作為依據(jù)的信息熵僅僅考慮了文本的單向上下文,進而可能會遺漏對于壓縮至關(guān)重要的信息;此外,信息熵的計算方式與壓縮提示詞的真正目的并不完全一致。
為了應(yīng)對這些挑戰(zhàn),來自清華和微軟的研究人員提出了一種全新的數(shù)據(jù)精煉流程——LLMLingua-2,目的是從大型語言模型(LLM)中提取知識,實現(xiàn)在不丟失關(guān)鍵信息的前提下對提示詞進行壓縮,效果十分明顯,可以幫原有長度降低到20%。
圖片
據(jù)悉, LLMLingua已經(jīng)被集成到LangChain和LlamaIndex兩個廣泛使用的RAG框架中。一經(jīng)發(fā)布,在Github上就贏得了業(yè)界的關(guān)注,現(xiàn)在已經(jīng)斬獲了3.2k Stars。
圖片
此外,與前一版本LLMLingua以及其他類似技術(shù)相比,LLMLingua 2的處理速度提高了3到6倍。
一、實現(xiàn)方法三步走:提示設(shè)計、標注篩選、壓縮器
為了克服現(xiàn)有基于信息熵的文本壓縮方法所面臨的問題,LLMLingua-2采取了一種創(chuàng)新的數(shù)據(jù)提煉策略。
這一策略通過從GPT-4這樣的大語言模型中抽取精華信息,實現(xiàn)了在不損失關(guān)鍵內(nèi)容和避免添加錯誤信息的前提下,對文本進行高效壓縮。
1.提示設(shè)計
要想充分利用GPT-4的文本壓縮潛力,關(guān)鍵在于如何設(shè)定精確的壓縮指令。
也就是在壓縮文本時,指導GPT-4僅移除那些在原始文本中不那么重要的詞匯,同時避免在此過程中引入任何新的詞匯。
這樣做的目的是為了確保壓縮后的文本盡可能地保持原文的真實性和完整性。
圖片
2.標注與篩選
研究人員利用了從GPT-4等大語言模型中提煉出的知識,開發(fā)了一種新穎的數(shù)據(jù)標注算法。
這個算法能夠?qū)υ闹械拿恳粋€詞匯進行標注,明確指出在壓縮過程中哪些詞匯是必須保留的。
為了保證所構(gòu)建數(shù)據(jù)集的高質(zhì)量,他們還設(shè)計了兩種質(zhì)量監(jiān)控機制,專門用來識別并排除那些品質(zhì)不佳的數(shù)據(jù)樣本。
圖片
3.壓縮器
最后,研究人員將文本壓縮的問題轉(zhuǎn)化為了一個對每個詞匯(Token)進行分類的任務(wù),并采用了強大的Transformer作為特征提取器。
這個工具能夠理解文本的前后關(guān)系,從而精確地抓取對于文本壓縮至關(guān)重要的信息。
圖片
通過在精心構(gòu)建的數(shù)據(jù)集上進行訓練,研究人員的模型能夠根據(jù)每個詞匯的重要性,計算出一個概率值來決定這個詞匯是應(yīng)該被保留在最終的壓縮文本中,還是應(yīng)該被舍棄。
研究人員在一系列任務(wù)上測試了LLMLingua-2的性能,這些任務(wù)包括上下文學習、文本摘要、對話生成、多文檔和單文檔問答、代碼生成以及合成任務(wù),既包括了域內(nèi)的數(shù)據(jù)集也包括了域外的數(shù)據(jù)集。
測試結(jié)果顯示,研究人員的方法在保持高性能的同時,減少了最小的性能損失,并且在任務(wù)不特定的文本壓縮方法中表現(xiàn)突出。
二、性能評估:學習、摘要、對話、代碼生成無損齊活
項目團隊成員在一系列任務(wù)上測試了LLMLingua-2的性能,這些任務(wù)包括上下文學習、文本摘要、對話生成、多文檔和單文檔問答、代碼生成以及合成任務(wù),既包括了域內(nèi)的數(shù)據(jù)集也包括了域外的數(shù)據(jù)集。
測試結(jié)果顯示,研究人員的方法在保持高性能的同時,減少了最小的性能損失,并且在任務(wù)不特定的文本壓縮方法中表現(xiàn)突出。
1.域內(nèi)測試(MeetingBank)
研究人員將LLMLingua-2在MeetingBank測試集上的表現(xiàn)與其他強大的基線方法進行了對比。
盡管他們的模型規(guī)模遠小于基線中使用的LLaMa-2-7B,但在問答和文本摘要任務(wù)上,研究人員的方法不僅大幅提升了性能,而且與原始文本提示的表現(xiàn)相差無幾。
圖片
2.跨域測試(LongBench、GSM8K和BBH)
考慮到研究人員的模型僅在MeetingBank的會議記錄數(shù)據(jù)上進行了訓練,研究人員進一步探索了其在長文本、邏輯推理和上下文學習等不同場景下的泛化能力。
值得注意的是,盡管LLMLingua-2只在一個數(shù)據(jù)集上訓練,但在域外的測試中,它的表現(xiàn)不僅與當前最先進的任務(wù)不特定壓縮方法相媲美,甚至在某些情況下表現(xiàn)更優(yōu)。
圖片
更多案例,詳情可以移步:https://github.com/microsoft/LLMLingua?tab=readme-ov-file
最后,不得不說,圍繞大模型,現(xiàn)在的研究越來越接地氣了!期待更好用的技術(shù)落地!