提示工程是一種在機器學習模型,尤其是預訓練語言模型中,通過精心設計輸入提示(prompt)來引導模型輸出期望結果的技術。在大語言模型的使用中,提示詞通常是一段文本,用來引導模型生成特定的輸出或完成特定的任務。
在多文檔搜索、問答系統(tǒng)、文檔自動摘要生成以及閱讀理解等多樣化且復雜的應用場景中,往往會面臨輸入提示(prompt)長度顯著增加的挑戰(zhàn)。這種超長prompt不僅加大了大型語言模型(LLM)的推理成本,還顯著延長了推理時間,從而嚴重限制了其在需要即時響應的實時應用場景中的適用性。為了克服這一難題,優(yōu)化prompt設計,如通過壓縮技術精簡關鍵信息、采用更高效的prompt格式或結構,變得尤為關鍵。這樣的策略旨在平衡模型性能與實時性需求,確保LLM能夠在復雜多變的場景下依然保持高效、準確的響應能力。
基于以上背景,卓世科技創(chuàng)新的中文提示詞壓縮技術應運而生。
卓世科技對提示詞進行壓縮的技術旨在保證推理效果的前提下降低推理成本,提升推理速度。其主要的思路如下:
(1)定義長prompt的結構:
Prompt=instruction+documents/demonstrations+question。
(2)小語言模型和大語言模型的分布對齊
使用小語言模型(small LLM)估計長prompt的各個部分的重要程度,為了縮小大語言模型(LLM)和小語言模型之間的概率分布差距,通過在LLM生成的數(shù)據(jù)上進行指令微調(diào)來有效小語言模型,使得小語言模型更好地模擬LLM的分布。
(3)對documents/demonstrations部分進行兩個層次的壓縮。
3.1、示例層次的壓縮
documents/demonstrations部分中通常包含多個文檔/示例,而每個文檔/示例包含有多個段落。針對每個文檔/示例的每個段落,計算出段落與question的相關性,保留得分前3的段落作為該文檔/示例的代表上下文x_doc。同時,可計算出該文檔/示例中所有段落的平均相關性s_k。
然后根據(jù)question部分和文檔/示例的代表上下文x_doc計算文檔/示例級別的困惑度r_k。最終文檔/示例的評分為s1=s_k*r_k。
此時,每個文檔/示例計算出三個分數(shù),評分s1、平均相關性s_k以及困惑度r_k。利用這三個分數(shù)從長prompt的documents/demonstrations部分中刪除部分文檔/示例。
3.2重排序
由于模型對prompt的不同位置處的信息的敏感度不同,通常模型對prompt首尾位置處的信息敏感度較好,中間位置的敏感度較差。為了確保prompt的效果,可依據(jù)評分對保留的文檔進行重排序處理,使得評分較高的文檔排列在首位,評分較低排列在中間位置。
3.3文檔/示例壓縮率計算
針對重排序后的prompt,用戶可自定義在詞語層次上的壓縮率。按照上述文檔/示例的排序,使用[1, 2*Kc]的均勻離散分布,來初始化每個文檔/示例的壓縮率。
3.4詞語層次的壓縮
在刪減文檔/示例后的documents/demonstrations部分,可計算每個token的條件困惑度差異。
為了確保壓縮后的語義完整,可使用雙向最大匹配分詞法,以獲取到最長的分詞詞語。同時,為了適應垂直領域,可結合垂直領域內(nèi)的專業(yè)詞匯表進行分詞,盡量保留垂直領域內(nèi)的專業(yè)詞匯。
然后可基于前述計算出的token的條件困惑度差異以及分詞的結果,對每個詞語進行打分。假設一個中文詞語word_i有k個token組成,按照該中文詞語word_i是否屬于垂直領域的詞匯,使用不同的計算方式對其評分。
最后針對每個文檔/示例,利用文檔/示例中每個詞匯的評分,按照得分高低順序壓縮文檔/示例,使得其滿足文檔/示例的壓縮率。
(4)壓縮后的prompt可輸入至大語言模型中,得到響應。
至此,整個提示詞壓縮的方案介紹完畢,該技術方案相比于其他壓縮方案,更加適配中文的詞語粒度,尤其在垂直領域可避免丟失專業(yè)詞匯,在保證語義完整的情況下刪減了冗余信息,可有效降低提升推理效率,節(jié)約計算成本。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.