TimeGPT 논문 리뷰
3년 동안 많은 시계열 관련 논문들이 있었다. 예를 들어 N-BEATS, PatchTST 그리고 TimesNet. 이 기간 동안 ChatGPT같은 LLM(Large Language Model)도 발전했는데 새로운 입력(문장 등)에 훈련 과정없이 대부분의 태스크에 적용할 수 있게 되었다.
‘그렇다면, 시계열 예측에서도 거대 데이터셋을 학습해서 별도의 훈련 과정없이 사용할 수 있을까?’ 이 질문이 ‘TimeGPT’로 이어지게 되었다. 저자, Azul Garza, Max Mergenthaler-Canseco는 LLM 속에 있는 아키텍쳐와 기술을 사용하였고, zero-shot inference가 가능한 최초의 시계열 기반 모델을 구축하였다.
TimeGPT
위의 그림을 보면 여러 도메인에 걸친 Dataset을 사전에 학습하기 떄문에, Zero-shot inference를 할 수 있게 된다. 이것을 우리는 ‘전이 학습(transfer learning)’ 이라고 하는데, 이는 해당 모델이 새로운 태스크에도 학습한 지식을 기반으로 적용할 수 있게 한다. 더욱 많은 데이터가 학습이 된다면 더욱 더 많은 태스크를 해결할 수 있을 것이다.
TimeGPT Training
해당 논문의 저자들은 TimeGPT에 1000억 개의 Data Points를, 그리고 오픈 소스 시계열 데이터셋을 훈련시켰다. 해당 데이터셋은 Finance, IoT, Traffic, Healthcare 등이 있다. 다양한 도메인의 시계열 일시적 패턴을 학습했기 때문에 해당 모델의 성공 요소로 뽑히고 있다.
예를 들어, Traffic Data의 경우 낮에는 교통량이 많고 밤에는 보다 적을 것이다. 또한 주중에는 교통량이 많고 주말에는 적을 것이다. 이러한 패턴을 미리 학습했으니 예측 결과를 신뢰할 수 있을 것이다.
모델의 Robustness와 Generalization 능력을 위해, 최소한의 전처리 기법을 사용했는데 결측값을 채우고 나머지는 그대로 두었다. 저자는 결측값을 채우는 방법을 특정하지 않았지만, 선형 또는 이동평균 보간법, Spline 보간법을 사용한 것으로 보인다. 해당 모델은 며칠에 걸쳐서 학습해 하이퍼 파라미터와 학습률이 최적화되었다. 그러나 얼마나 소요되었는지, 어느 정도의 GPU 성능이 필요한지는 공개하지 않았다. 알 수 있는 건, Pytorch를 사용했고 Adam optimizer, 학습률 감소 전략을 사용했다.
Architecture of TimeGPT
TimeGPT는 2017 Google과 토론토 대학의 주요 작업을 기반으로 한 self-attention 메커니즘을 갖춘 Transformer Architecture을 사용한다.
위의 그림을 보면, Input에는 일련의 시계열 데이터 뿐만 아니라 어떤 사건, 추가적인 시계열 데이터를 함께 사용할 수 있다. 이후 Transformer의 Encoder로 흘러가고 내부에 있는 self-attention을 활용해 패턴과 같은 다양한 속성들을 학습한다. 학습된 정보가 이후 예측값을 생성하는 Decoder에 보내지게 된다. 예측 길이를 직접 지정하면 그에 맞게 생성해준다. 예측한 결과를 보면 예측 간격이 있는데 이는 등각 예측을 구현하여 과거 오류를 기반으로 예측 간격을 추정할 수 있도록 해두었다.
The Capability of TimeGPT
- 사전 훈련된 TimeGPT는 새로운 데이터를 특별히 훈련하지 않고도 예측을 생성할 수 있다. 물론 해당 모델을 데이터에 맞게 fine-tuning도 가능하다.
- 외생 변수를 사용할 수 있고, 다변량 예측 작업도 처리할 수 있다.
- 등각 예측을 사용해서 예측 간격을 추정할 수 있는데, 이를 통해 이상치 탐지도 가능하다. 기본적으로 99%의 신뢰 구간에서 벗어나면 이상치로 분류한다.
Conclusion
ChatGPT같은 LLMs은 수많은 단어와 문장들을 학습했는데, 대량의 데이터셋을 학습해서 예측할 수 있다는 건 확실히 시계열 예측에 있어 흥미롭다. 그러나, 저자가 어떤 데이터셋을 학습했는지 출처를 남기지 않았기에 예측 결과를 완전히 신뢰하기는 어려울 것이다.