데알못정을

[Review] Time-LLM: Time Series Forecasting By Reprogramming Large Language Models 쉽게 이해하기 본문

Paper Review

[Review] Time-LLM: Time Series Forecasting By Reprogramming Large Language Models 쉽게 이해하기

쩡을이 2024. 6. 7. 17:04
728x90

[Summary]

Time series foundation model이 NLP나 CV 분야에서 큰 성공을 이루었지만, Time series의 데이터 특성으로 인해 foundation model을 구축하는 것이 매우 어려운 문제이며, baseline 이라는 것이 아직 초기 단계이다. 본 논문은 LLM의 장점들을 time series에 잘 살릴 수 있는 분석 프레임워크를 제안하여 시계열 예측 task에서 SOTA 성능을 달성했다.  

[Introduction]

Time series forecasting task는 광범위한 도메인 지식이 필요하여 task specific한 model 설계를 요구한다. 이는 다양한 범위의 NLP task에서 few shot이나 zero shot 환경에서도 매우 잘 작동하는 GPT-3,4와 Llama와 같은 foundation language model과 비교했을 때 극명한 대조를 이룬다. 이러한 상황에서 최근 time series forecasting에 대해서도 위와 같은generalizability를 이루기 위해 많은 연구가 이루어지고 있다. 

Time series forecasting에서 모델의 일반화 능력을 달성하기 위해서 접근하는 방식은 크게 두 가지로 알려져있다.

1. 시계열 데이터 그 자체를 다양한 도메인과 time resolution에서 대량으로 학습시킨 Foundation Model을 구축하는 것

2. 사전학습 된 LLM을 이용하여 time series model을 구축하는 것

 먼저 1은 다양한 도메인에서 수집된 데이터를 이용하여 거대한 저장소를 구성한 후 수 많은 파라미터를 가진 Deep architecture(Transformer, CNN, etc,..)를 학습한다. 이를 downstream task에서 fine tuning을 통해 task specific한 문제로 전환한다. 관련 연구 동향은 아래와 같다.

https://towardsdatascience.com/moment-a-foundation-model-for-time-series-forecasting-classification-anomaly-detection-1e35f5b6ca76 하

하지만 time series data를 기반으로 pre-training large model을 구축하는 것은 매우 도전적인 과제이다. 그 이유는 다음과 같이 정리할 수 있다. 1) 거대하고 잘 구성된 품질이 좋은 public time series repository의 부재 2) Multi dataset training을 매우 힘들게 하는 다양한 시계열 특징들(domain의 차이, time resolution의 차이 등) 3. Experimental benchmarks(i.e., Baseline)이 아직 초기 단계

반면에 사전학습 된 LLM을 이용하여 time series model을 구축하는 것은 시계열 데이터만을 사용하는 것이 아니라 사전학습 LLM과 자연어를 함께 사용하는 것으로 요약할 수 있다. 여기서 자연어를 함께 사용한다는 것의 의미는 입력한 시계열을 잘 설명하는 프롬프트를 구성하거나, 아니면 시계열 데이터를 자연어 문장으로 구성해주는 것을 포함한다.

LLM이 이러한 방식으로 활용되어도 잘 작동하는 이유는 LLM의 다음 4가지 장점에 기인할 수 있다. 1) Data efficiency: LLMs have shown the ability to perform new tasks with only a few samples. 2) Reasoning: LLMs exhibit sophisticated reasoning and pattern recognition capabilites. 3) Multimodal knowledge: As LLM architectures and training techniques improve, they gain more diverse knowledge across modalites like vision, speech, and text. 4) Easy optimizatin: LLMs are trained once on massive computing and then can be applied to forecasting tasks without learning from scratch.

LLM은 현재의 task specific 한 tuning에 비해 시계열 예측을 더욱 일반적이고 효율적이며 효과적으로 접근 가능하게 하는 지름길을 제공한다. 관련 연구동향을 정리한 장표는 다음과 같다.

Zhang, Chowdhury, et al. "Large Language Models for Time Series: A Survey." arXiv preprint arXiv:2402.01801 (2024).

   

[Methodology]

논문에서 풀고자하는 문제는 아래 그림처럼 다변량 시계열 예측이다.

 

multivariate time series는 N개의 univariate time series로 분할되어 연속적으로, 개별적으로 처리된다. (channel-independence)

