僅需200M參數(shù),零樣本性能超越有監(jiān)督!谷歌發(fā)布時序預測基礎(chǔ)模型TimesFM
時間序列預測在零售、金融、制造業(yè)、醫(yī)療保健和自然科學等各個領(lǐng)域無處不在:比如說在零售場景下中,「提高需求預測準確性」可以有顯著降低庫存成本并增加收入。
深度學習(DL)模型基本上壟斷了「多變量時間序列預測」任務(wù),在各個競賽、現(xiàn)實應(yīng)用中的表現(xiàn)都非常好。
與此同時,用于自然語言處理(NLP)任務(wù)的大型基礎(chǔ)語言模型也取得了快速進展,大幅提升了翻譯、檢索增強生成、代碼補全等任務(wù)的性能。
NLP模型的訓練依賴于海量文本數(shù)據(jù),其中數(shù)據(jù)來源多種多樣,包括爬蟲、開源代碼等,訓練后的模型能夠識別語言中的模式,并具備零樣本學習的能力:比如說把大模型用在檢索任務(wù)時,模型可以回答有關(guān)當前事件的問題并對其進行總結(jié)。
盡管基于DL的預測器在很大程度上優(yōu)于傳統(tǒng)方法,并且在降低訓練和推理成本方面取得了進展,但仍然面臨著諸多難題:
大多數(shù)深度學習模型需要長時間的訓練和驗證周期,之后才能在新的時間序列上測試模型;相比之下,時間序列預測的基礎(chǔ)模型可以在不需要額外訓練的情況下,對沒見過的時間序列數(shù)據(jù)提供「開箱即用預測」,使用戶能夠?qū)W⒂诟倪M零售需求規(guī)劃等實際下游任務(wù)的預測。
最近,Google Research的研究人員提出了一個時序預測基礎(chǔ)模型TimesFM,在1000億個「真實世界時間點」上進行預訓練;與最新的大型語言模型(LLMs)相比,TimesFM的規(guī)模要小得多,只有200 M參數(shù)。
論文鏈接:https://arxiv.org/pdf/2310.10688.pdf
實驗結(jié)果表明,即使在這樣小的規(guī)模下,TimesFM在不同領(lǐng)域和時間粒度的各種未見過的數(shù)據(jù)集上的「零樣本性能」也接近于在這些數(shù)據(jù)集上明確訓練過的、最先進的、有監(jiān)督方法。
研究人員計劃今年晚些時候在Google Cloud Vertex AI中為外部客戶提供TimesFM模型。
基礎(chǔ)模型TimesFM
LLMs通常以僅解碼器(decoder-only)的方式進行訓練,包括三個步驟:
1. 文本被分解為稱為token的子詞(subwords)
2. tokens被饋送到堆疊的causal Transformer層,并生成與每個輸入token對應(yīng)的輸出,需要注意的是,該層無法處理沒輸入的token,即future tokens
3. 對應(yīng)于第i個token的輸出總結(jié)了來自先前token的所有信息,并預測第(i+1)個token
在推理期間,LLM每次生成一個token的輸出。
例如,當輸入提示「法國的首都是哪里?」(What is the capital of France?)時,模型可能會生成token為「The」,然后以該提示為條件生成下一個token「首都」(captial)等,直到模型生成完整的答案:「法國的首都是巴黎」(The capital of France is Paris)。
時間序列預測的基礎(chǔ)模型應(yīng)該適應(yīng)可變的上下文(模型觀察到的內(nèi)容)和范圍(查詢模型預測的內(nèi)容)長度,同時具有足夠的能力來編碼來自大型預訓練數(shù)據(jù)集的所有模式(patterns)。
與LLMs類似,研究人員使用堆疊的Transformer層(自注意力和前饋層)作為TimesFM模型的主要構(gòu)建塊;在時間序列預測的背景下,把一個patch(一組連續(xù)的時間點)作為一個token,思路來源于最近的long-horizon forecasting工作:具體任務(wù)是預測在堆疊的Transformer層的末尾處,針對給定第i個輸出來預測第(i+1)個時間點patch
但TimesFM與語言模型有幾個關(guān)鍵的區(qū)別:
1. 模型需要一個具有殘差連接的多層感知器塊,將時間序列的patch轉(zhuǎn)換為token,其可以與位置編碼(PE)一起沿著輸入到Transformer層。為此,我們使用類似于我們以前在長期預測中的工作的殘差塊。
2. 來自堆疊的Transformer的輸出token可以用于預測比輸入patch長度更長的后續(xù)時間點的長度,即,輸出patch長度可以大于輸入patch長度。
假設(shè),長度為512個時間點的時間序列被用于訓練具有「輸入patch長度32」和「輸出patch長度128」的TimesFM模型時:
在訓練期間,模型同時被訓練為使用前32個時間點來預測接下來的128個時間點,使用前64個時間點來預測時間點65至192,使用前96個時間點來預測時間點97至224等等。
假設(shè)輸入數(shù)據(jù)為長度為256的時間序列,并且其任務(wù)是預測未來的接下來的256個時間點,模型首先生成時間點257至384的未來預測,然后以初始256長度輸入加上生成的輸出為條件來生成時間點385至512。
另一方面,如果在模型中,輸出patch長度等于輸入patch長度32,那么對于相同的任務(wù),模型經(jīng)歷八次生成步驟而非2次,增加了錯誤累積的風險,因此在實驗結(jié)果中可以看到,更長的輸出patch長度會帶來更好的長期預測性能。
預訓練數(shù)據(jù)
就像LLMs可以通過更多token變得更好一樣,TimesFM需要大量合法的時間序列數(shù)據(jù)來學習和改進;研究人員花了大量的時間來創(chuàng)建和評估訓練數(shù)據(jù)集,發(fā)現(xiàn)兩個比較好的方法:
合成數(shù)據(jù)有助于基礎(chǔ)(Synthetic data helps with the basics)
可以使用統(tǒng)計模型或物理模擬生成有意義的合成時間序列數(shù)據(jù),基本的時間模式可以引導模型學習時間序列預測的語法。
真實世界的數(shù)據(jù)增加了真實世界的感覺(Real-world data adds real-world flavor)
研究人員梳理了可用的公共時間序列數(shù)據(jù)集,并有選擇地將1000億個時間點的大型語料庫放在一起。
在數(shù)據(jù)集中,有Google趨勢和維基百科的頁面瀏覽量,跟蹤用戶感興趣的內(nèi)容,并且很好地反映了許多其他真實世界時間序列的趨勢和模式,有助于TimesFM理解更大的圖景,可以針對「訓練期間沒見過的、特定領(lǐng)域上下文」提升泛化性能。
零樣本評估結(jié)果
研究人員使用常用的時間序列基準,針對訓練期間未見過的數(shù)據(jù)對TimesFM進行零樣本評估,可以觀察到TimesFM的性能優(yōu)于大多數(shù)統(tǒng)計方法,如ARIMA,ETS,并且可以匹配或優(yōu)于強大的DL模型,如DeepAR,PatchTST,這些模型已經(jīng)在目標時間序列上進行了明確的訓練。
研究人員使用Monash Forecasting Archive來評估TimesFM的開箱即用性能,該數(shù)據(jù)集包含來自各個領(lǐng)域的數(shù)萬個時間序列,如交通、天氣和需求預測,覆蓋頻率從幾分鐘到每年的數(shù)據(jù)。
根據(jù)現(xiàn)有文獻,研究人員檢查了適當縮放的平均絕對誤差(MAE),以便在數(shù)據(jù)集上取平均值。
可以看到,zero-shot(ZS)TimesFM比大多數(shù)監(jiān)督方法都要好,包括最近的深度學習模型。還對比了TimesFM和GPT-3.5使用llmtime(ZS)提出的特定提示技術(shù)進行預測,結(jié)果證明了TimesFM的性能優(yōu)于llmtime(ZS)
在Monash數(shù)據(jù)集上,TimesFM(ZS)與其他有監(jiān)督和零樣本方法的比例MAE(越低越好)
大多數(shù)Monash數(shù)據(jù)集都是短期或中期的,也就是說預測長度不會太長;研究人員還測試了TimesFM對常用基準長期預測對最先進的基線PatchTST(和其他長期預測基線)。
研究人員繪制了ETT數(shù)據(jù)集上的MAE,用于預測未來96和192個時間點的任務(wù),在每個數(shù)據(jù)集的最后一個測試窗口上計算指標。
TimesFM(ZS)的最后一個窗口MAE(越低越好)相對于ETT數(shù)據(jù)集上的llmtime(ZS)和長期預測基線
可以看到,TimesFM不僅超過了llmtime(ZS)的性能,而且與在相應(yīng)數(shù)據(jù)集上顯式訓練的有監(jiān)督PatchTST模型的性能相匹配。
結(jié)論
研究人員使用1000億真實的世界時間點的大型預訓練語料庫訓練了一個僅用于解碼器的基礎(chǔ)模型,其中大部分是來自Google趨勢的搜索興趣時間序列數(shù)據(jù)和維基百科的頁面瀏覽量。
結(jié)果表明,即使是一個相對較小的200 M參數(shù)預訓練模型,使用TimesFM架構(gòu),在各種公共基準測試(不同的領(lǐng)域和粒度)中都展現(xiàn)出相當好的零樣本性能。