時間序列也能和大模型結合?亞馬遜最新工作,大模型可解釋時序預測
這幾天亞馬遜發布了一篇使用大模型做時間序列預測的工作,屬于大模型在時序預測中的第一次探索,利用大模型提升金融場景預測中的多模態數據處理能力和可解釋能力。這篇文章屬于一個比較有意思的探索工作,思路可以借鑒,但是想要達到SOTA效果還有待進一步研究。下面給大家介紹一下這篇文章的建模思路。
論文標題:Temporal Data Meets LLM - Explainable Financial Time Series Forecasting
下載地址:https://arxiv.org/pdf/2306.11025v1.pdf
1、問題背景
金融領域是時間序列預測技術的一個重要應用場景。與普通的時序預測不同,金融領域的時間序列預測建模面對著更加復雜的挑戰,而這些挑戰可以使用大模型來解決,主要體現在以下3個方面。
第一點是如何建模復雜的序列間關系。在股價預測中,不同股票價格之間存在很強的依賴關系或關聯關系,因此能否建模好序列間關系至關重要。大模型的序列建模能力和多序列關系建模很強,因此我們可以嘗試將大模型這些能力應用到序列預測中。
第二點是對文本數據的處理能力。目前的金融場景時間序列預測問題,很多都重點研究如何處理金融資訊信息,融入到時間序列預測建模中。股價的波動很多程度上來源于金融資訊,只靠單純的時間序列建模是無法涵蓋全部信息的。這種多模態信息的有效引入,對于金融場景時序預測效果有很大幫助。大模型天然的具有強大的文本處理能力,因此自然成為這個問題的有力解決方案。
第三點是可解釋性,這也是各個領域的深度學習模型都追求的一個點,如何讓模型的預測結果更具可解釋性,能讓預測結果更有價值,指導我們的行動。大模型的可解釋性也很強,例如通過思維鏈等方式讓大模型生成給出答案的原因。
基于以上考慮,本文嘗試了利用大模型做時間序列,同時解決上述3個問題。
2、實現方法
整體的建模方法主要包括對時間序列的處理、對文本信息的引入、prompt設計、基于Instruction Tuning的大模型微調4個部分。
時間序列處理:文中將時間序列通過離散化的方式轉換為符號表示,文中的預測目標是納斯達克100各個公司股票投資回報,即周期末相比周期初股價漲幅。文中將漲幅變成符號,比如D1代表跌1%以內,U2代表漲2%以內等等。處理成這種符號化的表示,方便輸入到后續的大模型中。
文本信息引入:在文本信息方面,文中利用GPT4進行信息生成,包括公司的整體介紹、可能影響股價的優勢和劣勢等文本信息。此外,對于新聞資訊信息,使用GPT4進行摘要生成和關鍵字抽取,作為后續的輸入。公司介紹和摘要生成的例子如下:
prompt設計:有了上述信息,整體的預測prompt如下圖所示,輸入包括離散化后的時間序列符號化表示、GPT4生成的公司簡介、新聞摘要等信息,讓大模型給出預測結果。
Instruction Tuning:只基于這種zero-shot的方式可能無法發揮大模型最強的能力,因此文中進一步采用了Instruction Tuning,使用上述方式構造30k的周預測和7k月預測數據,用開源的LLaMa模型進行Instruction Tuning。(關于Instruction Tuning在之前的文章有過多次介紹,本質上就是將任務轉換成文本,以語言模型為目標微調大模型)
3、實驗結果
下表是文中的實驗結果,主要對比大模型之間的效果,以及其與一些簡單時間序列預測方式的效果差異。整體來看,用大模型進行這種粗粒度預測是可行的,同時GPT4的效果非常顯著,GPT4的few-shot效果要優于基于LLaMa的instruction tuning方法。
4、總結
大模型在序列數據上的應用,是一個值得研究的點。文中通過這種離散化時間序列的方式,進行基于大模型的預測,是有潛力改變金融場景時間序列預測范式的一個方式。