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