1. 들어가며
최근 자연어처리 분야에서는 대규모 언어모델이 여러 downstream task에서 강력한 zero-shot 성능을 보이고 있다. 한 번 대규모 텍스트 corpus로 사전학습해두면, 별도의 task-specific 학습 없이도 번역, 요약, 질의응답 등 다양한 작업에 활용할 수 있다. 이 논문은 여기서 출발한다.
그렇다면 시계열 예측에서도 하나의 거대한 사전학습 모델을 만들어,
처음 보는 데이터셋에도 zero-shot으로 잘 예측하게 할 수 있을까?
이 질문이 TimesFM의 핵심이다. TimesFM은 Google Research에서 제안한 시계열 forecasting용 foundation model로, 다양한 real-world 및 synthetic time-series를 이용해 사전학습한 뒤, 새로운 데이터셋에 별도 학습 없이 바로 적용하는 것을 목표로 한다.
기존 시계열 예측 모델들은 보통 특정 데이터셋에 대해 supervised training을 수행한다. 예를 들어 전력 수요 예측 모델은 전력 데이터로, 교통량 예측 모델은 교통 데이터로 따로 학습한다. 반면 TimesFM은 하나의 모델이 여러 도메인, 여러 시간 단위, 여러 horizon에 대응할 수 있도록 설계되었다.
논문의 결론부터 말하면, TimesFM은 zero-shot setting에서도 여러 benchmark에서 supervised forecasting model에 근접하거나 일부 경우에는 더 좋은 성능을 보인다. 즉, 시계열에서도 foundation model 접근이 가능하다는 것을 보여준 논문이라고 볼 수 있다.
2. 왜 시계열 foundation model은 어려운가
언어모델과 비교해보면 시계열 foundation model은 몇 가지 근본적인 어려움이 있다.
첫째, 시계열에는 자연어처럼 명확한 vocabulary가 없다.
언어에서는 단어 또는 subword token이 자연스러운 기본 단위가 되지만, 시계열은 연속값이다. 그래서 무엇을 token처럼 다룰 것인지가 애매하다.
둘째, 데이터의 형태가 매우 다양하다.
시계열은 초 단위, 분 단위, 시간 단위, 일 단위, 주 단위, 월 단위 등 granularity가 제각각이다. 또한 forecasting에 필요한 context length와 prediction horizon도 문제마다 다르다.
셋째, 공개된 대규모 시계열 데이터가 텍스트만큼 풍부하지 않다.
대규모 언어모델은 웹 텍스트라는 거대한 사전학습 corpus를 활용할 수 있지만, 시계열은 분야별로 흩어져 있고 공개 데이터도 제한적이다.
TimesFM은 이 문제를 세 가지 방향으로 해결한다.
- 시계열을 patch 단위로 나누어 token처럼 사용한다.
- decoder-only Transformer 구조를 사용해 다양한 context length에 대응한다.
- Google Trends, Wikipedia Pageviews, synthetic data 등을 섞어 대규모 pretraining corpus를 만든다.
3. 문제 정의
논문에서 forecasting 문제는 다음처럼 정의된다.
과거 시계열 context가

로 주어졌을 때, 미래 개 값을 예측한다.

여기서 중요한 점은 TimesFM이 단일 pretrained model이라는 것이다. 따라서 특정 데이터셋에만 존재하는 covariate나 static feature를 전제로 하지 않는다. 즉, 기본 모델은 univariate time-series 값 자체만 보고 미래를 예측하도록 설계된다.
평가에는 주로 MAE를 사용한다.

즉, 예측한 미래 구간과 실제 미래 구간의 평균 절대 오차를 보는 방식이다.
4. TimesFM의 핵심 구조
TimesFM은 이름 그대로 time-series foundation model이지만, 구조적으로는 decoder-only Transformer에 가깝다. 논문 4페이지 Figure 1을 보면, 전체 구조가 다음 흐름으로 구성된다.

