一篇來自阿里的文章
Abstract
將大型語言模型(LLMs)與輔助標記相結合,已成為提升模型性能的一種頗具前景的策略。在本研究中,我們提出了一種輕量級方法——“潛在標記”(latent tokens)。這些虛擬標記在自然語言中可能不具備可解釋性,但可通過注意力機制引導基于Transformer的LLM自回歸解碼過程。 所提出的潛在標記可與預訓練Transformer無縫集成,以參數高效的方式訓練,并在推理階段靈活應用,同時幾乎不會為標準Transformer的現有架構增加復雜度開銷。我們針對潛在標記的底層機制提出若干假設,并相應設計合成任務進行驗證。數值結果表明,該方法顯著優于基線模型,尤其在分布外泛化場景中表現突出,凸顯了其在提升LLM適應性方面的潛力。
1 Introduction
基于Transformer的大型語言模型(LLMs),如Llama[16]和GPT[21],通過下一個標記預測為任何給定查詢生成響應。在這個過程中,LLM通常會連續逐個生成標記,但這在解決復雜任務時往往顯得不足[7,1,17]。最近的研究一直在探索各種方法,通過在輸入序列中插入輔助標記來增強LLM,以提供中間計算。這些標記要么攜帶明確的語義含義(例如思維鏈(CoT)[28]、草稿紙[20]和LLM提示[3,31]),要么作為沒有直接語言解釋的抽象占位符[8,22,9]。具體來說,基于Transformer的LLM[25]被允許在生成后續標記之前對一些額外標記進行前向傳播,從而提高生成輸出的質量。與“可解釋”方法[28,20]相比,“不可解釋”方法在輸入序列中插入一些特殊標記以提供額外計算,這些標記本身可能沒有明確含義。這種方法,如暫停標記[8]、填充標記[22]等,顯示出在突破自然語言限制以提升模型性能方面的潛力。
現有使用不可解釋標記的方法通常將標記插入固定位置,包括查詢開頭[14]或查詢結尾[8,9]。這在兩個關鍵方面限制了其有效性:(1)這些標記的作用隨著序列長度的增加而逐漸減弱,可能導致在長文本生成場景中失效;(2)它們難以泛化到超出訓練分布的更長分布外(OOD)序列。這些局限性凸顯了需要一個原則性框架,以在保留泛化能力的同時有效協調潛在計算過程。
為此,我們提出了一種統一的方法,旨在以簡單而有效的方式用潛在標記(latent tokens)增強任何僅解碼器的Transformer。這些虛擬標記可能與自然語言沒有對應關系,但可以在推理時靈活應用,并在預測任何輸出標記之前增強潛在計算能力。我們詳細介紹了潛在標記的設計,包括推理和訓練過程。為確保通用性,我們精心設計了潛在標記的位置編碼、損失函數等方面。通過這些設計,潛在標記無需對完整Transformer進行大量訓練即可廣泛適用于一般任務,并且與標準Transformer的現有架構完全兼容。盡管方法簡單,但我們的方案在多個基準任務中均展現出對LLM性能的持續提升(見附錄C)。
盡管結果令人鼓舞,但仍不清楚哪些任務從潛在標記中獲益最多,以及其有效性的根本原因。在這項工作中,我們進行了深入研究,以闡明潛在標記在生成過程中所扮演的角色。具體而言,我們提出了關于其效用的幾個假設:(i)用于長序列且一致的生成的自我提示,(ii)輔助信息檢索,以及(iii)在更長的分布外(OOD)序列中提高指令遵循能力。針對每個假設,我們設計了相應的合成任務,以評估我們的方法與現有方法之間的性能差距。觀察到的性能提升——尤其是在分布外場景中——凸顯了潛在標記的優勢,并暗示了其可能的底層機制。
2 Preliminaries for Standard Transformers
設s={s1,…,st,…,sn}s = \{s_1, \ldots, s_t, \ldots, s_n\}s={s1?,…,st?,…,sn?}表示一個標記序列,其位置索引(或ID)為{1,…,t,…,n}\{1, \ldots, t, \ldots, n\}{1,…,t,…,n}。一個參數為θ\thetaθ的僅解碼器Transformer模型[25]以自回歸方式逐個預測標記。也就是說,每個輸出標記st+1s_{t+1}st+1?是基于其前面的輸入標記s1:t={s1,…,st}s_{1:t} = \{s_1, \ldots, s_t\}s1:t?={s1?,…,st?}生成的。在典型的微調場景中,訓練數據中的序列sss由一個查詢和相應的響應組成。訓練或微調的標準目標是訓練集TTT中每個樣本sss的目標標記的負對數似然,其表達式為: min?θ∑s∈T∑t∈Rs?log?pθ(st+1∣s1:t),(1)\min_{\theta} \sum_{s \in T} \sum_{t \in R_s} -\log p_{\theta}(s_{t+1}|s_{1:t}), \quad (1)θmin?s∈T∑?t∈Rs?∑??logpθ?(st+1?∣s1:t?),(1) 其中RsR_sRs?表示樣本序列sss中響應的標記索引,pθp_{\theta}pθ?是給定模型θ\thetaθ和上下文s1:ts_{1:t}s1:t?時輸出標記的概率分布。 在推理時,將查詢序列輸入到Transformer模型中,模型以逐個標記的方式生成響應。例如,使用貪心解碼策略時,模型將具有最高預測概率的標記作為下一個標記: st+1=arg?max?s∈Vpθ(s∣s1:t),(2)s_{t+1} = \arg\max_{s \in V} p_{\theta}(s|s_{1:t}), \quad (2)st+1?=args∈Vmax?pθ?(s∣s1:t?),(2) 其中VVV表示詞匯表集合。然后將預測的標記作為上下文s1:t+1s_{1:t+1}s1:t+1?的一部分反饋給模型,以生成下一個標記st+2s_{t+2}st+2?,重復此過程直到遇到結束信號或達到最大標記數。
在標記層面,標準Transformer對下一個標記的預測僅涉及單個標記的前向計算。模型的表達能力可能會受到有限計算量的限制,導致在某些需要復雜推理或長期依賴的任務中表現不佳[17, 19, 8, 22]。為此,在下一節中,我們提出一種在序列生成過程中添加潛在標記的方法,以在推理時提供額外的潛在計算能力。
3 Latent Tokens: A Unified Methodology
在本節中,我們介紹將潛在標記整合到僅解碼器Transformer中的方法,如圖1所示。這些潛在標記通過注意力機制提供額外計算,以輔助模型生成輸出標記,但不期望其生成具有明確文本含義的額外輸出。我們力求實現潛在標記的多種理想特性,例如:
- 通用性:潛在標記可融入任何僅解碼器Transformer,且該方法應與不同類型的任務兼容,而非局限于某些特定任務。
- 潛在計算:潛在標記用于輔助模型生成輸出標記,但其本身可能不旨在產生額外的可解釋序列。
- 最小干擾:在將潛在標記引入預訓練Transformer時,應盡量減少對文本標記原始分布的負面干擾。
概括地說,我們引入一組m個潛在標記u1,…,umu_1, \dots, u_mu1?,…,um?作為新標記,這些標記不存在于原始詞匯表中。每個索引為i的潛在標記uiu_iui?對應一個可學習的向量zi∈Rdz_i \in \mathbb{R}^dzi?∈Rd,其中d表示嵌入維度。接下來,我們將介紹所提出方法的詳細設計,包括推理過程、訓練過程以及潛在標記的設計選擇。
3.1 Inference with Latent Tokens
在推理階段,潛在標記會被融入查詢序列和生成的響應中,以提供額外的計算輔助。對于查詢序列{s?, …, s?},我們假設已按照優化過程中的相同步驟(將在3.2和3.3節解釋)預先在適當位置添加了一些潛在標記。基于插入潛在標記的查詢,Transformer會生成響應的第一個標記s???。需要注意的是,預測標記的輸出空間仍為原始詞匯表,因為我們不期望模型在輸出序列中生成潛在標記。
在自回歸生成過程中,向序列中插入潛在標記也有助于后續標記的預測。為實現這一設計,我們需要為生成的文本標記和潛在標記(如有)分配合適的位置ID,確保Transformer能準確捕捉它們的相對位置信息。具體來說,我們將位置ID t+1分配給生成的標記s???。假設一組潛在標記u?, …, u?旨在輔助s???生成后續標記,我們會在模型的輸入側將它們前置到標記s???之前2。此時,增強后的序列表示為{s?, …, s?, u?, …, u?, s???},并被反饋到Transformer中用于下一個標記的預測。
Position encoding of latent tokens. 輸入標記的位置信息對于揭示輸入序列的結構至關重要[12,35]。在將潛在標記融入輸入序列時,確保它們不干擾原始輸入標記的位置信息非常重要。為實現這一目標,我們建議對潛在標記使用與其后續文本標記相同的位置編碼,如圖2所示。具體而言,我們保持所有文本標記的位置ID不變,并將位置ID t+1分配給緊鄰文本標記s???之前的一組潛在標記。這種設計確保模型仍能捕獲文本標記和潛在標記的位置信息,這對模型正確理解輸入序列至關重要。 值得注意的是,這種設計與本質上任何基于標記位置ID整合位置信息的方案兼容,從原始Transformer中的絕對位置嵌入[25]到最近的旋轉位置嵌入[24]等方法均適用。在附錄A.1中,我們更正式地討論了上述位置編碼方案的基本原理和優勢。
3.2 Optimizing Latent Tokens
為了優化潛在標記,我們通過在輸入序列中插入潛在標記來預處理訓練數據。原則上,我們可以在輸入序列的任何位置插入潛在標記。假設在兩個輸入標記sts_tst?和st+1s_{t+1}st+1?之間使用一組mmm個潛在標記,則模型會基于數據集T^\hat{T}T^中增強后的輸入序列s^={s1,...,st,u1,...,um,st+1,...,sn}\hat{s} = \{s_1, ..., s_t, u_1, ..., u_m, s_{t+1}, ..., s_n\}s^={s1?,...,st?,u1?,...,um?,st+1?,...,sn?}進行優化以預測輸出標記。在當前工作中,此優化過程僅限于預訓練Transformer模型的微調階段,而預訓練階段保持不變。接下來,我們專注于單獨優化潛在標記,同時凍結預訓練Transformer的模型參數。 與現有研究[8, 22, 9]相比,該方法提供了一種更輕量級的方式來實現潛在計算。
Loss function design. 潛在標記旨在輔助上下文序列s^1:k\hat{s}_{1:k}s^1:k?預測下一個標記s^k+1\hat{s}_{k+1}s^k+1?,其表達式為:
min?z∑s^∈T^∑k∈Iloss?log?pθ,z(s^k+1∣s^1:k),\min_{z} \sum_{\hat{s} \in \hat{\mathcal{T}}} \sum_{k \in \mathcal{I}_{loss}} -\log p_{\theta, z}\left(\hat{s}_{k+1} \mid \hat{s}_{1:k}\right), zmin?s^∈T^∑?k∈Iloss?∑??logpθ,z?(s^k+1?∣s^1:k?),
其中Iloss\mathcal{I}_{loss}Iloss?是用于計算損失的標記索引集合。所提出的潛在標記僅用于輔助文本標記的預測,因此我們忽略對潛在標記的預測。為此,我們最小化與文本標記對應的預測損失,即:
Iloss?{k∈Rs:s^k?不是潛在標記}.(4) \mathcal{I}_{loss} \triangleq \left\{k \in \mathcal{R}_{s}: \hat{s}_{k} \text{ 不是潛在標記} \right\}. \quad (4) Iloss??{k∈Rs?:s^k??不是潛在標記}.(4)
備注1. 所提出的方法具有通用性,可應用于任何僅解碼器的Transformer模型。特別地,我們實現了潛在標記的參數高效微調,這與現有需要從頭重新訓練整個模型的方法[8,22]不同。此外,我們的方法可以使用現有的訓練和推理基礎設施,例如鍵值(KV)緩存和批量推理,且幾乎不會增加額外的基礎設施復雜性。
3.3 Design Choices
潛在標記是基于特定設計選擇融入序列的。原則上,可在輸入序列內的任意位置插入任意數量的潛在標記。同時,不同輸入序列的潛在標記數量可以是固定的或可變的。一種直接的策略是按固定頻率添加一組m個潛在標記,例如每k個文本標記插入一次,用kmk_mkm?表示。此外,潛在標記可基于特定的輸入標記符號分配,如逗號(,)、句號(.)、問號(?)等。圖3展示了插入潛在標記的一些選擇。
Function specialization. 此外,我們引入了一種高級方案,可根據潛在標記的位置或其后的文本標記,使其在不同功能上實現專業化。例如,我們可以在序列的不同位置使用多組潛在標記,如查詢開頭、查詢中間、查詢結尾以及生成響應的中間位置。這種功能專業化設計(記為FS)可確保插入到多個位置的潛在標記不會因學習目標沖突而影響效果,從而在可訓練參數有限的情況下提升模型性能。
我們在此總結所提出的方法與若干密切相關工作之間的關系:
- Prompt tuning[14]:如果僅在查詢序列的開頭添加m個潛在標記(記為Start_m),則所提出的方法等同于 Prompt tuning。在這種情況下,潛在標記的數量可視為軟提示的長度,用于引導模型生成合適的響應。然而,我們的設計更為通用,通過在不同位置插入潛在標記能夠解決更復雜的任務,這將在第4節和附錄C中進行驗證。
- Pause token[8]和 filler token[22]: Pause token 可視為我們方法的一種變體,即m個潛在標記被附加到查詢的末尾(記為End_m)。 具體而言,在生成最終答案之前,某些《PAUSE》標記被期望作為思維鏈(CoT)過程。因此,在看到最后一個《PAUSE》標記之前,輸入標記的預測會被忽略。類似地, filler token在某些推理任務中使用填充標記(…)來替代思維鏈過程,但發現很難讓模型學習填充標記的用法。相比之下,我們提出的潛在標記僅需輕量級微調即可廣泛適用于一般任務。在附錄C.4中,我們通過實驗表明,由于上述設計,所提出的方法比暫停標記取得了更好的性能。
值得注意的是,我們提出的插入潛在標記的策略與大型語言模型(LLM)解碼的自回歸特性一致,即是否插入特定潛在標記由截至當前標記的上下文決定。在這項工作中,我們發現簡單的策略(例如在逗號等特定文本標記處插入潛在標記,甚至周期性插入)已能在合成任務(第4節)和基準任務(附錄C)中實現令人滿意的性能。接下來,我們旨在探究潛在標記在哪些類型的任務中具有優勢,以及背后的可能原因。
4 Exploring the Rationales Behind Latent Tokens
在本節中,我們探討潛在標記可能在下游任務中扮演的角色。我們首先提出三個假設,然后通過專門設計的合成任務對其進行驗證。詳細的實驗設置和一些補充實驗可在附錄B中找到。
4.1 Hypothesis 1: Self-Prompting for Long and Consistent Generation
我們假設,在自回歸生成過程中重復插入的潛在標記可起到自我提示的作用。換言之,這些潛在標記會持續向Transformer模型“提醒”其從訓練數據中學習到的信息,從而使模型能夠生成冗長且連貫的響應。
Setup。為驗證這一假設,我們設計了一項任務(生成任務),要求模型基于某種規則盡可能長地生成響應序列。該任務需要根據從訓練數據中學習到的預定義規則生成等式。具體而言,我們定義了一個運算(a)(a)(a),其輸入為四個數字a1a_1a1?、a2a_2a2?、b1b_1b1?、b2b_2b2?,輸出結果為f1(a1,b1)=∣a1+b1∣mod??9f_1(a_1, b_1) = |a_1 + b_1| \mod 9f1?(a1?,b1?)=∣a1?+b1?∣mod9和f2(a2,b2)=∣a2?b2∣mod??9f_2(a_2, b_2) = |a_2 - b_2| \mod 9f2?(a2?,b2?)=∣a2??b2?∣mod9。這些等式表示為a1a2@b1b2=f1(a1,b1)f2(a2,b2)a_1a_2 @ b_1b_2 = f_1(a_1, b_1)f_2(a_2, b_2)a1?a2?@b1?b2?=f1?(a1?,b1?)f2?(a2?,b2?),后面緊跟一個逗號。使用Llama-3.2-1B模型的分詞器時,該結構總共占用六個標記。隨后,等式通過將a1a2a_1a_2a1?a2?換為b1b2b_1b_2b1?b2?,并將bbb2bbb2bbb2替換為f1(a1,b1)f2(a2,b2)f_1(a_1, b_1)f_2(a_2, b_2)f1?(a1?,b1?)f2?(a2?,b2?)來繼續生成。每個樣本的查詢包含起始標記 BOS 和五個等式。按照此規則,模型需在響應的最大標記數限制內生成盡可能多的等式。但該規則并未明確提供給模型,模型需要從訓練樣例中自行學習。每個訓練樣本的響應包含若干等式,長度范圍為1到10,且不含結束標記 EOS 。以下是一個示例:
查詢:<BOS>44@47=83,47@83=34,83@34=21,34@21=53,21@53=72 查詢:<BOS> 44 @ 47=83,47 @ 83=34,83 @ 34=21,34 @ 21=53,21 @ 53=72查詢:<BOS>44@47=83,47@83=34,83@34=21,34@21=53,21@53=72
RESPONSE:53@72=31,72@31=11,RESPONSE: 53 @ 72=31,72 @ 31=11,RESPONSE:53@72=31,72@31=11,
我們實現了所提方法的多個變體,并在圖4中觀察不同方法可生成的正確等式數量。基線方法Start_m和End_m分別指在查詢開頭或結尾添加m個潛在標記;而所提方法Comma_m則在每個逗號標記前插入m個潛在標記。我們在與訓練數據分布相同的同分布(ID)場景,以及Transformer需要生成比訓練樣本更多等式的分布外(OOD)場景中對這些方法進行了評估。
Results。從圖4的結果可以觀察到,在可訓練參數數量相同的情況下,Comma_1和Comma_2的表現優于所有基線方法。在分布外(OOD)場景中,隨著模型需要生成更多等式,性能差距變得更大。在極端的OOD設置中,我們的方法相較于最佳基線實現了23%的相對提升。一個合理的解釋是,通過在每個逗號前插入潛在標記,模型獲得了能夠有效將等式分割為可處理組件的上下文線索。這種分割可能有助于在生成冗長且連貫的響應時保持一致性和結構完整性。相比之下,如Start_m和End_m那樣在查詢開頭或結尾插入潛在標記,提供的上下文信息較少,限制了模型適應OOD場景的能力。因此,Comma_m方法增強了模型的泛化能力,使其能夠以更高的準確性處理更廣泛的等式數量。
為了進一步探究潛在標記的作用,我們在圖5中可視化了Comma_2的注意力圖譜。我們觀察到一個每8個標記重復一次的模式——包含6個文本標記和2個潛在標記——這一模式在最后一層似乎變得更加清晰。具體而言,每組潛在標記會被其后的6個標記高度關注,這表明其在生成后續等式時起到了關鍵作用。
譯者注:一開始感覺也很好理解,都是一樣的token,當然attention強,但是發現也不對,在這個case中,@符號和=符號也是不停規律重復的,但是就沒有這個現象,但是不排除是因為@和=是有明確的語義且在這個任務中也學習到了特殊的計算模式。
4.2 Hypothesis 2: Assisting Information Retrieval
我們的第二個假設是,插入到查詢中的潛在標記可以幫助模型從輸入序列中檢索相關信息。
setup 為驗證這一假設,我們設計了一個指令遵循任務(重復任務),要求模型按指定次數重復給定等式。每個樣本構建如下:首先生成形式為a+b=ca+b=ca+b=c的基礎等式,其中aaa和bbb是從1到100中隨機采樣的整數,ccc表示aaa與bbb的和。查詢包含顯式指令“請將以下等式重復n次:”,其后跟隨已重復s1s_1s1?次的等式(s1s_1s1?從(1,5)中隨機選擇)。模型需繼續精確重復該等式s2=n?s1s_2 = n - s_1s2?=n?s1?次,其中s2s_2s2?范圍為1到10。訓練時僅使用s2∈[1,5]s_2 \in [1,5]s2?∈[1,5]的樣本,而s2>5s_2 > 5s2?>5可視為分布外(OOD)評估。示例如下:
QUERY:<BOS>請將以下等式重復6次:48+19=67,48+19=67, QUERY:<BOS> 請將以下等式重復6次:48+19=67,48+19=67, QUERY:<BOS>請將以下等式重復6次:48+19=67,48+19=67,
RESPONSE:48+19=67,48+19=67,48+19=67,48+19=67,<EOS> RESPONSE:48+19=67,48+19=67,48+19=67,48+19=67,<EOS> RESPONSE:48+19=67,48+19=67,48+19=67,48+19=67,<EOS>
我們的初步研究發現,基礎模型Llama-3.2-1B若不進行微調則無法完成此任務。與生成任務不同,該模型雖被提供了指令,但需要記住當前的生成狀態并嚴格遵循初始指令中的重復次數。為此,我們提出了具有功能專業化的潛在標記,即Comma_1(w/ FS),其中在查詢開頭添加一個潛在標記,同時在每個逗號前定期插入另一個潛在標記。
Result。從圖7的實驗結果來看,與在同分布(ID)設置中100%的準確率相比,模型在分布外(OOD)場景下的性能出現了顯著下降。通過檢查錯誤樣本,我們發現所有失敗均源于等式計數錯誤,這凸顯了當訓練中未見過目標計數時,模型要實現正確計數的難度。相比之下,所提出的Comma_1(帶FS)方法與所有基線方法相比,取得了顯著更高的準確率,尤其是在極端OOD設置中,較最佳基線實現了220%的相對提升。這證明了功能專業化在使潛在標記適應不同功能方面的有效性。 具體而言,一個潛在標記可能用于記憶指令,而其他潛在標記則通過關注先前的潛在標記來獲取當前狀態。 在附錄B.3中,我們提供了一些初步證據,表明潛在標記可能通過關注起始潛在標記和指令標記來影響序列生成的結束。
譯者注:問題是,這樣的話,不同的任務會訓練出對應的針對性潛 token 的功能,而真實訓練的時候我們希望hidden token可以自適應當前的任務。
4.4 Extended Comparisons
在本小節中,我們將回答以下問題:潛在標記的性能提升是否僅僅源于額外標記帶來的計算量增加? 為此,我們將我們的方法與具有相同平均標記數量的基線方法進行了比較。具體來說,為了匹配訓練期間使用的平均輸入序列長度,我們將基線方法中添加的標記數量分別設置為23(生成任務)、20(求和任務)和7(重復任務)。
如表1所示,我們的方法在分布外(OOD)場景中顯著優于基線方法,突顯了所提方法的泛化能力。此外,我們還觀察到,增加基線方法的可學習標記數量并不一定導致其性能單調提升,這一現象在現有文獻[10]中也有報道。總而言之,結果表明我們的方法的優勢不僅源于計算量的增加,還得益于潛在標記更有效的設計。
這個是希望證明有規律的加入hidden token,好于一股腦放在開頭或者結尾。
5 Related Works
Learnable special tokens 將可學習標記融入Transformer的做法已被廣泛探索,服務于多種目標:包括記憶歷史序列[4]、提供自適應計算[30]、壓縮提示詞[18],以及緩解視覺Transformer特征圖中的特定偽影[6]。為提升推理能力,[8]提出在查詢內部或末尾插入 【PAUSE】 標記;[22]則使用填充標記(…)替代思維鏈(CoT)過程,并在部分設計任務中較非CoT方案提升了性能。但這些研究發現,直接微調此類特殊標記難以達到預期效果[26],這促使我們設計更有效的潛在計算引入方法。此外,[27]通過訓練大語言模型在每步推理開始時生成規劃標記,以引導模型優化推理過程。這些研究主要聚焦于具有顯式推理步驟的任務,限制了其向其他任務的泛化能力。從另一個角度看,prompt tuning [14]也可視為在輸入查詢前后添加特殊標記的前期工作,屬于本文所提方法的一個特例。
Broader Related Works 越來越多的研究表明,集成中間計算步驟可以增強大語言模型(LLMs)在多個下游應用中的能力[23, 29, 11, 34]。例如,許多研究(包括草稿本方法[20]、思維鏈提示[28, 17]等[32, 33])促使大語言模型顯式生成一些中間計算步驟,以提升模型的推理能力。在此情況下,大語言模型被限制在“自然語言空間”中進行推理,因此在某些場景下性能可能有限[9]。另一類研究提出使用隱藏計算來引導模型輸出,而隱藏計算的結果在自然語言中可能不具備可解釋的含義[9, 15]。這些方法有效增強了推理能力,但通常需要對整個Transformer模型進行繁重的訓練,使其難以適應不同的下游任務。
6 Conclusions and Discussions
在這項工作中,我們引入了一種將潛在標記集成到大型語言模型(LLMs)的統一方法,從而提供額外的潛在計算能力,并針對位置編碼和損失函數等多個方面進行了專門設計。所提出的方法普遍適用于任何僅解碼器的Transformer架構,且與現有的訓練和推理基礎設施兼容。由于潛在標記具有輕量級特性,因此可以輕松應用包含多組學習到的潛在標記的批量推理,以同時服務于不同的下游任務或用戶。此外,我們通過提出三個可能的假設并通過合成任務對其進行驗證,深入探究了潛在標記在LLM生成中的潛在機制。重要的是,這些結果展示了潛在標記在各種任務中的分布外(OOD)泛化能力。
還有一些需要未來研究的工作。首先,潛在標記的設計空間涉及調整一些超參數,但我們的實驗尚未詳盡涵蓋所有可能的配置。此外,這項工作主要關注添加潛在標記的簡單策略。開發更具適應性和先進性的策略以充分釋放其潛力將是有趣的。另外,盡管我們通過合成任務探索了潛在標記的一些可能工作機制,但對其基本原理的完整理解仍留待未來的工作。最后,我們采用監督微調作為訓練方案,但未來的工作可能會將優化過程擴展到其他設置,如強化微調。
Appendix
A.2 Prepending or Appending Latent Tokens
在本小節中,我們簡要討論將潛在標記插入序列的另一種選擇。具體而言,我們可以在文本標記sts_tst?之后附加一組潛在標記,并將位置ID ttt分配給這些潛在標記。然后,在訓練和推理過程中,Transformer的預測會被忽略,直到看到最后一個潛在標記[8],如圖8所示。在下文中,我們將這種選擇稱為“附加潛在標記”(表示為APPEND),而默認設置稱為“前置潛在標記”(表示為PREPEND)。附錄C.3中的實驗對這兩種設計進行了比較。
C.2 Performance Comparision
表4展示了通過控制潛在標記數量,不同可訓練參數數量的各種方法的結果。我們觀察到,所提出的方法,即在序列中周期性集成潛在標記,在大多數情況下比基線方法表現更好,尤其是在微調Llama-3.2-1B模型時。相比之下,在查詢和生成的響應之間添加特殊標記的表現不如其他方法,但仍顯著優于樸素基線(基礎模型)。這些結果表明,所提出的插入潛在標記的方法成功增強了推理過程中的中間計算,從而提高了響應質量。
C.3 Ablation Studies
我們使用Llama-3.2-1B模型并采用8_4方法插入潛在標記來進行消融研究,結果如表5所示。與附錄B.4類似,我們考慮了四種設置:(1)凍結位置ID并前置潛在標記(默認設置),(2)凍結位置ID并后置潛在標記,(3)增加位置ID并前置潛在標記,(4)增加位置ID并后置潛在標記。我們觀察到,采用固定位置ID可有效穩定訓練并避免性能不佳;前置潛在標記的設計也提升了訓練性能。