콘텐츠로 이동
Data Prep
상세

Time Series Foundation Models (시계열 파운데이션 모델)

메타 정보

항목 내용
분류 Time Series / Foundation Models / Zero-Shot Forecasting / Pre-trained Models
핵심 논문 "A Decoder-Only Foundation Model for Time-Series Forecasting" (Das et al., ICML 2024, TimesFM), "Chronos: Learning the Language of Time Series" (Ansari et al., ICML 2024), "Unified Training of Universal Time Series Forecasting Transformers" (Woo et al., ICML 2024 Oral, Moirai), "MOMENT: A Family of Open Time-Series Foundation Models" (Goswami et al., ICML 2024), "Lag-Llama: Towards Foundation Models for Probabilistic Time Series Forecasting" (Rasul et al., NeurIPS 2023 Workshop), "Timer: Generative Pre-trained Transformers Are Large Time Series Models" (Liu et al., ICML 2024), "Tiny Time Mixers: Fast Pre-trained Models for Enhanced Zero/Few-shot Forecasting" (Ekambaram et al., NeurIPS 2024, TTMs)
주요 저자 Abhimanyu Das (Google, TimesFM), Abdul Fatir Ansari (Amazon, Chronos), Gerald Woo (Salesforce, Moirai), Mononito Goswami (CMU, MOMENT), Kashif Rasul (Lag-Llama), Yong Liu (Tsinghua, Timer), Vijay Ekambaram (IBM, TTMs)
핵심 개념 대규모 시계열 데이터(수십억~수천억 시점)로 사전학습된 Transformer 기반 범용 예측 모델로, 특정 도메인/태스크 학습 없이 zero-shot 또는 few-shot 예측이 가능한 패러다임
관련 분야 Transfer Learning, Self-Supervised Learning, Probabilistic Forecasting, AutoML, In-Context Learning

정의

Time Series Foundation Model (TSFM)은 대규모의 다양한 도메인 시계열 데이터로 사전학습되어, 새로운 시계열에 대해 추가 학습 없이(zero-shot) 또는 최소한의 적응(few-shot)으로 예측을 수행하는 범용 모델이다. 이는 NLP에서 GPT, BERT가 보여준 "사전학습-미세조정" 패러다임을 시계열 영역으로 확장한 것이다.

TSFM이 해결하고자 하는 핵심 도전 과제:

  1. 도메인 다양성: 에너지, 금융, 기상, 교통 등 이질적인 시계열을 하나의 모델로 처리
  2. 주파수 다양성: 초 단위부터 연 단위까지 다양한 샘플링 빈도 대응
  3. 변수 수 다양성: 단변량부터 수천 차원 다변량까지 유연한 처리
  4. 레이블 부재: 시계열 데이터는 NLP/CV 대비 대규모 레이블 코퍼스가 부재
Time Series Foundation Model 패러다임:

[사전학습 단계]
  다양한 도메인의 대규모 시계열 코퍼스
  (에너지, 금융, 기상, 교통, 의료, IoT ...)
  |
  v
  +-----------------------------------------------+
  |        사전학습 (Pre-training)                  |
  |                                               |
  |  입력 표현         학습 목표                    |
  |  - Patch 기반      - Next-token prediction     |
  |  - Tokenization    - Masked reconstruction     |
  |  - Continuous      - Cross-entropy (discrete)  |
  |                    - MSE (continuous)           |
  +-----------------------------------------------+
  |
  v
  사전학습된 Foundation Model
  |
  +-------------------+-------------------+
  |                   |                   |
  v                   v                   v
[Zero-Shot]      [Few-Shot]        [Fine-Tuning]
추가 학습 없이    소량 데이터로      도메인 특화
바로 예측         in-context 적응    전이 학습

핵심 설계 축

TSFM의 설계는 세 가지 축으로 분류된다:

1. 입력 표현 (Input Representation)

시계열의 연속 값을 모델이 처리할 수 있는 형태로 변환하는 방식.

전략 설명 대표 모델
Patch Embedding 연속 시점을 고정 길이 패치로 묶어 선형 투영 TimesFM, MOMENT, Timer
Discrete Tokenization 스케일링 후 양자화하여 이산 토큰으로 변환 Chronos
Lag Features 과거 시차 값을 피처 벡터로 구성 Lag-Llama
Multi-Resolution Patch 다양한 패치 크기를 동시 사용 Moirai

Patch 기반 접근의 핵심 이점: - 시퀀스 길이 감소 (L -> L/P): attention 비용 O(L^2) -> O((L/P)^2) - 지역적 시간 패턴(local temporal patterns)을 패치 단위로 포착 - PatchTST (Nie et al., ICLR 2023)에서 최초 제안, TSFM에서 표준화