- 입력 시계열을 일정 길이의 patch로 나눈다.
- 각 patch를 residual block으로 embedding한다.
- positional encoding을 더한 뒤 causal self-attention Transformer에 넣는다.
- 각 output token이 다음 구간의 time-series patch를 예측한다.
즉, 언어모델에서 token sequence를 보고 다음 token을 예측하듯이, TimesFM은 time-series patch sequence를 보고 다음 patch를 예측한다.
5. Patching: 시계열의 token 만들기
TimesFM의 첫 번째 핵심은 patching이다.
시계열 y1:L 을 길이 의 non-overlapping patch로 나눈다.
j번째 patch는 다음처럼 쓸 수 있다.

즉, 연속된 pp개의 time point를 하나의 patch로 묶는다. 이 patch가 언어모델의 token과 비슷한 역할을 한다.
왜 patching이 필요할까?
첫째, 계산량을 줄일 수 있다.
Transformer는 token 수가 길어질수록 self-attention 계산량이 커진다. 시계열을 한 점씩 token으로 쓰면 sequence length가 너무 길어진다. patching을 하면 token 수가 patch length만큼 줄어든다.
둘째, 시계열의 local pattern을 한 단위로 볼 수 있다.
예를 들어 32개 시점을 하나의 patch로 묶으면, 모델은 한 점 단위 노이즈보다 더 안정적인 local pattern을 입력으로 받게 된다.
셋째, 다양한 길이의 context를 처리하기 쉬워진다.
입력 길이가 달라도 patch sequence로 바꿔 Transformer에 넣을 수 있다.
6. Input token 생성 수식
각 patch는 residual block을 통해 Transformer의 입력 token으로 변환된다. 논문에서는 padding mask 도 함께 사용한다. m=1 이면 해당 입력은 무시해야 한다는 뜻이다.
j번째 token은 다음처럼 정의된다.

여기서

이다.
쉽게 말하면, 이 단계는
“연속값으로 된 시계열 patch를 Transformer가 이해할 수 있는 벡터 token으로 바꾸는 과정”
이다.
7. Decoder-only Transformer
TimesFM은 encoder-decoder 구조가 아니라 decoder-only 구조를 사용한다.
이는 GPT류 언어모델과 비슷한 방식이다.
각 output token은 자기보다 이전 patch들만 볼 수 있다. 이를 causal attention이라고 한다.
논문에서는 다음처럼 쓴다.

즉, j번째 output representation o_j 는 1번째부터 j번째까지의 patch token만 보고 계산된다. 미래 patch는 보지 않는다.
이 구조의 장점은 명확하다.
- 다양한 context length에 자연스럽게 대응할 수 있다.
- 학습 때 여러 prefix length에 대해 병렬로 next patch prediction을 수행할 수 있다.
- inference 때는 autoregressive하게 미래 patch를 이어서 생성할 수 있다.
즉, TimesFM은 “시계열 GPT”처럼 동작한다고 볼 수 있다.
8. Output patch: 한 번에 여러 시점 예측하기
언어모델에서는 보통 다음 token 하나를 예측한다.
하지만 시계열 forecasting에서는 한 시점씩 autoregressive하게 예측하면 long horizon에서 오차가 누적되고 비효율적이다.
그래서 TimesFM은 output patch length를 input patch length보다 길게 설정한다.
논문에서 예시로 설명하듯, input patch length가 32이고 output patch length가 128이라면, 모델은 32개 시점을 보고 다음 128개 시점을 예측할 수 있다.
수식으로는 다음과 같다.

여기서 는 output patch length다.
즉, j번째 output token 는 그 시점까지의 context를 요약하고, 그 다음 개 미래 값을 직접 예측한다.
이 설계는 매우 중요하다.
완전히 one-step autoregressive 방식이면 긴 horizon 예측에 많은 decoding step이 필요하지만, output patch를 길게 잡으면 훨씬 적은 step으로 긴 미래를 예측할 수 있다.
다만 output patch가 너무 길면 짧은 시계열이나 월별·연별 데이터처럼 데이터 길이가 짧은 경우를 다루기 어렵다. 따라서 논문은 input patch length와 output patch length 사이의 trade-off를 중요하게 본다.
9. 학습 loss
TimesFM은 point forecasting을 목표로 하므로, 기본 학습 loss로 MSE를 사용한다.

