[關於在Transformer和LLM的上下文視窗中使用連續潛在空間向量] #週日長篇大論 關於如何利用連續潛在空間中的向量來提高Transformer模型的求解效率,目前有許多討論。在我看來,其中一些論點與計算複雜度守恆的原則相違背。 這些論點/類比圍繞著將這些標記視為離散標記的「疊加」(想想並集)。 作為背景,Transformer 運算在潛在空間 L 中進行,其中每個(語言)標記都對應於 L 中的向量。然而,這種映射是單向的:並非 L 中的每個向量都對應於一個唯一的標記。 不過,你可以將這些向量(它們不具有唯一的詞元映射關係)視為詞元對應向量的線性組合。這樣,它們就可以被視為這些詞元的並集/疊加。 很明顯,Transformer 的操作將上下文視窗中的實體視為嵌入空間中的向量。特別是,前向傳遞操作並不關心正在處理的向量是否具有與其對應的唯一標記。 這意味著就Transformer運算而言,上下文視窗可以同時包含「詞元向量」(即對應於唯一詞元的嵌入向量)和「潛在向量」(即不對應於唯一詞元的嵌入向量)。如上所述,這些潛在向量可以看作是詞元向量的線性組合。 這種靈活性的一個顯而易見的用途是,Transformer 產生的中間詞元完全可以是這些潛在向量;只有最終使用者需要接收的解詞元才需要是詞元向量。事實上,正如我們在 https://t.co/f6E3c2j4dm (https://t.co/t4uYw5WTmD) 中論證的那樣,只要中間詞元本身似乎沒有任何最終用戶的語義,允許它們是潛在空間中的任何向量就能為學習合適的提示增強提供更大的靈活性(參見 https://t.co/jl0Ly)。 關於在中間標記中使用潛在向量的另一個論點是,這是一種「提高解決底層問題的效率」的方法。 現在,我對將LLM視為解決問題的方式持懷疑態度。例如,我們的研究表明,中間詞元的長度與問題的底層複雜性之間幾乎沒有關聯(參見https://t.co/UKgCwgHKeQ),這表明它更多地體現了連接訓練分佈和測試實例的嘗試。 然而,如果我們把 Transformer 看作是「計算解決方案」的方式(即使這並非預訓練 LLM 中實際發生的情況),那麼讓 Transformer 在潛在向量上而不是在標記向量上進行操作,似乎相當於在實體的析取表示上進行計算,而不是在單個實體上進行計算。 現在,對析取表示進行操作可以提高特定分佈下的平均效率,但無法降低最壞情況下的複雜度。作為合理性檢驗,抽象和層級結構可以被視為對析取表示進行操作,兩者都不會改變問題的最壞情況計算複雜度;有關規劃方面的論證,請參見 https://t.co/aXreC5YKPN 或 https://t.co/UDzu2Qp7WK。 這就是為什麼我對「帶有潛在標記的Transformer模型在所有情況下都能顯著提高效率」的說法持懷疑態度。例如,最近一篇論文(https://t.co/4oQzEUIFPk)聲稱,具有潛在標記的Transformer模型可以在與圖的直徑成正比的時間內解決圖的可達性問題(而且還引用了一些量子疊加原理!)。這說不通——尤其是在最壞的情況下——除非違反複雜度守恆定律(或改變「解決」可及性問題的定義;例如,該論文的實證結果似乎對低於100%的準確率也感到滿意)。 週五小組會議上討論這篇論文時,我向學生介紹了它與 Graphplan 規劃演算法的類比——Graphplan 可以加速 STRIPS 規劃(STRIPS 與可及性密切相關)。多年前,我們就證明了 Graphplan 的加速效果可以透過對狀態集而非單一狀態進行投影來理解。然而,如果直接操作並集表示,可能會出現這樣的情況:表示看起來似乎已經到達目標狀態,但實際上可能無法提取出有效的路徑! (對於 Graphplan 來說,這種提取涉及一個成本呈指數級增長的解碼步驟,如果解碼失敗,則會繼續對析取狀態進行投影)。下圖👇和原始論文(https://t.co/s20cFEOfQk)對此進行了說明(或參見 https://t.co/YqN0fh7vp6 中的圖 3 及其相關討論)。 tldr;我確實認為潛在標記可以大大提高 LLM 在訓練後學習提示增強的靈活性,但我不太同意「它們降低了所考慮問題的複雜性」這一說法。
正在載入線程內容
正在從 X 取得原始推文,整理成清爽的閱讀畫面。
通常只需幾秒鐘,請稍候。
![[關於在Transformer和LLM的上下文視窗中使用連續潛在空間向量] #週日長篇大論
關於如何利用連續潛在空間中的向量來提高Transformer模型的求解效率,目前有許多討論。在我看來,其中一些論點與計算複雜度守恆的原則相違背。](https://pbs.twimg.com/media/G4yh-s7b0AAH-4k.png)