誰說大象不能起舞! 重編程大語言模型實現跨模態交互的時序預測 | ICLR 2024
最近,來自澳大利亞蒙納士大學、螞蟻集團、IBM 研究院等機構的研究人員探索了模型重編程 (model reprogramming) 在大語言模型 (LLMs) 上應用,并提出了一個全新的視角:高效重編程大語言模型進行通用時序預測 –- 其提出的 Time-LLM 框架無需修改語言模型即可實現高精度時序預測,在多個數據集和預測任務中超越了傳統的時序模型,讓 LLMs 在處理跨模態的時間序列數據時展現出色,就像大象起舞一般!
近期,受到大語言模型在通用智能領域的啟發,「大模型 + 時序 / 時空數據」這個新方向迸發出了許多相關進展。當前的 LLMs 有潛力徹底改變時序 / 時空數據挖掘方式,從而促進城市、能源、交通、遙感等典型復雜系統的決策高效制定,并朝著更普遍的時序 / 時空分析智能形式邁進。
大模型,例如語言和其他相關的基礎模型,既可以訓練,也可以巧妙地重新調整其用途,以處理一系列通用任務和專用領域應用中的時間序列和時空數據。來源:https://arxiv.org/pdf/2310.10196.pdf
最近的研究將大型語言模型從處理自然語言拓展到時間序列和時空任務領域。這種新的研究方向,即「大模型 + 時序 / 時空數據」,催生了許多相關進展,例如 LLMTime 直接利用 LLMs 進行零樣本時序預測推理。盡管 LLMs 具備強大的學習和表示能力,能夠有效地捕捉文本序列數據中的復雜模式和長期依賴關系,但作為專注于處理自然語言的「黑匣子」,LLMs 在時間序列與時空任務中的應用仍面臨挑戰。相較于傳統的時間序列模型如 TimesNet,TimeMixer 等,LLMs 以其龐大的參數和規模可與「大象」相提并論。
因此,如何「馴服」這種在自然語言領域訓練的 LLMs,使其能夠處理跨越文本模態的數值型序列數據,在時間序列和時空任務中發揮出強大的推理預測能力,已成為當前研究的關鍵焦點。為此,需要進行更深入的理論分析,以探索語言和時序數據之間潛在的模式相似性,并有效地將其運用于特定的時間序列和時空任務。
本文闡述了如何通過重編程大語言模型 (LLM Reprogramming) 進行通用時序預測。其提出了兩項關鍵技術,即 (1) 時序輸入重編程 和 (2) 提示做前綴,將時序預測任務轉換成一個可以由 LLMs 有效解決的「語言」任務,成功激活了大語言模型做高精度時序推理的能力。
論文地址:https://openreview.net/pdf?id=Unb5CVPtae
論文代碼:https://github.com/KimMeen/Time-LLM
1. 問題背景
時序數據在現實中廣泛存在,其中時序預測在許多現實世界里的動態系統中具有非常重要意義,并已得到廣泛研究。與自然語言處理(NLP)和計算機視覺(CV)不同,其中單個大型模型可以處理多個任務,時序預測模型往往需要專門設計,以滿足不同任務和應用場景的需求。雖然基于預訓練的基礎模型在 NLP 和 CV 領域取得了巨大的進展,但其在時序領域的發展仍受限于數據稀疏性。最近研究表明,大型語言模型(LLMs)在處理復雜的標記序列時,具備可靠的模式識別和推理能力。然而,如何有效地對齊時序數據和自然語言這兩個模態,并利用大語言模型本身的推理能力處理時序分析任務,仍然是一個挑戰。
2. 論文概述
在這項工作中,作者提出了 Time-LLM,它是一個通用的大語言模型重編程(LLM Reprogramming)框架,將 LLM 輕松用于一般時間序列預測,而無需對大語言模型本身做任何訓練。Time-LLM 首先使用文本原型(Text Prototypes)對輸入的時序數據進行重編程,通過使用自然語言表征來表示時序數據的語義信息,進而對齊兩種不同的數據模態,使大語言模型無需任何修改即可理解另一個數據模態背后的信息。
為了進一步增強 LLM 對輸入時序數據和對應任務的理解,作者提出了提示做前綴(Prompt-as-Prefix,PaP)的范式,通過在時序數據表征前添加額外的上下文提示與任務指令,充分激活 LLM 在時序任務上的處理能力。在這項工作中,作者在主流的時序基準數據集上進行了充分的實驗,結果表明 Time-LLM 能夠在絕大多數情況下超越傳統的時序模型,并在少樣本(Few-shot)與零樣本(Zero-shot)學習任務上獲得了大幅提升。
這項工作中的主要貢獻可以總結如下:
1. 這項工作提出了通過重編程大型語言模型用于時序分析的全新概念,無需對主干語言模型做任何修改。作者表明時序預測可以被視為另一個可以由現成的 LLM 有效解決的「語言」任務。
2. 這項工作提出了一個通用語言模型重編程框架,即 Time-LLM,它包括將輸入時序數據重新編程為更自然的文本原型表示,并通過聲明性提示(例如領域專家知識和任務說明)來增強輸入上下文,以指導 LLM 進行有效的跨域推理。該技術為多模態時序基礎模型的發展提供了堅實的基礎。
3. Time-LLM 在主流預測任務中的表現始終超過現有最好的模型性能,尤其在少樣本和零樣本場景中。此外,Time-LLM 在保持出色的模型重編程效率的同時,能夠實現更高的性能。大大釋放 LLM 在時間序列和其他順序數據方面尚未開發的潛力。
3. 模型框架
如上方模型框架圖中 ① 和 ② 所示,輸入時序數據先通過 RevIN 歸一化操作,然后被切分成不同 patch 并映射到隱空間。
時序數據和文本數據在表達方式上存在顯著差異,兩者屬于不同的模態。時間序列既不能直接編輯,也不能無損地用自然語言描述,這給直接引導(prompting)LLM 理解時間序列帶來了重大挑戰。因此,我們需要將時序輸入特征對齊到自然語言文本域上。
對齊不同模態的一個常見方法就是 cross-attention,如模型框架圖中 ③ 所示,只需要把所有詞的 embedding 和時序輸入特征做一個 cross-attention(其中時序輸入特征為 Query,所有詞的 embedding 為 Key 和 Value)。但是,LLM 固有的詞匯表很大,因此無法有效直接將時序特征對齊到所有詞上,而且也并不是所有詞都和時間序列有對齊的語義關系。為了解決這個問題,這項工作對詞匯表進行了線形組合來獲取文本原型,其中文本原型的數量遠小于原始詞匯量,組合起來可以用于表示時序數據的變化特征,例如「短暫上升或緩慢下降」,如上圖所示。
為了充分激活 LLM 在指定時序任務上的能力,這項工作提出了提示做前綴的范式,這是一種簡單且有效的方法,如模型框架圖中 ④ 所示。最近的進展表明,其他數據模式,如圖像可以無縫地集成到提示的前綴中,從而基于這些輸入進行有效的推理。受這些發現的啟發,作者為了使他們的方法直接適用于現實世界的時間序列,提出了一個替代問題:提示能否作為前綴信息,以豐富輸入上下文并指導重新編程時間序列補丁的轉換?這個概念被稱為 Prompt-as-Prefix (PaP) ,此外,作者還觀察到它顯著提高了 LLM 對下游任務的適應能力,同時補充了補丁的重新編程。通俗點說,就是把時間序列數據集的一些先驗信息,以自然語言的方式,作為前綴 prompt,和對齊后的時序特征拼接喂給 LLM,是不是能夠提升預測效果?
上圖展示了兩種提示方法。在 Patch-as-Prefix 中,語言模型被提示預測時間序列中的后續值,以自然語言表達。這種方法遇到了一些約束:(1)語言模型在無外部工具輔助下處理高精度數字時通常表現出較低的敏感性,這給長期預測任務的精確處理帶來了重大挑戰;(2)對于不同的語言模型,需要復雜的定制化后處理,因為它們在不同的語料庫上進行預訓練,并且可能在生成高精度數字時采用不同的分詞類型。這導致預測以不同的自然語言格式表示,例如 [‘0’, ‘.’, ‘6’, ‘1’] 和 [‘0’, ‘.’, ‘61’],表示 0.61。
在實踐中,作者確定了構建有效提示的三個關鍵組件:(1)數據集上下文;(2)任務指令,讓 LLM 適配不同的下游任務;(3)統計描述,例如趨勢、時延等,讓 LLM 更好地理解時序數據的特性。下圖給出了一個提示示例。
4. 實驗效果
我們在長程預測上經典的 8 大公開數據集上進行了全面的測試,如下表所示,Time-LLM 在基準比較中顯著超過此前領域最優效果,此外對比直接使用 GPT-2 的 GPT4TS,采用 reprogramming 重編程思想以及提示做前綴(Prompt-as-Prefix)的 Time-LLM 也有明顯提升,表明了該方法的有效性。
此外我們在跨領域適應的框架內評估重編程的 LLM 的零樣本 zero-shot 的學習能力,得益于重編程的能力,我們充分激活了 LLM 在跨領域場景的預測能力,如下表所示,Time-LLM 在 zero-shot 場景中也展示出非凡的預測效果。
5. 總結
大型語言模型(LLMs)的快速發展極大地推動了人工智能在跨模態場景中的進步,并促進了它們在多個領域的廣泛應用。然而,LLMs 龐大的參數規模和主要針對自然語言處理(NLP)場景的設計,為其在跨模態和跨領域應用中帶來了不少挑戰。鑒于此,我們提出了一種重編程大模型的新思路,旨在實現文本與序列數據之間的跨模態互動,并將此方法廣泛應用于處理大規模時間序列和時空數據。通過這種方式,我們期望讓 LLMs 如同靈活起舞的大象,能夠在更加廣闊的應用場景中展現其強大的能力。
本文轉自 機器之心 ,作者:機器之心
