清華微軟開源全新提示詞壓縮工具,長度驟降80%!GitHub怒砍3.1K星
在自然語言處理中,有很多信息其實是重復(fù)的。
如果能將提示詞進行有效地壓縮,某種程度上也相當于擴大了模型支持上下文的長度。
現(xiàn)有的信息熵方法是通過刪除某些詞或短語來減少這種冗余。
然而,作為依據(jù)的信息熵僅僅考慮了文本的單向上下文,進而可能會遺漏對于壓縮至關(guān)重要的信息;此外,信息熵的計算方式與壓縮提示詞的真正目的并不完全一致。
為了應(yīng)對這些挑戰(zhàn),來自清華和微軟的研究人員提出了一種全新的數(shù)據(jù)精煉流程——LLMLingua-2,目的是從大型語言模型(LLM)中提取知識,實現(xiàn)在不丟失關(guān)鍵信息的前提下對提示詞進行壓縮。
項目在GitHub上已經(jīng)斬獲3.1k星
結(jié)果顯示,LLMLingua-2可以將文本長度大幅縮減至最初的20%,有效減少了處理時間和成本。
此外,與前一版本LLMLingua以及其他類似技術(shù)相比,LLMLingua 2的處理速度提高了3到6倍。
論文地址:https://arxiv.org/abs/2403.12968
在這個過程中,原始文本首先被輸入模型。
模型會評估每個詞的重要性,決定是保留還是刪除,同時也會考慮到詞語之間的關(guān)系。
最終,模型會選擇那些評分最高的詞匯組成一個更簡短的提示詞。
團隊在包括MeetingBank、LongBench、ZeroScrolls、GSM8K和BBH在內(nèi)的多個數(shù)據(jù)集上測試了LLMLingua-2模型。
盡管這個模型體積不大,但它在基準測試中取得了顯著的性能提升,并且證明了其在不同的大語言模型(從GPT-3.5到Mistral-7B)和語種(從英語到中文)上具有出色的泛化能力。
系統(tǒng)提示:
作為一名杰出的語言學(xué)家,你擅長將較長的文段壓縮成簡短的表達方式,方法是去除那些不重要的詞匯,同時盡可能多地保留信息。
用戶提示:
請將給定的文本壓縮成簡短的表達形式,使得你(GPT-4)能夠盡可能準確地還原原文。不同于常規(guī)的文本壓縮,我需要你遵循以下五個條件:
1. 只移除那些不重要的詞匯。
2. 保持原始詞匯的順序不變。
3. 保持原始詞匯不變。
4. 不使用任何縮寫或表情符號。
5. 不添加任何新的詞匯或符號。
請盡可能地壓縮原文,同時保留盡可能多的信息。如果你明白了,請對以下文本進行壓縮:{待壓縮文本}
壓縮后的文本是:[...]
結(jié)果顯示,在問答、摘要撰寫和邏輯推理等多種語言任務(wù)中,LLMLingua-2都顯著優(yōu)于原有的LLMLingua模型和其他選擇性上下文策略。
值得一提的是,這種壓縮方法對于不同的大語言模型(從GPT-3.5到Mistral-7B)和不同的語言(從英語到中文)同樣有效。
而且,只需兩行代碼,就可以實現(xiàn)LLMLingua-2的部署。
目前,該模型已經(jīng)被集成到了廣泛使用的RAG框架LangChain和LlamaIndex當中。
實現(xiàn)方法
為了克服現(xiàn)有基于信息熵的文本壓縮方法所面臨的問題,LLMLingua-2采取了一種創(chuàng)新的數(shù)據(jù)提煉策略。
這一策略通過從GPT-4這樣的大語言模型中抽取精華信息,實現(xiàn)了在不損失關(guān)鍵內(nèi)容和避免添加錯誤信息的前提下,對文本進行高效壓縮。
提示設(shè)計
要想充分利用GPT-4的文本壓縮潛力,關(guān)鍵在于如何設(shè)定精確的壓縮指令。
也就是在壓縮文本時,指導(dǎo)GPT-4僅移除那些在原始文本中不那么重要的詞匯,同時避免在此過程中引入任何新的詞匯。
這樣做的目的是為了確保壓縮后的文本盡可能地保持原文的真實性和完整性。
標注與篩選
研究人員利用了從GPT-4等大語言模型中提煉出的知識,開發(fā)了一種新穎的數(shù)據(jù)標注算法。
這個算法能夠?qū)υ闹械拿恳粋€詞匯進行標注,明確指出在壓縮過程中哪些詞匯是必須保留的。
為了保證所構(gòu)建數(shù)據(jù)集的高質(zhì)量,他們還設(shè)計了兩種質(zhì)量監(jiān)控機制,專門用來識別并排除那些品質(zhì)不佳的數(shù)據(jù)樣本。
壓縮器
最后,研究人員將文本壓縮的問題轉(zhuǎn)化為了一個對每個詞匯(Token)進行分類的任務(wù),并采用了強大的Transformer作為特征提取器。
這個工具能夠理解文本的前后關(guān)系,從而精確地抓取對于文本壓縮至關(guān)重要的信息。
通過在精心構(gòu)建的數(shù)據(jù)集上進行訓(xùn)練,研究人員的模型能夠根據(jù)每個詞匯的重要性,計算出一個概率值來決定這個詞匯是應(yīng)該被保留在最終的壓縮文本中,還是應(yīng)該被舍棄。
性能評估
研究人員在一系列任務(wù)上測試了LLMLingua-2的性能,這些任務(wù)包括上下文學(xué)習(xí)、文本摘要、對話生成、多文檔和單文檔問答、代碼生成以及合成任務(wù),既包括了域內(nèi)的數(shù)據(jù)集也包括了域外的數(shù)據(jù)集。
測試結(jié)果顯示,研究人員的方法在保持高性能的同時,減少了最小的性能損失,并且在任務(wù)不特定的文本壓縮方法中表現(xiàn)突出。
- 域內(nèi)測試(MeetingBank)
研究人員將LLMLingua-2在MeetingBank測試集上的表現(xiàn)與其他強大的基線方法進行了對比。
盡管他們的模型規(guī)模遠小于基線中使用的LLaMa-2-7B,但在問答和文本摘要任務(wù)上,研究人員的方法不僅大幅提升了性能,而且與原始文本提示的表現(xiàn)相差無幾。
- 域外測試(LongBench、GSM8K和BBH)
考慮到研究人員的模型僅在MeetingBank的會議記錄數(shù)據(jù)上進行了訓(xùn)練,研究人員進一步探索了其在長文本、邏輯推理和上下文學(xué)習(xí)等不同場景下的泛化能力。
值得一提的是,盡管LLMLingua-2只在一個數(shù)據(jù)集上訓(xùn)練,但在域外的測試中,它的表現(xiàn)不僅與當前最先進的任務(wù)不特定壓縮方法相媲美,甚至在某些情況下還有過之而無不及。
即使是研究人員的較小模型(BERT-base大小),也能達到與原始提示相當?shù)男阅?,在某些情況下甚至略高于原始提示。
雖然研究人員的方法取得了可喜的成果,但與其他任務(wù)感知壓縮方法(如Longbench上的LongLLMlingua)相比,研究人員的方法還存在不足。
研究人員將這種性能差距歸因于它們從問題中獲取的額外信息。不過,研究人員的模型具有與任務(wù)無關(guān)的特點,因此在不同場景中部署時,它是一種具有良好通用性的高效選擇。
上表4列出了使用Mistral-7Bv0.1 4作為目標LLM的不同方法的結(jié)果。
與其他基線方法相比,研究人員的方法在性能上有明顯的提升,展示了其在目標LLM上良好的泛化能力。
值得注意的是,LLMLingua-2的性能甚至優(yōu)于原始提示。
研究人員推測,Mistral-7B在管理長上下文方面的能力可能不如GPT-3.5-Turbo。
研究人員的方法通過提供信息密度更高的短提示,有效提高了 Mistral7B 的最終推理性能。
上表5顯示了不同系統(tǒng)在不同壓縮比的V100-32G GPU上的延遲。
結(jié)果表明,與其他壓縮方法相比,LLMLingua2的計算開銷要小得多,可以實現(xiàn)1.6倍到2.9倍的端到端速度提升。
此外,研究人員的方法還能將GPU內(nèi)存成本降低8倍,從而降低對硬件資源的需求。
上下文意識觀察 研究人員觀察到,隨著壓縮率的增加,LLMLingua-2可以有效地保持與完整上下文相關(guān)的信息量最大的單詞。
這要歸功于雙向上下文感知特征提取器的采用,以及明確朝著及時壓縮目標進行優(yōu)化的策略。
研究人員觀察到,隨著壓縮率的增加,LLMLingua-2可以有效地保持與完整上下文相關(guān)的信息量最大的單詞。
這要歸功于雙向上下文感知特征提取器的采用,以及明確朝著及時壓縮目標進行優(yōu)化的策略。
最后研究人員讓GPT-4 從 LLMLingua-2壓縮提示中重構(gòu)原始提示音。
結(jié)果表明,GPT-4可以有效地重建原始提示,這表明在LLMLingua-2壓縮過程中并沒有丟失基本信息。