2. 아키텍처 (Architecture)

유형 설명 대표 모델
Decoder-Only GPT 스타일, autoregressive next-token prediction TimesFM, Timer, Lag-Llama
Encoder-Decoder T5 스타일, 양방향 인코더 + 자기회귀 디코더 Chronos
Encoder-Only BERT 스타일, masked patch reconstruction MOMENT
Masked Encoder Masked Transformer, any-variate attention Moirai

3. 학습 목표 (Training Objective)

목표 수식/설명 대표 모델
MSE (Continuous) min (1/N) sum(y_hat - y)^2 TimesFM
Cross-Entropy (Discrete) 양자화된 토큰의 분류 손실 Chronos
Masked Reconstruction 마스킹된 패치 복원 MOMENT, Moirai
Next-Token Prediction GPT 스타일 자기회귀 Timer, Lag-Llama
Distributional Output 혼합 분포 파라미터 예측 Moirai (Student-t mixture)

주요 모델 상세

TimesFM (Google, ICML 2024)

Decoder-only Transformer 기반으로, 100B(1000억) 실제 시점 + 합성 데이터로 사전학습.

아키텍처 핵심: - Patch 크기: 32 (입력), 128 (출력) - Input Patch: 연속 값을 패치 단위로 선형 투영 - Output Patch: 한 번에 128 시점 예측 (속도 향상) - 학습 목표: MSE (연속 값 직접 예측) - 모델 크기: 200M 파라미터

TimesFM 2.5 (2025 업데이트): - Quantile Head 추가: 확률적 예측 지원 (10th~90th 분위) - 외생 변수(covariates) 지원 - Flip Invariance: 시계열 반전 불변성

# TimesFM 2.5 사용 예시
import torch
import numpy as np
import timesfm

torch.set_float32_matmul_precision("high")

# 모델 로드
model = timesfm.TimesFM_2p5_200M_torch.from_pretrained(
    "google/timesfm-2.5-200m-pytorch"
)

# 설정
model.compile(
    timesfm.ForecastConfig(
        max_context=1024,       # 최대 컨텍스트 길이
        max_horizon=256,        # 최대 예측 구간
        normalize_inputs=True,
        use_continuous_quantile_head=True,  # 확률적 예측
        force_flip_invariance=True,
        infer_is_positive=True,
        fix_quantile_crossing=True,
    )
)

# 예측 (zero-shot)
point_forecast, quantile_forecast = model.forecast(
    horizon=24,
    inputs=[
        sales_data,       # 매출 시계열
        energy_data,      # 에너지 소비 시계열
    ],
    freq=[0, 0],         # 0: 고빈도, 1: 중빈도, 2: 저빈도
)
# point_forecast.shape: (2, 24)
# quantile_forecast.shape: (2, 24, 10) - mean + 9개 분위수

Chronos (Amazon, ICML 2024)

기존 T5 언어 모델 아키텍처를 시계열에 재사용. 연속 값을 이산 토큰으로 변환하여 언어 모델의 cross-entropy 학습을 그대로 활용.

토큰화 과정: 1. Mean Absolute Scaling: 각 시계열을 절대 평균으로 나누어 스케일 정규화 2. Quantization: 스케일링된 값을 [-15, +15] 구간의 4096개 균등 빈(bin)으로 양자화 3. 이산 토큰 시퀀스를 T5에 입력

학습 데이터 증강: - TSMix: 서로 다른 시계열을 선형 결합하여 새로운 훈련 샘플 생성 - KernelSynth: Gaussian Process 커널 조합으로 합성 시계열 생성 - 합성 데이터가 zero-shot 성능에 크게 기여 (특히 unseen 도메인)

모델 크기: Tiny(8M), Mini(20M), Small(46M), Base(200M), Large(710M)

# Chronos 사용 예시
from chronos import ChronosPipeline
import torch

pipeline = ChronosPipeline.from_pretrained(
    "amazon/chronos-t5-base",
    device_map="cuda",
    torch_dtype=torch.bfloat16,
)

# 확률적 예측 (20개 샘플)
forecast = pipeline.predict(
    context=torch.tensor(historical_data),
    prediction_length=24,
    num_samples=20,
)
# forecast.shape: (1, 20, 24)

# 중앙값과 구간 추정
median = forecast.median(dim=1).values
low = forecast.quantile(0.1, dim=1).values
high = forecast.quantile(0.9, dim=1).values