모델의 전체 구조는 다음과 같다. 

 

먼저 입력 시계열이 들어가는 방식은 Instance Normalization, Patching, Patch Reprogramming 순서로 수행된다. 

Instance Normalization

real time series는 non-stationary(비정상성)하기 때문에 time series forecasting model이 domain shift 문제를 겪을 수 있다. 이를 해결하는 정규화 방법으로 RevIN을 채택하였다. 

Kim, Taesung, et al. "Reversible instance normalization for accurate time-series forecasting against distribution shift." International Conference on Learning Representations. 2021.

 입력 시계열 데이터를 기반으로 평균과 분산을 계산하고, 이 파라미터를 감마와 베타라는 학습가능 한 파라미터와 결합하여 아핀 변환을 하여 데이터를 normalization 한다. 그 후 모델에 데이터를 입력하고서 나온 출력 값을 다시 denormalization 하여 시계열 예측을 수행하는 방식이다.

Kim, Taesung, et al. "Reversible instance normalization for accurate time-series forecasting against distribution shift." International Conference on Learning Representations. 2021.

  이를 통해 정규화 된 시퀀스는 비정상 특성이 감소되고 일관된 평균 및 분산을 가질 수 있다. 결과적으로 normalization layer를 통해 모델을 평균 및 분산 측면에서 일관된 분포의 입력을 받으면서 시퀀스 내의 지역적인 정보를 정확하게 예측할 수 있다. 위 그림은 RevIN을 제안한 논문에서 제공한 실험 결과 중 일부이다. RevIN을 통해 instance normalization을 한 결과 예측성능이 매우 향상되었음을 확인할 수 있다.     

Patching

말 그대로 시계열 데이터를 패치 단위로 쪼갠다. 패치로 분할하게 되면 시퀀스의 차원을 조절할 수 있고 동시에 로컬 정보를 잘 포착할 수 있다고 한다. 

Patch Reprogramming

 Patch reprogramming은 시계열 데이터가 자연어 모델이 이해할 수 있는 representation을 가질 수 있도록 하기 위해 수행된다. Reprogramming이라는 용어는 사전에 학습된 모델의 weight를 수정하지 않고 현재 가지고 있는 데이터를 잘 추론할 수 있게 하기 위해서 입력 데이터를 약간 수정하는 방식을 의미하는 것 같다. 즉 입력 데이터에 학습 가능한 노이즈를 추가하는 방식으로 학습된다.  

Misra, Diganta, et al. "Reprogramming under constraints: Revisiting efficient and reliable transferability of lottery tickets." arXiv preprint arXiv:2308.14969 (2023). 이 논문에 reprogramming에 대한 자세한 내용이 기술되어 있다.

이해를 돕기 위한 그림

만약 손 그림을 잘 분류하도록 학습된 f가 있다 했을 때, 우리는 컬러 이미지도 이 모델이 잘 분류 했으면 좋겠다고 바라는 상황에서 위 그림은 reprogramming의 과정을 나타낸다.

입력 데이터에 학습가능 한 파라미터 델타로 매개화 되는 노이즈를 첨가한 후 사전 학습 된 모델에 입력하여 분류를 수행한다. 이 과정을 거치게 되면 노이즈 term 자체가 사전 학습 된 모델이 입력 데이터를 이해할 수 있도록 바꿔준다.

 다시 돌아와서 시계열 데이터를 언어 모델이 이해할 수 있는 방식으로 reprogramming 하는 것이 patch reprogramming이다. 그러나, 위 예시 처럼 입력 데이터에 노이즈를 가하는 일은 시계열 데이터 양식에는 무리가 있다. (데이터의 특징이 없어질 수도)

따라서 Time-LLM에서는 text prototype의 개념을 도입했다.

위와 같이 단어 집합을 word2vec을 통해 임베딩한 후, 이를 선형 결합하여 새로운 벡터 E'를 만든다. 벡터 E'의 각 노드는 다음 의미를 가질 수 있다고 기대할 수 있다.

예를 들어 보라색 노드는 up 벡터와 short 벡터가 결합되어 "short up"이라는 의미를 가질 것이고, 초록색 벡터는 "steady down"이라는 의미를 가질 것이다.