즉, 각 patch 위치마다 “지금까지 본 context로 다음 개 값을 맞히는” 문제를 학습한다.
이 구조는 decoder-only language modeling과 닮아 있다.
언어모델이 “지금까지의 token으로 다음 token을 예측”하듯이, TimesFM은 “지금까지의 patch로 다음 time-series patch를 예측”한다.
다만 차이점은, 언어모델은 보통 다음 token 하나를 예측하지만 TimesFM은 다음 여러 time point를 한 번에 예측한다는 점이다.
10. Patch masking: 모든 context length를 보게 만들기
patching을 단순히 적용하면 한 가지 문제가 생긴다.
모델이 patch length의 배수에 해당하는 context length에만 익숙해질 수 있다는 점이다.
예를 들어 input patch length가 32라면, 모델은 32, 64, 96, … 같은 길이의 context만 본 셈이 된다. 하지만 실제 inference에서는 context length가 꼭 patch length의 배수일 필요가 없다.
이를 해결하기 위해 TimesFM은 학습 중 patch masking strategy를 사용한다.
각 batch에서 첫 번째 patch의 일부를 랜덤하게 masking한다. 예를 들어 일 때 처음 4개 time point를 mask하면, 모델은 사실상 28개 time point를 본 뒤 예측하는 상황도 학습하게 된다.
이 과정을 여러 r 값에 대해 반복하면, 모델은 1부터 최대 context length까지 다양한 context length를 경험하게 된다.
즉, patching으로 효율성을 얻으면서도, 실제 inference에서 다양한 길이의 입력을 처리할 수 있도록 만든 것이다.
11. Pretraining corpus: 무엇으로 학습했는가
TimesFM이 foundation model로 작동하려면 다양한 시계열 패턴을 대규모로 봐야 한다. 논문은 크게 네 종류의 데이터를 사용한다.
11.1 Google Trends
검색어별 관심도 시계열을 사용한다.
hourly, daily, weekly, monthly granularity 데이터를 포함한다.
11.2 Wikipedia Pageviews
위키피디아 페이지 조회수 데이터를 사용한다.
논문에서 가장 큰 비중을 차지하는 real-world corpus이며, hourly, daily, weekly, monthly 단위로 구성된다.
11.3 Synthetic Data
ARMA, 계절성 sine/cosine, trend, step function 등을 조합해 생성한 synthetic time-series를 사용한다.
이는 실제 데이터에 부족한 다양한 주기와 패턴을 보완하기 위한 장치다.
11.4 기타 공개 시계열 데이터
M4, Electricity, Traffic, Weather 등 기존 forecasting benchmark도 일부 포함한다.
논문 Table 1을 보면 pretraining corpus의 규모가 매우 크다. 특히 Wiki Pageviews는 수천억 개 time point를 포함하며, synthetic data도 30만이 아니라 3백만 개 time-series, 약 61억 time point 규모로 사용된다.
학습 mixture는 real data 80%, synthetic data 20%로 구성된다. real data 안에서도 hourly/sub-hourly, daily, weekly, monthly 그룹에 균형 있게 weight를 준다. 이는 특정 granularity에만 모델이 치우치지 않도록 하기 위한 설계다.
12. TimesFM 모델 크기
논문의 main model은 약 200M parameters 규모다.
구체적으로는 다음 설정을 사용한다.
- Transformer layers: 20
- model dimension: 1280
- attention heads: 16
- input patch length: 32
- output patch length: 128
- dropout: 0.2
흥미로운 점은, LLM에 비하면 훨씬 작은 규모라는 것이다. 그럼에도 다양한 forecasting benchmark에서 강한 zero-shot 성능을 보인다. 논문은 이것을 통해 “시계열 전용 corpus로 학습한 비교적 작은 모델이, LLM을 그대로 쓰는 방식보다 훨씬 효율적일 수 있다”고 주장한다.
13. Zero-shot 성능 평가