Moirai (Salesforce, ICML 2024 Oral)

"Any-variate, any-frequency" 범용 예측을 목표로 설계. LOTSA(Large-scale Open Time Series Archive) 데이터셋 27B 관측치로 학습.

핵심 혁신:

  1. Multi-Patch Size Projection: 5개 패치 크기(8, 16, 32, 64, 128)에 대해 각각 입출력 투영층을 학습. 데이터 주파수에 따라 최적 패치 크기 자동 선택.

  2. Any-Variate Attention: 다변량 시계열의 모든 변수를 하나의 시퀀스로 flatten하되, variate ID와 time ID를 통해 구분. 변수 수에 제한 없이 처리 가능.

  3. Mixture Distribution Output: Student-t 혼합 분포의 파라미터(weight, loc, scale, df)를 출력하여 유연한 확률적 예측 제공.

모델 크기: Small(14M), Base(91M), Large(311M)

# Moirai 사용 예시 (uni2ts 라이브러리)
from uni2ts.model.moirai import MoiraiForecast, MoiraiModule

model = MoiraiModule.from_pretrained("Salesforce/moirai-1.0-R-large")

predictor = model.create_predictor(
    prediction_length=24,
    context_length=512,
    patch_size="auto",        # 자동 패치 크기 선택
    num_samples=100,
)

# GluonTS 데이터셋과 호환
from gluonts.dataset.repository import get_dataset
dataset = get_dataset("electricity")

forecasts = list(predictor.predict(dataset.test))

MOMENT (CMU, ICML 2024)

Masked Autoencoder 방식으로 사전학습된 encoder-only TSFM. 예측뿐 아니라 분류, 이상 탐지, 결측치 보간 등 다목적(multi-task) 활용을 목표.

핵심 설계: - Time Series Pile: 공개 데이터셋을 큐레이션한 사전학습 코퍼스 - Patch 기반 입력 (패치 크기 8) - 학습: 랜덤 마스킹된 패치를 복원하는 self-supervised 목표 - 추론: 마스킹 위치를 예측 구간으로 설정하여 forecasting 수행 - 모델 크기: Small(40M), Base(125M), Large(385M)

다목적 활용:

태스크 방법
Forecasting 미래 패치를 마스킹하고 복원
Classification [CLS] 토큰 + linear head
Anomaly Detection 복원 오차를 anomaly score로 활용
Imputation 결측 패치를 마스킹하고 복원
# MOMENT 사용 예시
from moment import MOMENTPipeline

model = MOMENTPipeline.from_pretrained(
    "AutonLab/MOMENT-1-large",
    model_kwargs={"task_name": "forecasting", "forecast_horizon": 24},
)
model.init()

# 입력: (batch, n_channels, context_length)
output = model(x_enc=context_tensor)
forecast = output.forecast  # (batch, forecast_horizon, n_channels)

Lag-Llama (Mila / ServiceNow, NeurIPS 2023 Workshop)

LLaMA 아키텍처를 기반으로 한 단변량 확률적 예측 모델. 시차 피처(lag features)를 활용하여 시간 의존성을 명시적으로 포착.

핵심 설계: - 입력: 시차 피처 벡터 [x_{t-1}, x_{t-2}, ..., x_{t-L}] + 시간 피처 - 아키텍처: LLaMA decoder (RMSNorm, RoPE, SwiGLU) - 출력: 분포 파라미터 (Student-t distribution) - 학습: Negative log-likelihood 최소화 - 강점: fine-tuning 시 빠른 도메인 적응

Timer (Tsinghua, ICML 2024)

GPT 스타일의 생성형 사전학습 시계열 모델. Single-Series Sequence (S3) 형식으로 이질적 시계열을 통합.

핵심 설계: - S3 Format: 다양한 도메인의 시계열을 하나의 긴 시퀀스로 연결 - 학습: Next-token prediction (패치 단위) - 1B 시점 규모의 사전학습 데이터 - 다목적: 예측, 결측치 보간, 이상 탐지에 동일 모델 적용

TTMs (IBM, NeurIPS 2024)

경량화에 초점을 맞춘 Tiny Time Mixers. MLP-Mixer 아키텍처 기반으로 파라미터 수를 극단적으로 줄이면서도 경쟁력 있는 성능 달성.

핵심 설계: - 파라미터: 1M 미만 (기존 TSFM의 1/100 이하) - Multi-level modeling: 시간축 + 채널축 MLP mixing - Adaptive patching: 입력 길이에 따른 패치 크기 조정 - CPU에서도 실시간 추론 가능

벤치마크 및 성능 비교