또한 시계열 Patch 5는 방금 말한 초록색 벡터와 보라색 벡터와의 Attention(patch와 prototypes 간의 Cross Multi head attention)을 통해 "short up then down steadily"라는 의미를 가지게 될 것이다.

이렇게 시계열 데이터를 reprogramming하면 언어로 학습된 LLM이 시계열을 잘 이해할 수 있다. patch reprogramming 과정과 cross multi head attention 과정에 대한 자세한 내용은 아래 그림과 같다. 여기서 쿼리는 patch embedding 벡터로 생성하고, key와 value는 text prototypes로 생성한다. (cross muli-head attention) (왜 이렇게 하지?)

여기까지 하면 Time-LLM에서 시계열 데이터를 다루는 파트는 끝이난다. 다시 아키텍처로 돌아와서 왼편에 있는 부분을 보면 어떤 템플릿이 pre trained LLM으로 들어가는 것을 볼 수 있다. 이 과정은 Prompt-as-Prefix이다.

Prompt-as-Prefix

시계열 데이터를 단순히 reprogramming을 하는 것만으로는 LLM의 추론 능력을 극대화 할 수 없다. 따라서 일종의 접두사로서 입력 시계열 데이터에 대한 정보를 보충해준다.

정보를 보충할 때에는 형식이 있는 템플릿으로 제공한다.

이 정보와 아까 reprogramming 정보를 결합하여 LLM에 입력하고, 이를 output projection을 통해 예측 값을 도출한다. LLM에서 바로 output을 도출하지 않고 projection layer를 추가로 달아준 이유는 language model이 수에 매우 민감한 처리를 하기 때문이다. (['0', '.', '6', '1'] = ['0', '.', '61'])

[Result]

1) 일반 예측 성능

2) few shot

3) zero shot

4) Language model variants

backbone 모델에 따른 성능 차이 확인 (괄호 안의 숫자는 transformer layer 수)

[Model analysis]

1) cross-modality alignment

without patch reprogramming, prompt-as-prefix, data context, task instructionm statistical context(template 구성 요소들)

2) Efficiency anlaysis of Time-LLM

백본 LLM(대형 언어 모델)을 사용했을 때와 사용하지 않았을 때의 비교. 시계열 예측을 위해 LLM의 능력을 활성화하는 데 사용되는 학습 가능한 파라미터는 660만 개 미만이이다.  따라서 Time LLM은 매우 적은 수의 학습 파라미터를 가지고 있고, 효율적이라고 강조하고 있다.

3) Reprogramming Interpretation

저자들은 전력 변압기 온도 데이터셋 중 하나인 ETTh1에 대해 case study를 진행하였다. 구체적으로, reprogramming의 과정을 깊게 알아보고자 하였는데요, 이를 위해 100개의 text prototype과 48개의 time series patch를 이용하여 히트맵을 학습이 진행됨에 따라 시각화 하였다.

그림(e)에서, 특별히 높은 가중치를 가지고 있는 녀석들이 간혹 보이는데, 이는 프로토타입의 다양한 조합을 통해 서로 다른 representation을 갖는다는 것을 증명한다. 이를 통해 텍스트 프로토타입은 언어 단서를 요약하는 방법을 학습하며 선택된 몇 가지가 로컬 시계열 패치의 정보를 표현하는 데 매우 관련성이 높다는 것을 의미한다. 비슷하게 (f)에서, 언어 신호 중 일부는 로컬 시계열 패치(예: 특정 시점에서의 데이터 구간)를 나타내는 데 특히 유용하며, 이러한 유용한 언어 신호를 텍스트 프로토타입이 학습하게 된다는 것을 증명했다.

 

[Reference]

[1] Woo, Gerald, et al. "Unified training of universal time series forecasting transformers." arXiv preprint arXiv:2402.02592 (2024).

[2] Jin, Ming, et al. "Time-llm: Time series forecasting by reprogramming large language models." arXiv preprint arXiv:2310.01728 (2023).

[3] Goswami, Mononito, et al. "MOMENT: A Family of Open Time-series Foundation Models." arXiv preprint arXiv:2402.03885 (2024).

[4] Nie, Yuqi, et al. "A time series is worth 64 words: Long-term forecasting with transformers." arXiv preprint arXiv:2211.14730 (2022).

 

728x90
Comments