語言模型是如何感知時間的?「時間向量」了解一下
語言模型究竟是如何感知時間的?如何利用語言模型對時間的感知來更好地控制輸出甚至了解我們的大腦?最近,來自華盛頓大學和艾倫人工智能研究所的一項研究提供了一些見解。他們的實驗結果表明,時間變化在一定程度上被編碼在微調模型的權重空間中,并且權重插值可以幫助自定義語言模型以適應新的時間段。
具體來說,這篇論文提出了時間向量(time vectors)的概念,這是一種讓語言模型適應新時間段的簡單方法。論文發布后立即引起了一些研究者的注意。新加坡海事智能公司 Greywing 聯合創始人、CTO Hrishi Olickel 稱贊這篇論文是他今年讀過最好的論文之一。
他將本文的核心步驟概括為:
- 獲取 Twitter 和新聞數據,并按年份和月份進行分類;
- 選擇一個 LLM,并按月或按年對其副本分別進行微調,更新模型權重;
- 從原始 LLM 的權重中分別減去微調后模型的權重,得到「時間向量」。
權重差值此時可以作為一種向量,用于探索模型在這段時間內學到了什么。那么具體來說能用這個向量做些什么呢?
首先,可以檢查微調是否有效 —— 從結果來說微調確實有效。模型困惑度和 F1 值強烈表明,當輸入的數據符合微調后的時間時,任務性能有相應的提高!
同樣有趣的是,隨著訓練數據時間的推移,模型的性能呈線性下降。這一點在月份粒度和年份粒度上的結果都是如此。同時在特定月份訓練的模型在同年其他某幾個月份的表現也會相對較好(如下圖中的對角線條紋現象)。
Hrishi Olickel 猜想這是由于語義上存在的相似性(相同的月份名稱),不是因為模型產生了深層次的理解。并且如果能研究一下不同模型對應層之間的差值有多大,也許就能知道這種影響有多深。同樣有趣的是向量的組織方式。
Hrishi Olickel 認為能夠提出一個存在內部時間的模型,是相當驚人的。人類到現在都不知道時間是如何在大腦中工作的,但如果我們是語言驅動的學習者(如 LLM),而「意識」是一個內心里循環啟動的「進程」,那么人和 LLM 可能會有相似之處。
更有趣的地方在于,有了這些向量之后,就可以在它們之間進行插值,從而在沒有進行微調的年份也獲得較好的性能!向量之間的插值是簡單的算術運算 —— 系數加法。
與之前的基于任務進行訓練得到的模型權重向量一樣,這種插值方法可能是在找出真正的遷移學習之前,可行的訓練方法之一。如果能從微調中進行插值,就能對模型輸出進行精細且低成本的控制,省去微調的成本和時間。
基于此,Hrishi Olickel 提出了幾個猜想:
- 這項工作是在標準預訓練模型(三種規模的 T5)上完成的。如果在開始訓練模型時設置一些約束條件,強制對隱空間中的概念和時間進行更好的聚類,那么這種方法很可能會帶來更強的結果。
- 另一個可能會有趣的探索是通過觀察模型的激活情況來了解對應的時間段。
- 論文中依靠模型從 prompt 中「找出」時間和概念,并激活正確的部分。如果加入一些模塊也許會有意想不到的效果,比如類似于 MoE 風格的路由。路由經過訓練后,可以在同一模型的不同微調版本之間進行 token-to-token 的轉換。
Hrishi Olickel 認為這個章節非常有趣。從這段文字中不能確定他們的意思是否是交換權重時只交換插值,如果是并且能奏效,那就太棒了。
Hrishi Olickel 表示,對人工智能(至少是基于語言模型的人工智能)的新理解來自于我們能夠實時編輯和利用這些模型權重的能力 —— 他強烈懷疑(或希望)其中一些能力將幫助我們理解人類的大腦。
以下是論文的具體內容。
論文概覽
時間變化是語言的一個基本特征。正如本文第 3 章中所提到的,時間變化在語言模型開發中表現為時間錯位(temporal misalignment),即訓練數據和測試數據的時間偏差會導致模型在時間段不同的情況下性能大幅下降。這就需要采用適應技術,根據需要定制特定時間段的模型。然而,由于時間尺度眾多,而且可能無法獲得目標時間段的數據,因此設計此類技術十分困難。
最近的研究表明,神經網絡的行為可以通過微調模型參數之間的閉式插值進行編輯。本文證明了權重空間的插值也可用于低成本地編輯語言模型,創造模型在不同時期的行為。
在第 4 章中,本文引入了時間向量,作為任務向量的擴展(參見論文「Editing Models with Task Arithmetic」)。即在單個時間段的文本上對預訓練的語言模型進行微調后,減去原預訓練模型的權重,得到一個新向量。這個向量代表了權重空間的移動方向,可以提高模型在處理目標時間段文本時的性能。
在第 2 章中,本文利用按時間組織的數據集分析時間向量的結構,用于語言建模、分類和總結。研究結果一致表明,時間向量直觀地分布在一個流形上;在時間上更接近的年份或月份產生的時間向量在權重空間上也更接近。同樣,在 4.2 節中,本文還表明,年度和月度中的時間退化問題與時間向量之間的角度密切相關。
本文利用這種時間向量結構來引導模型,使其更好地覆蓋新的時間段的數據。通過在兩個時間向量之間進行插值,可以產生新的向量,這些向量應用到預訓練模型時,可以提高模型在間隔月份或年份中的性能(第 4.3 節)。該結構還可用于跨時間段泛化特定任務模型,并使用專門用于未標記數據的類似時間向量(第 4.4 節)。
本文的研究結果表明,微調模型的權重空間在一定程度上對時間變化進行了編碼,權重插值可以幫助定制語言模型以適應新的時間段。本文作者開源了論文的代碼、數據和超過 500 個根據特定時間段微調的模型。
多時間尺度上的時間錯位
以年為單位的模型線性性能退化
之前關于時間錯位的研究表明,模型會隨著時間逐年退化。
為了證實這些結果,本文在每個數據集的每個年度分段上對 T5-small、T5-large 和 T5-3b 進行了微調。然后,在測試數據的每個其他時間分段上對這些經過調整的模型進行評估。
圖 2 中以年為單位展示了時間錯位熱圖,以及與年平均值相比的困惑度變化百分比(避免固有的年度性能差異)。與之前的研究結果一致,本文觀察到每個任務中都存在著線性退化的特點,無論模型的大小(更多詳情請參見表 4)。與 早先研究結果一樣,有些任務(如政治派別分類)的退化比其他任務更明顯。原文附錄中的 §A.2 中會對這些差異進行量化。
以月為單位的模型非線性性能退化
接下來,本文介紹了按月為單位的時間錯位問題。這個問題尚未得到探討。論文作者在 2012-2016 年間的 WMT 數據集上,按月份分段,并訓練了 T5-small,從而得到了 58 個經過月份分類的模型。然后,在這些按月拆分的多個模型上,總共進行了 3,364 次驗證實驗。
如圖 3 所示,在 WMT 數據集的特定月份上對模型進行微調和評估,可以發現時間錯位的非線性模式,與每年的月份周期相對應。每隔 12 個月出現的平行于對角線的條紋可以捕捉到這種模式,這表明特定月份的模型在其他年份的相同月份往往表現更好。本文在附錄圖 12 中量化了這些困惑度差異。還在 §A.4 中總結了線上訓練設置中的模型退化模式。
基于時間向量的時間自適應
時間向量相似度與時間退化的相關性
本文在圖 4 中用 UMAP 對時間向量進行了可視化,這表明在權重空間中更接近的時間向量在時間上也更接近。為了驗證這一假設,本文測量了在不同時間段訓練的每對時間向量的模型權重之間的余弦相似度(見附錄第 A.1 節)。
本文的結果顯示,這一相似度指標和性能(圖 11)隨著時間的推移,存在相似的衰減。
表 1 顯示,余弦相似度與不同年份相對性能變化之間的相關性在 WMT 語言建模中最高。同時,這種相關性在不同規模的 T5 中也基本相似,在 WMT LM 中,T5-small 的得分高于 T5-large 和 T5-3b,且絕對值均不低于 0.6。
這種關系也延伸到按月劃分的尺度下。在兩兩月度之間, WMT 時間向量的余弦相似度中可以看到周期性條紋(見附圖 9)。與平均值(圖 3)和余弦相似性矩陣(圖 9)相比,月度性能下降呈負相關(Pearson r = -0.667; p < 10-16)。附錄 A.5 中分析了整個在線訓練過程中單年時間向量的余弦相似性。
這些結果表明,時間向量的組織方式可以預測其在相應時間段的表現。接下來將探討如何利用這種結構,通過時間向量之間的插值來提高新時間段的性能。
對中間時間進行插值
存檔問題或采樣率低會導致數據集在最新和最舊示例之間出現間隙。在沒有數據的情況下,由于時間上的錯位,預計模型在這些 "間隙" 時間上的表現會更差。在本節中,可以發現通過對最新和最舊時間的模型進行微調,可以更好地讓模型適應這些時間段。
方法
對于兩個時間矢量 τ_j , τ_k, 計算它們的插值。本節在最早年份時間向量 τ_0 和最晚年份時間向量 τ_n 之間進行內插,并對每個 α∈[0.1, 0.2, ..., 1.0] 的時間 t_0, ..., t_n 進行驗證。
結果
如圖 5 所示,在 WMT LM 和 PoliAff 任務中,在起始年和結束年微調模型之間進行內插可以提高中間年份的性能。一般來說,中間年份(WMT LM 為 2014 年,PoliAff 為 2017 年)的改進幅度最大,而在更接近起始和結束時間的年份,改進幅度則會減小。不同設置下的改進模式也不盡相同,與 WMT LM 相比,PoliAff 在 α = 1.0 和 0.0 附近的性能變化更為平緩,而 NewsSum 在不同 α 之間的改進與驗證年份之間的性能差異相比微乎其微。表 2 量化了這些變化,顯示插值法縮小了時間對齊模型和錯位模型之間的差距。PoliAff 的改進尤為顯著,僅平均值就提高了近 8 個 macro-F1 百分點。
圖 6 顯示,這些結果擴展到按月劃分的 WMT LM 后;可以在一年內 1 月和 12 月確定的時間向量之間進行插值,以提高這幾個月的模型表現。每個月的最佳插值遵循一個直觀的模式,1 月份模型的百分比越高,會導致前幾個月的性能更好,反之亦然。
生成未來的時間模型
標注數據集創建于過去,因此,依賴監督進行微調的語言模型很快就會過時。更新這些模型的成本可能很高,需要進行額外的微調,還需要從更多最新的文本中創建標注數據集。本節將介紹一種新技術,使用任務類比算法,將在源時間段 j 上微調過的任務模型,更新至目標時間段 k,并且只包含 j 中未標記數據。
方法
給定語言模型,其權重、
是根據 j、k 時間段的未標注文本微調的,而任務特定模型的權重 θ_j 是根據 j 時間段的標注數據微調的,對向量進行如下運算:
本文在每個目標時間 t_k 上驗證估計的 θ_k,遍歷 α_1 ∈ [0.6, 0.8, . . 2.2]、α_2、α_3 ∈ [0.1, . . 0.6] 的所有組合,并報告與原始模型 θ_j 相比的最佳結果。本節使用 WMT LM 和 Twitter LM 時間向量,分別將 2012 年的 NewsSum 模型更新為 2013-2016 年,將 2015 年的 PoliAff 模型更新為 2016-2020 年。
結果
任務類比算法提高了 PoliAff 和 NewsSum 任務在未來年份的性能。圖 7 顯示,隨著目標年份和起始年份的錯位越來越大,與起始年份的微調相比,改進幅度也越來越大。模型大小也會影響性能,T5-large 和 T5-3b 的改進幅度更大。在 PoliAff 中,T5- small 與基線相比沒有改善,而 T5-large 任務類比在 2016 和 2017 年的表現比基線差,在 2019 和 2020 年才有所改善。奇怪的是,作者發現只是縮放 α_1 也能提高模型完成未來幾年任務的性能。附錄 A.6 中報告了 α 消減和其他兩個分類任務的結果。在這些任務中,研究者觀察到的結果大多相似,但也有因任務而異的不一致之處。
更多細節請參見原論文。