TSFM-Bench (KDD 2025)

통합 벤치마크에서의 zero-shot 예측 성능 (MASE 기준, 낮을수록 좋음):

모델 Monash (Avg) Weather Traffic 특징
Moirai-Large 0.85 0.72 0.68 Any-variate, 확률적
Chronos-Large 0.87 0.78 0.71 언어모델 재활용
TimesFM-200M 0.89 0.74 0.73 Google, 빠른 추론
MOMENT-Large 0.92 0.81 0.75 다목적 활용
Lag-Llama 0.95 0.85 0.79 단변량 확률적
Seasonal Naive 1.00 1.00 1.00 기준선

(참고: 수치는 여러 벤치마크 논문의 상대적 경향을 종합한 근사값. 데이터셋/설정에 따라 순위 변동.)

주요 발견 (NeurIPS/ICML 2025 워크숍)

  1. 도메인 의존성: TSFM의 zero-shot 성능은 사전학습 도메인 구성에 크게 의존 (NeurIPS 2025)
  2. PCA+Linear 도전: 단순 PCA+Linear 모델이 일부 zero-shot 벤치마크에서 TSFM과 경쟁 (ICML 2025)
  3. In-Context Fine-Tuning: few-shot 예시를 컨텍스트로 제공하면 zero-shot 대비 성능 향상 (TimesFM-ICF, Google 2025)

사전학습 데이터

데이터셋/코퍼스 규모 도메인 사용 모델
Google Internal + Synthetic 100B 시점 다양한 도메인 TimesFM
Public TS + KernelSynth ~10B 시점 27개 공개 데이터셋 + 합성 Chronos
LOTSA 27B 관측치 9개 도메인 Moirai
Time Series Pile ~1B 시점 공개 데이터셋 큐레이션 MOMENT
UTSD (Unified TS Dataset) 1B 시점 S3 형식 통합 Timer

실무 활용 가이드

모델 선택 기준

TSFM 선택 가이드

데이터 특성
├── 단변량 + 확률적 예측 필요?
│   └── Lag-Llama (fine-tuning) 또는 Chronos
├── 다변량 + 변수 간 상관 중요?
│   └── Moirai (any-variate attention)
├── 다목적 (예측 + 분류 + 이상탐지)?
│   └── MOMENT (encoder-only, multi-task)
├── 추론 속도 / 엣지 배포?
│   └── TTMs (<1M params) 또는 TimesFM (빠른 output patch)
├── 확률적 예측 + 불확실성 정량화?
│   └── Chronos (샘플링), Moirai (mixture dist)
└── 빠른 프로토타입 / API?
    └── TimesFM (pip install, 간단한 API)

전통 모델 대비 사용 시점

상황 권장 접근
소량 데이터 (<1000 시점) 통계 모델 (ARIMA, ETS) 우선
도메인 데이터 풍부 + GPU 도메인 특화 DL (PatchTST, iTransformer)
새 도메인, 데이터 부족 TSFM zero-shot
빠른 baseline 필요 TimesFM / Chronos zero-shot
프로덕션 + 다양한 시계열 TSFM zero-shot -> fine-tuning
해석 필요 N-BEATS, Prophet

End-to-End 파이프라인 예시

"""
Time Series Foundation Model 실전 파이프라인
1. 데이터 준비
2. Zero-shot 베이스라인
3. 선택적 fine-tuning
4. 평가 및 비교
"""
import numpy as np
import pandas as pd
from sklearn.metrics import mean_absolute_error

# --- 1. 데이터 준비 ---
df = pd.read_csv("sales_data.csv", parse_dates=["date"])
df = df.sort_values("date")

train = df[df["date"] < "2025-01-01"]["value"].values
test = df[df["date"] >= "2025-01-01"]["value"].values
horizon = len(test)

# --- 2. Zero-shot 예측 (TimesFM) ---
import timesfm

model = timesfm.TimesFM_2p5_200M_torch.from_pretrained(
    "google/timesfm-2.5-200m-pytorch"
)
model.compile(
    timesfm.ForecastConfig(
        max_context=1024,
        max_horizon=horizon,
        normalize_inputs=True,
        use_continuous_quantile_head=True,
    )
)

point_fc, quantile_fc = model.forecast(
    horizon=horizon,
    inputs=[train],
    freq=[0],
)

# --- 3. 전통 모델 비교 (Baseline) ---
import pmdarima as pm

arima = pm.auto_arima(train, seasonal=True, m=12, stepwise=True)
arima_fc = arima.predict(n_periods=horizon)

# --- 4. 평가 ---
from gluonts.ev.metrics import MASE

