Gruver+'23 Large Language Models Are Zero-Shot Time Series Forecasters (NIPS 2023)
TL; DR
LLMを利用して時間系列予測を次トークン予測の問題として解く手法を提案
タスク特化のモデルと比較して同等かそれ以上の性能をゼロショットで達成可能
https://gyazo.com/da12c43e6be45007e27d0d6ec3ecf0c9
Background
テキストや画像で行われている系列モデリング問題と時系列予測問題は似ている一方、時系列データ特有の難しさが存在
異なるソースからの系列情報を含む
場合によっては欠損値を含む
ごく限られた情報から予測をする必要があり正確な点推定が困難
したがって不確実性の推定が重要になる
画像や言語で成功を収めた事前学習は時系列予測では一般的でない
合意が取れた教師なし学習のobjectiveがない
大規模なデータセットが存在しない
→ 単純な時間系列メソッド(ARIMAや線形モデル)はしばしばより複雑な手法の性能を上回る
LLMを利用してzero-shotで時系列予測ができると嬉しい点
大量の計算機リソースを必要とするfine-tune等が不要で容易に使用可能
限られたデータしか利用できないケースにも向く
複雑な時系列予測モデルを構築する時間・費用・専門家のリソースを減らすことができる
LLMを利用した時系列予測の既存アプローチ
モデル自体の学習が必要な手法
Zhou+'23
Zhang+'23
学習不要な手法も存在するが、QAタスクとして解く手法であり今回とは全く別のアプローチ(実験で比較)
Xue+'23
Proposed Method
$ \mathrm{LLM}_{\mathrm{TIME}}: LLMを利用した時系列予測手法
大枠としては (1) tokenizerの性質を考慮した時系列データのエンコード (2) 離散的な分布を連続的な密度に変換する方法 で構成される
(1) tokenizerの性質を考慮した時系列データのエンコード
tokenizerによって適切な方法が変わる
BPEに代表される一般的なtokenizeの場合(GPT-3含む)
例: 42235630 という数値は [422, 35, 630]という3トークンに分割される
→ 元の数値情報を利用した計算が難しくなってしまう
スペースとカンマを利用して、数値を表す文字列が単一の数字に分解されるようにする
例: 0.123, 1.23, 12.3, 123.0 → " 1 2 , 1 2 3 , 1 2 3 0 , 1 2 3 0 0"
(小数点は冗長なので省略)
LLaMAの場合
複数の数字からなる文字列は単一の数字に分割するよう工夫されている
例: 42235630 という数値は[4, 2, 2, 3, 5, 6, 3, 0]という8トークンに分割される
※ この工夫によってLLaMAは数学的能力を評価するベンチマークでGPT-4を凌駕
tokenizeの工夫の効果
https://gyazo.com/07a4fd45a4ce30655a4d23b1f2526792
GPT-3はスペースとカンマを利用した工夫を行わない場合、顕著に性能が劣化している
LLaMAの場合は素のtokenizerが優秀でスペースやカンマを使うとむしろ悪化
(2) 離散的な分布を連続的な確率密度に変換する方法
Prediction
各ステップで20回程度サンプリングして集約(例:中央値をとる)
各ビン内では一様分布を置くことで、容易に連続型の確率分布を構成できる
https://gyazo.com/7f966b93445541ee159bb2e68002586a
Experiments
Dataset & Baselines
Darts
異なる8種類の一変量時系列データから構成される
Baseline
ニューラルモデル
TCN, N-BEATS, N-HiTS
単純移動平均モデル
ARIMA
ノンパラメトリックベイズ
Spectral Mixture Gaussian Process(SM-GP)
Monash
30種類時系列データで構成
Baseline
ニューラルモデル
DeepAR, WaveNet
単純指数平滑化
ETS
勾配ブースティング
CatBoost
他
Informer
6種類の多変量データ
Baselines
Autoformer
FEDFormer
他
Evaluation Metrics
Deterministic
MAE
Probabilistic
Negative log likelihood per dimension (NLL/D)
Continuous ranked probability score (CRPS)
Results
Deterministic results
https://gyazo.com/f6d5f0b944e1c69967d2b8e01914eff0
LLMTIMEはどのベンチマークにおいても最高もしくは2番目の性能
Probabilistic results
https://gyazo.com/d7cae4a382aee8777d78050404413814
ほぼすべての個別データセットにおいて、ベースラインsを大幅に上回る結果
AirPassengers
予測が入力データから遠くなるにつれて不確実性が大きくなる中で、トレンドと周期の成分をうまく識別して継続
GasRateCO2
LLMTIMEは、グローバルな構造が比較的少ないときに、ローカルな構造を再現する。
トレーニングデータを絞って行った場合にも優れたパフォーマンスを示す(右図)
Analysis
Origins of Zero-Shot Performance
f (x) = x + cos(x) + Gaussian noise で人工的な時系列データを生成
PySRを利用し複数の複雑度(回帰式に使用された算術記号や関数の数)でモデルを学習
https://gyazo.com/4a3abe70573ccf33dd8c27dce37fef6f
LLMはオッカムの剃刀的な方針に従い、単純なルールから得られる補完を行なっている
GPT-3は一貫性と複雑さのバランスをとるモデルに最も高い尤度を割り当てる
GPT-3はTCN, ARIMAよりも一貫して良いが、sigmoid, exponentialあたりはやや難
Special Properties of LLMs
https://gyazo.com/67c5b773fdd6bbb94c287d5cd4fc1260
LLMとしてのベンチマーク性能が向上するほど、時系列予測性能も向上する
GPT-4の結果はGPT-3に負ける(中央)
GPT-4の場合単一の数字に分割するための工夫が有効でない
RLHFがcalibrationに悪影響を及ぼしている可能性(Gpt-4 technical reportでも報告あり)
https://gyazo.com/4f5aa02bf009c5147e80329517a26f2a
欠損値もうまく扱うことが可能
例 [64, , , 49, , 16, ] → "64, NaN, NaN, 49, NaN, 16, NaN"
GPT-4は与えられた時系列の理解をテキストで説明できるか
人工時系列データを生成する関数のセットと、具体的な時系列データから関数を当てる問題
関数によるが、多くの場合ランダムよりははるかにできている