Foundation model for Time series forecasting with generalization of Zero-shot, few-shot learning.
어떤 문제를 푸는가?
Foundation model
→ 다양한 분포의 많은 데이터에 대해서 pre-trained된 모델
→ Foundation model의 few-shot learning의 우수성을 다양한 downstream task에서 입증.
→ 특정 데이터로만 학습한 모델보다도 우수한 성능을 보일때가 있을 정도.
Lag-Llama
→ 시계열 버전의 foundation model
→ open time series dataset으로 학습 시키고 unseen dataset 으로 평가함.
→ univariate probabilistic time series forecasting
→ 구조 : decoder-only transformer architecture
→ 다른 도메인에서 finetuning한 Lag-Llama의 성능이 sota임.
→ unseen dataset에 대해서 강력한 few-shot adaptation performance를 보여줌 (사용가능한 data history의 부분들에 걸쳐서?)
→ 시계열 데이터를 tokenizing함으로써, 각 데이터셋 고유의 frequency에 의존적이지 않음. 그렇기 때문에 unseen frequencies에 대해서 잘 일반화 할 수 있음.
기존 Foundation time series model 과의 차이점
Lag-Llama Method
다양한 time-series data에 대해서 학습을 하기 떄문에 각각의 dataset마다 다양한 진폭을 가진다. 그렇기 때문에, scaling을 해준다. 이 과정에서 각각의 데이터를 정규화를 처리해주기 위해서 평균과 분산을 구하는데, 이때의 평균과 분산을 이용해서 covariate c를 계산한다. (Section 4.4)
시계열 foundation model로서 가져야 하는 점
Lag-Llama : Lag Features
→ Lag-Llama의 토큰화 전략에는 지정된 시차 세트를 사용하여 계열의 시차 특성을 구성하는 것이 포함됩니다.
→ 지정된 시차 세트에는 Daily, weekly, monthly, 등이 있다.
→ 각 데이터에 적합한 lagged feature를 나타낸다. 예를 들어서, weekly=(t-7), monthly = (t-30) 이런식으로.
→ 각각의 토큰의 사이즈는 input+size L + data feature F임.
Architecture
decoder only transformer-based architecture인 LLaMA를 기본으로 하는 구조임.
input token은 lagged time steps과 static covariates가 있음.
Prjection layer에서는 feature를 decoder 속 attention의 hidden dimension으로 mapping해주는 역할이다.
Lag-Llama의 마지막 레이어는 모델의 특징을 확률 분포의 매개변수에 투영하는 distribution head.
distribution head는 Lag-Llama에서 중요한 역할을 한다.
distribution head는 확률 분포를 만들어내고, prediction intervals을 만드는 방법이기도 하다.
이 구조의 마지막 layer에서 student's t-distribution을 사용하여 uncertainty interval을 측정한다.
다른 distribution head들이 결합될텐데, 이 논문에서는 이런 부분들에 대해서는 실험이 진행되지 않고 future work로 둔 것 같다.
Lag-Llama를 효과적으로 pre-train하기 위해서
Experimental Setup
Energy, transportation, economics, nature, air quality and cloud operations의 다양한 분야로부터 구한 27개의 시계열 데이터를 사용 해서 학습함.
평가를 위해서 각 도메인에서 몇 가지 데이터셋을 제외시키고 학습시킴.
모델은 총 7,965개의 서로 다른 단변량 시계열이며, 총 3억 5200만 개의 데이터 window으로 구성된다.