TimesFM은 사전학습에 사용하지 않은 benchmark에 대해 zero-shot으로 평가된다. 논문은 크게 세 그룹의 dataset에서 평가한다.
- Monash Archive
- Darts
- Informer / ETT datasets

13.1 Monash Archive
Monash Archive는 다양한 도메인과 granularity를 포함한 forecasting benchmark다.
논문은 missing value가 있는 dataset을 제외한 18개 dataset에서 평가한다.
여기서 TimesFM은 supervised baseline들과 비교해도 매우 강한 성능을 보인다. 논문 Figure 2(a)에서는 scaled MAE의 geometric mean 기준으로 TimesFM이 가장 좋은 성능을 보인다. 특히 GPT-3 기반 zero-shot forecasting 방법인 llmtime보다 25% 이상 좋은 성능을 보인다고 설명한다.
이 결과는 꽤 중요하다.
LLM을 시계열 forecasting에 그대로 쓰는 것보다, 시계열 전용 foundation model을 학습하는 것이 훨씬 효과적일 수 있음을 보여주기 때문이다.
13.2 Darts
Darts dataset은 8개의 univariate time-series로 구성되어 있다.
이 dataset들은 개별 시계열 수가 적고, 계절성이 뚜렷한 경우가 많아 ARIMA 같은 통계 모델도 강하게 작동한다.
TimesFM은 Darts에서도 best model들과 통계적으로 유사한 수준의 성능을 보인다. 다만 데이터셋 수가 적어 confidence interval이 넓고, ARIMA는 seasonality를 수동으로 잘 지정했을 때 강하다는 점을 논문이 언급한다.
13.3 ETT / Informer datasets
ETT dataset에서는 horizon 96, 192 forecasting task를 평가한다.
TimesFM은 zero-shot임에도 supervised PatchTST와 비슷하거나 일부 경우 더 좋은 성능을 보인다. 논문 Figure 2(c)에서는 TimesFM과 PatchTST가 가장 좋은 그룹에 속한다.
이 부분은 TimesFM의 실용성을 잘 보여준다.
PatchTST는 해당 dataset에 supervised training을 한 모델인데, TimesFM은 별도 학습 없이 zero-shot으로 그에 근접한다.
14. Ablation 1: 모델 크기를 키우면 좋아지는가

논문은 17M, 70M, 200M 모델을 학습해 scaling 효과를 본다.
Figure 3(a)를 보면 FLOPs가 증가할수록 Monash scaled MAE가 단조롭게 감소한다.
즉, TimesFM에서도 LLM에서 관찰되는 scaling law와 유사한 경향이 나타난다.
모델 크기와 학습 compute를 늘리면 성능이 개선된다는 것이다.
물론 이 논문은 아주 대규모 scaling law를 정식으로 제시한 것은 아니지만, 시계열 foundation model에서도 scale이 중요하다는 경험적 증거를 제공한다.
15. Ablation 2: output patch length가 왜 중요한가
Figure 3(b)는 output patch length를 바꿨을 때 ETT long horizon forecasting 성능이 어떻게 달라지는지 보여준다.
결과적으로 output patch length가 8에서 128로 커질수록 평균 MAE가 감소한다.
왜 그럴까?
긴 horizon을 예측할 때 output patch가 짧으면 여러 번 autoregressive decoding을 해야 한다.
예를 들어 512 step을 예측해야 하는데 output patch가 8이면 64번 반복해야 한다. 이 과정에서 오차가 누적될 수 있다.
반면 output patch가 128이면 4번만 반복하면 된다.
따라서 장기 예측에서는 더 긴 output patch가 유리하다.
이것은 TimesFM이 언어모델과 다른 중요한 지점이다.
언어모델은 보통 다음 token 하나씩 생성하지만, 시계열 forecasting에서는 여러 미래 시점을 chunk 단위로 예측하는 것이 더 효율적이고 정확할 수 있다.
16. Ablation 3: input patch length
Figure 3(c)는 input patch length를 8, 16, 32, 64, 128로 바꿨을 때의 성능을 보여준다.
결과적으로 16 또는 32 근처가 가장 좋고, 너무 작거나 너무 크면 성능이 떨어진다.
해석은 다음과 같다.
- input patch가 너무 작으면 token 수가 많아져 학습과 추론이 비효율적이다.
- input patch가 너무 크면 세밀한 decoder-only next-patch learning의 장점이 줄어든다.
- 32 정도가 성능과 효율 사이의 적절한 균형점이다.
그래서 main 200M model은 input patch length 32를 사용한다.
17. Ablation 4: synthetic data의 역할
Figure 3(d)는 synthetic data를 넣은 모델과 넣지 않은 모델을 비교한다.
결과적으로 synthetic data는 특히 underrepresented granularity에서 도움이 된다.
예를 들어 real data는 hourly, daily 같은 흔한 주기가 많다.
그런데 quarterly, yearly, 10-minute 같은 주기는 상대적으로 적을 수 있다.
Synthetic data는 다양한 trend, seasonality, ARMA 패턴을 생성해 이런 부족한 패턴을 보완한다.
즉, synthetic data는 단순히 데이터 양을 늘리는 역할이 아니라,
시계열 패턴의 다양성을 넓히는 역할을 한다.
18. Fine-tuning 결과

