測:從零到一實戰(zhàn)指南)
TimesFM 零樣本時間序列預(yù)測從零到一實戰(zhàn)指南【免費下載鏈接】timesfmTimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting.項目地址: https://gitcode.com/GitHub_Trending/ti/timesfmTimesFM 是 Google Research 開源的預(yù)訓(xùn)練時間序列基礎(chǔ)模型decoder-only 架構(gòu)喂進(jìn)去一段歷史序列就能直接出預(yù)測。它解決的痛點很明確不用再為每條序列單獨調(diào) ARIMA、Prophet 這類統(tǒng)計模型一個模型覆蓋所有序列。讀完本文你本地就能跑通 TimesFM 零樣本時間序列預(yù)測拿到帶分位數(shù)區(qū)間的預(yù)測結(jié)果并知道協(xié)變量、微調(diào)、多框架后端分別該去哪找。三步跑通首次預(yù)測克隆倉庫并裝好依賴以 PyTorch 后端為例Flax 用戶把[torch]換成[flax]即可git clone https://gitcode.com/GitHub_Trending/ti/timesfm cd timesfm uv venv source .venv/bin/activate uv pip install -e .[torch] # 需要協(xié)變量支持時改裝 -e .[xreg]寫一段最小腳本加載官方 checkpoint首次會從 HuggingFace 自動下載約 800MB 權(quán)重運(yùn)行腳本inputs里放任意長度的序列馬上就能看到點預(yù)測和分位數(shù)預(yù)測兩個數(shù)組。import torch, numpy as np, timesfm torch.set_float32_matmul_precision(high) # 放寬精度要求加速矩陣乘 # 加載 2.5 版 200M 參數(shù)的 PyTorch 模型 model timesfm.TimesFM_2p5_200M_torch.from_pretrained(google/timesfm-2.5-200m-pytorch) model.compile(timesfm.ForecastConfig( max_context1024, # 最多回看 1024 個歷史點 max_horizon256, # 最多預(yù)測 256 步 normalize_inputsTrue, # 自動歸一化避免量綱問題 use_continuous_quantile_headTrue, # 啟用連續(xù)分位數(shù)頭 force_flip_invarianceTrue, infer_is_positiveTrue, # 輸入非負(fù)則保證輸出非負(fù) fix_quantile_crossingTrue, )) point, quantile model.forecast( horizon12, # 預(yù)測未來 12 步 inputs[np.linspace(0, 1, 100), np.sin(np.linspace(0, 20, 67))], ) print(point.shape) # (2, 12) 點預(yù)測批量處理兩條序列 print(quantile.shape) # (2, 12, 10) 均值 10%~90% 分位數(shù)三條命令加十幾行代碼多序列批量推理在這里就體現(xiàn)出來了inputs是一個列表傳一百條序列它就能一次推完不用你寫循環(huán)。三個版本怎么選版本參數(shù)規(guī)模 / 上下文長度核心差異2.5當(dāng)前主線200M / 16k連續(xù)分位數(shù)預(yù)測頭最長 1k horizon、XReg 協(xié)變量、無需 frequency 標(biāo)簽2.0已歸檔500M / 2048經(jīng)典分位數(shù)頭功能穩(wěn)定1.0已歸檔200M / 512初代 decoder-only 結(jié)構(gòu)代碼在v1/目錄選 2.5 的理由很簡單參數(shù)更少但上下文長了 8 倍還帶概率預(yù)測絕大多數(shù)場景直接用就行。只有需要復(fù)現(xiàn)早期論文結(jié)果、或跑 v1/ 里的歸檔 benchmark 時才回頭裝timesfm1.3.0用 2.0/1.0。2.5 的 torch 和 flax 兩套實現(xiàn)在 src/timesfm/timesfm_2p5/ 下可以對照閱讀想摳推理細(xì)節(jié)時很順手。進(jìn)階用法接入?yún)f(xié)變量把外生變量喂給模型2.5 通過 XReg 支持靜態(tài)協(xié)變量每條序列特有的屬性比如門店品類和動態(tài)協(xié)變量隨時間變化比如氣溫、促銷標(biāo)記動態(tài)協(xié)變量的長度需要覆蓋 context horizon 兩部分。完整調(diào)用方式和數(shù)據(jù)準(zhǔn)備流程見 協(xié)變量示例 Notebook 和 協(xié)變量演示腳本效果長這樣用 LoRA 在領(lǐng)域數(shù)據(jù)上微調(diào)當(dāng)零樣本預(yù)測在你的業(yè)務(wù)分布上不夠用時可以走參數(shù)高效微調(diào)2.5 已適配 HuggingFace Transformers直接掛 PEFT 的 LoRA 適配器標(biāo)準(zhǔn)訓(xùn)練循環(huán)即可。默認(rèn)配置跑一個零售數(shù)據(jù)集的完整流程在 LoRA 微調(diào)腳本想對比 JAX 側(cè)的寫法可以看 v1 微調(diào) Notebook。切換后端與批量推理調(diào)優(yōu)torch 后端通用性最好flax 后端主打推理速度JAX 編譯后單核吞吐更高XReg 場景則依賴 JAX。想驗證自己的機(jī)器扛不扛得住跑一下倉庫自帶的體檢腳本 scripts/check_system.py它會檢查內(nèi)存、顯存和磁盤。CSV 直接預(yù)測的端到端入口是 scripts/forecast_csv.py適合快速把業(yè)務(wù)數(shù)據(jù)丟進(jìn)去看效果?;鶞?zhǔn)表現(xiàn)怎么看倉庫v1/experiments/下有兩組官方基準(zhǔn)擴(kuò)展基準(zhǔn)對比 Chronos、TimeGPT-1、統(tǒng)計集成模型和長周期滾動驗證基準(zhǔn)對比 Chronos 兩個尺寸。長周期基準(zhǔn)的平均結(jié)果摘出來如下指標(biāo)平均TimesFMChronos-LargeChronos-MiniWAPE0.3860.4010.414sMAPE0.6360.6530.688耗時秒1079397,297252,649解讀一句話精度和最好的基線基本打平甚至略優(yōu)但推理速度比 Chronos-Large 快了三個數(shù)量級以上——比基線快 1000 倍不是營銷話術(shù)是這張表里的實測數(shù)字。擴(kuò)展基準(zhǔn)里 27 個數(shù)據(jù)集的完整對比見 tfm_extended_new.pngTimesFM 在多數(shù)數(shù)據(jù)集的 mase 與 smape 上是加粗的第一名。零樣本效果的直觀感受可以看這個全球溫度異常序列的實例左側(cè)藍(lán)色是歷史數(shù)據(jù)右側(cè)紅色是 12 個月的預(yù)測加 60%/80% 置信區(qū)間代碼在 run_forecast.py。踩坑與硬性限制癥狀A(yù)pple Silicon 上安裝報lingvo編譯失敗 →原因lingvo依賴不支持 ARM 架構(gòu) →解法直接換 PyTorch 后端pip install timesfm[torch]它對 ARM 支持最好。癥狀安裝過程被Killed (signal 9)殺掉 →原因內(nèi)存不足 →解法官方建議至少 32GB 空閑內(nèi)存安裝時關(guān)其他大內(nèi)存應(yīng)用并用干凈的虛擬環(huán)境重裝。癥狀ModuleNotFoundError: No module named xreg_lib→原因協(xié)變量功能依賴 JAX 生態(tài) →解法補(bǔ)裝pip install jax jaxlib或一開始就裝.[xreg]附加包。癥狀報Input contains NaN values→原因輸入序列有空值 →解法預(yù)測前先做前向填充或插值模型不吃斷點。癥狀GPU 報CUDA out of memory→原因上下文或批量太大 →解法把per_core_batch_size降到 8/4、max_context砍到夠用為止實在不行先用backendcpu驗證邏輯。更多報錯的對照表在 TROUBLESHOOTING.md遇到本文沒覆蓋的癥狀先翻一遍。下一步TimesFM 把預(yù)測一條新序列的門檻從調(diào)參半天降到了加載模型 十行代碼零樣本 批量推理 概率區(qū)間的組合在銷售、傳感器、天氣這類場景里開箱即用。想深入的話建議從 timesfm-forecasting/SKILL.md 入手——它把從環(huán)境體檢到協(xié)變量預(yù)測的完整路徑都寫清楚了跑通之后下一步值得嘗試的是把你自己的 CSV 丟進(jìn)forecast_csv.py對比一次零樣本效果或者直接上 LoRA 微調(diào)看看業(yè)務(wù)分布上能壓掉多少誤差?!久赓M下載鏈接】timesfmTimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting.項目地址: https://gitcode.com/GitHub_Trending/ti/timesfm創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考