print(f"TimesFM MAE:  {mean_absolute_error(test, point_fc[0]):.4f}")
print(f"ARIMA MAE:    {mean_absolute_error(test, arima_fc):.4f}")

# --- 5. Chronos 확률적 예측 (선택) ---
from chronos import ChronosPipeline
import torch

chronos = ChronosPipeline.from_pretrained(
    "amazon/chronos-t5-base",
    device_map="cuda",
    torch_dtype=torch.bfloat16,
)

samples = chronos.predict(
    context=torch.tensor(train, dtype=torch.float32),
    prediction_length=horizon,
    num_samples=50,
)

median_fc = samples.median(dim=1).values.numpy()
p10 = samples.quantile(0.1, dim=1).values.numpy()
p90 = samples.quantile(0.9, dim=1).values.numpy()

print(f"Chronos MAE:  {mean_absolute_error(test, median_fc[0]):.4f}")
print(f"90% 구간 포함률: {np.mean((test >= p10[0]) & (test <= p90[0])):.2%}")

한계 및 열린 문제

현재 한계

  1. 도메인 편향: 사전학습 데이터 구성이 zero-shot 성능을 좌우. 학습 데이터에 없는 도메인에서 성능 저하 가능.

  2. 단순 모델과의 경쟁: ICML 2025에서 PCA+Linear이 일부 zero-shot 벤치마크에서 TSFM과 경쟁하는 결과가 보고됨. TSFM의 "필요성"에 대한 근본적 질문 제기.

  3. 다변량 한계: 대부분의 TSFM이 단변량 또는 channel-independent 방식. 변수 간 복잡한 상호작용 포착에 한계 (Moirai 제외).

  4. Exogenous 변수 처리: 외생 변수(휴일, 프로모션 등)의 통합이 제한적. TimesFM 2.5에서 부분 지원 시작.

  5. Long-Horizon 정확도: 예측 구간이 길어질수록 성능 저하가 급격. 특히 non-stationary 시계열에서 두드러짐.

연구 방향

  1. In-Context Learning: few-shot 예시를 컨텍스트로 제공하여 성능 향상 (TimesFM-ICF)
  2. Multi-Modal TSFM: 텍스트 설명 + 시계열을 함께 처리하는 모델
  3. Efficient TSFM: TTMs처럼 1M 이하 파라미터로 경쟁력 확보
  4. Domain-Adaptive Pre-training: 범용 사전학습 후 도메인별 추가 학습 체계화
  5. Unified Multi-Task: 예측, 분류, 이상탐지, 생성을 하나의 모델로

참고 문헌

핵심 논문 (2024 ICML)

  • Das, A. et al. (2024). "A Decoder-Only Foundation Model for Time-Series Forecasting". ICML.
  • Ansari, A.F. et al. (2024). "Chronos: Learning the Language of Time Series". ICML.
  • Woo, G. et al. (2024). "Unified Training of Universal Time Series Forecasting Transformers". ICML (Oral).
  • Goswami, M. et al. (2024). "MOMENT: A Family of Open Time-Series Foundation Models". ICML.
  • Liu, Y. et al. (2024). "Timer: Generative Pre-trained Transformers Are Large Time Series Models". ICML.

후속 연구 (2025)

  • Ekambaram, V. et al. (2024). "Tiny Time Mixers: Fast Pre-trained Models for Enhanced Zero/Few-shot Forecasting". NeurIPS.
  • Das, A. et al. (2025). "Time Series Foundation Models Can Be Few-Shot Learners". Google Research.
  • TSFM-Bench (2025). "A Comprehensive and Unified Benchmark of Foundation Models for Time Series Forecasting". KDD.

선행 연구

  • Rasul, K. et al. (2023). "Lag-Llama: Towards Foundation Models for Probabilistic Time Series Forecasting". NeurIPS Workshop.
  • Nie, Y. et al. (2023). "A Time Series is Worth 64 Words: Long-term Forecasting with Transformers". ICLR. (PatchTST)
  • Liu, Y. et al. (2024). "iTransformer: Inverted Transformers Are Effective for Time Series Forecasting". ICLR.

라이브러리

  • TimesFM: https://github.com/google-research/timesfm
  • Chronos: https://github.com/amazon-science/chronos-forecasting
  • Moirai (Uni2TS): https://github.com/SalesforceAIResearch/uni2ts
  • MOMENT: https://github.com/moment-timeseries-foundation-model/moment
  • GluonTS: https://github.com/awslabs/gluonts
  • NeuralForecast: https://github.com/Nixtla/neuralforecast