TimesFM은 zero-shot뿐 아니라 fine-tuning에서도 강하다.
Appendix A.3에서는 ETT dataset의 10%만 사용해 fine-tuning한 결과를 GPT4TS 등과 비교한다.
결과적으로 TimesFM fine-tuning 모델은 여러 ETT dataset에서 GPT4TS보다 더 좋은 성능을 보인다. 논문은 이것을 “시계열 corpus로 사전학습한 모델의 inductive bias가, GPT-2 같은 일반 언어모델보다 forecasting task에 더 적합하다”는 증거로 해석한다.
이 부분은 꽤 중요한 메시지다.
LLM backbone을 시계열에 억지로 맞추는 것보다, 시계열 전용 모델을 사전학습하는 편이 훨씬 효율적일 수 있다는 뜻이다.
19. 예측 시각화


논문 후반 Figure 5~9는 TimesFM의 예측 사례를 보여준다.
Synthetic curve에서는 sine, trend, step-like pattern 등을 비교적 잘 따라간다.
Darts와 Monash의 실제 데이터에서도 추세와 계절성을 꽤 잘 포착하는 모습을 보인다.
특히 Figure 6에서는 AirPassengers 데이터에서 추세와 함께 증가하는 계절성 amplitude를 잘 포착하고, traffic hourly 예시에서는 outlier가 있어도 주기적 peak를 잘 잡는 모습이 보인다. 이는 TimesFM이 단순히 최근 값을 복사하는 것이 아니라, trend와 seasonality를 어느 정도 일반화해 학습했음을 시사한다.
20. 이 논문의 장점
20.1 문제 제기가 시의적절하다
시계열 분야에서도 foundation model이 가능한가라는 질문은 매우 중요하다. TimesFM은 이에 대해 꽤 강한 실험적 답을 준다.
20.2 구조가 단순하고 명확하다
복잡한 domain-specific module을 많이 넣기보다, patching + decoder-only Transformer라는 단순한 구조를 택했다. 이 덕분에 다양한 context length와 horizon에 대응할 수 있다.
20.3 zero-shot 성능이 강하다
Monash, Darts, ETT 등 다양한 benchmark에서 별도 학습 없이 supervised model에 근접하는 성능을 보인다. 특히 Monash에서 llmtime보다 크게 나은 결과는 시계열 전용 foundation model의 필요성을 잘 보여준다.
20.4 synthetic data의 중요성을 보여준다
실제 시계열 데이터만으로는 다양한 frequency와 pattern을 충분히 커버하기 어렵다. Synthetic data를 섞어 일반화력을 높인 설계가 인상적이다.
21. 한계와 생각할 점
21.1 covariate를 본격적으로 다루지 않는다
TimesFM의 기본 설정은 univariate forecasting이다.
실제 산업 문제에서는 가격, 날씨, 이벤트, 프로모션, 달력 변수 등 covariate가 매우 중요할 수 있다. 논문도 covariate handling을 future work로 언급한다.
21.2 probabilistic forecasting은 핵심 실험 대상이 아니다
논문은 point forecasting 중심으로 진행된다.
하지만 실제 forecasting에서는 prediction interval이나 quantile forecast도 중요하다. 논문은 output head를 바꾸면 probabilistic forecasting으로 확장 가능하다고 설명하지만, 본격적인 실험은 future work로 남겨두었다.
21.3 해석 가능성은 제한적이다
ARIMA, ETS 같은 통계 모델은 비교적 해석이 쉽지만, 대규모 Transformer 기반 foundation model은 내부 동작을 해석하기 어렵다. 논문도 interpretability를 한계로 언급한다.
21.4 모든 데이터에 잘 맞는 것은 아니다
TimesFM은 zero-shot 성능이 강하지만, 논문도 critical use case에서는 충분한 testing이나 fine-tuning, human-in-the-loop가 필요하다고 언급한다. 특히 domain shift가 큰 데이터에서는 zero-shot 결과만 믿기 어렵다.
22. 개인적인 해석
이 논문에서 가장 인상적인 점은 TimesFM이 “시계열판 GPT”를 단순히 흉내 낸 것이 아니라, 시계열의 특성에 맞게 여러 설계를 조정했다는 점이다.
언어모델과 비슷한 점은 decoder-only causal modeling이다.
하지만 다른 점도 분명하다.
- token 대신 patch를 쓴다.
- 다음 한 점이 아니라 output patch를 예측한다.
- 다양한 granularity를 위해 synthetic data를 섞는다.
- context length 다양성을 위해 patch masking을 사용한다.
즉, TimesFM은 단순히 Transformer를 시계열에 가져온 것이 아니라,
시계열 forecasting에 맞게 decoder-only pretraining 방식을 재해석한 모델이라고 볼 수 있다.
개인적으로는 특히 output patch length를 길게 잡은 설계가 중요해 보인다. 시계열에서는 long horizon prediction이 자주 필요하기 때문에, 언어모델처럼 한 token씩 생성하는 방식은 비효율적이고 오차 누적도 크다. TimesFM은 이를 patch 단위 예측으로 완화한다.
또한 synthetic data를 적극적으로 활용한 점도 시계열 foundation model에서 중요한 방향이라고 생각된다. 텍스트와 달리 시계열은 공개 데이터 규모와 다양성이 부족하기 때문에, 다양한 통계적 패턴을 합성해 모델이 더 넓은 패턴 공간을 보게 하는 것이 합리적이다.
23. 마무리
정리하면, TimesFM은 시계열 forecasting에서도 foundation model 접근이 가능하다는 것을 보여준 대표적인 논문이다.
핵심은 다음과 같다.
- 시계열을 patch로 나누어 token처럼 사용한다.
- decoder-only Transformer로 next patch prediction을 학습한다.
- input patch보다 긴 output patch를 사용해 long horizon forecasting을 효율화한다.
- Google Trends, Wiki Pageviews, synthetic data 등 대규모 corpus로 사전학습한다.
- zero-shot으로도 Monash, Darts, ETT benchmark에서 강한 성능을 보인다.
- LLM을 시계열에 그대로 쓰는 것보다, 시계열 전용 foundation model이 더 효율적이고 강력할 수 있음을 보여준다.
결국 이 논문은 단순히 “Transformer로 forecasting을 했다”는 논문이 아니다.
더 정확히는,
시계열 forecasting도 대규모 사전학습 + zero-shot generalization이라는 foundation model 패러다임으로 갈 수 있음을 보여준 논문
이라고 볼 수 있다.