TIP핵심 요약(TL;DR)
- Chronos-2는 Amazon이 공개한 사전학습 시계열 예측 모델(Time Series Foundation Model)로, 별도 학습 없이 zero-shot으로 새로운 시계열을 예측할 수 있습니다.
- 기존 시계열 Foundation Model이 주로 단변량(univariate) 예측에 집중했다면, Chronos-2는 단변량·다변량(multivariate)·외생변수(covariate)를 사용하는 예측을 하나의 모델에서 처리합니다.
- 가장 중요한 아이디어는 Group Attention입니다. 같은 문제에 속한 여러 시계열이 서로의 정보를 참고하도록 만들어 In-Context Learning(ICL)을 수행합니다.
- 시간축의 패턴은 Time Attention, 변수·시계열 사이의 관계는 Group Attention이 나누어 처리합니다.
- 결과를 하나의 값으로만 출력하지 않고 여러 Quantile을 직접 예측하므로 예측값뿐 아니라 불확실성도 함께 표현할 수 있습니다.
시계열 예측에서 반복되던 문제
시계열 예측(Time Series Forecasting)을 실제 서비스에 적용한다고 생각해 봅시다.
쇼핑몰이라면 상품별 판매량을 예측해야 하고, 데이터센터라면 CPU·Memory·Disk I/O를 예측해야 합니다. 전력 수요를 예측할 때는 온도나 날씨도 중요하고, 상품 수요를 예측할 때는 예정된 할인 행사나 가격 정보가 영향을 줍니다.
그런데 전통적인 예측 시스템에서는 새로운 데이터셋이나 새로운 서비스가 생길 때마다 다음 과정을 반복하는 경우가 많습니다.
- 데이터를 수집한다.
- 해당 데이터에 맞는 모델을 고른다.
- Feature와 Hyperparameter를 조정한다.
- 모델을 학습한다.
- 검증하고 다시 튜닝한다.
- 다른 데이터셋이 생기면 비슷한 과정을 반복한다.
언어 모델처럼, 시계열에서도 이미 다양한 패턴을 학습한 하나의 모델을 가져와 바로 예측할 수는 없을까?
이 질문에서 Time Series Foundation Model이라는 흐름이 시작됩니다.
기존 방법은 어떻게 시계열을 예측했을까?
Local Model: 시계열마다 따로 학습
ARIMA, ETS(Exponential Smoothing)와 같은 전통적 방법은 개별 시계열에 모델을 맞추는 방식이 대표적입니다.
예를 들어 상품 A와 상품 B의 판매량이 있다면 각각 별도의 파라미터를 추정할 수 있습니다.
이 방식은 데이터의 구조를 명확하게 해석할 수 있고 작은 데이터에서도 강력한 경우가 많습니다. 하지만 수천·수만 개의 시계열을 운영하면 모델 관리 비용이 커집니다.
Global Model: 여러 시계열에서 하나의 모델 학습
DeepAR, TFT, N-BEATS, N-HITS 같은 딥러닝 기반 모델은 여러 시계열을 함께 학습하면서 공통 패턴을 공유할 수 있습니다.
여러 시계열 데이터 ↓하나의 Global Model 학습 ↓해당 데이터셋의 여러 시계열 예측Local Model보다 확장성이 좋아졌지만 여전히 대개 특정 데이터셋을 위한 학습 과정이 필요합니다.
Foundation Model은 무엇을 바꿨을까?
Foundation Model의 발상은 다릅니다.
대규모·다양한 시계열 데이터 ↓ Pretraining ↓범용 시계열 Foundation Model ↓┌─────────┼─────────┐전력 판매량 트래픽예측 예측 예측모델을 한 번 대규모로 사전학습한 뒤 처음 보는 데이터에서도 추가 학습 없이 예측하는 Zero-shot Forecasting을 목표로 합니다.
TIPZero-shot forecasting은 새로운 데이터셋을 모델이 처음 보더라도 그 데이터에 맞춰 추가 학습·Fine-tuning하지 않고 바로 예측하는 설정입니다.
이 방식이 잘 작동한다면 시계열 예측 파이프라인을 크게 단순화할 수 있습니다.
Chronos: 시계열을 언어처럼 다뤄보자
Amazon이 2024년에 공개한 첫 Chronos의 핵심 아이디어는 매우 흥미로웠습니다.
실수값으로 이루어진 시계열을 Token으로 변환하면 언어 모델과 비슷하게 학습할 수 있지 않을까?
기존 Chronos는 시계열 값을 Scaling한 뒤 Quantization을 통해 구간(bin)에 대응하는 Token으로 변환했습니다. 이후 T5 계열 언어 모델 구조를 사용해 다음 Token을 예측하도록 학습합니다.
실수 시계열[12.1, 12.5, 13.0, 12.8, ...] ↓ Scaling ↓ Quantization시계열 Token[241, 248, 257, 253, ...] ↓Transformer ↓미래 Token 생성 ↓ Dequantization미래 시계열이 접근은 시계열에도 대규모 사전학습 + Zero-shot 예측이 가능하다는 것을 보여주었습니다.
하지만 실제 예측 시스템에서는 한 가지 중요한 문제가 남았습니다.
기존 Chronos 계열의 중요한 한계
현실의 예측 문제는 하나의 숫자 흐름만 보는 경우보다 훨씬 복잡합니다.
예를 들어 전력 소비량을 예측한다고 해봅시다.
Target전력 사용량 ─────────────→ 미래 사용량 예측
관련 정보온도 ────────────────────┐습도 ────────────────────┤요일 ────────────────────┤ → 예측에 도움공휴일 여부 ──────────────┤예보된 미래 온도 ─────────┘기존 시계열 Foundation Model 대부분은 하나의 시계열 과거값만 입력받는 단변량 예측에 집중했습니다.
그러면 다음 정보를 충분히 활용하기 어렵습니다.
- 여러 Target이 함께 움직이는 관계
- 다른 변수와의 상호작용
- 과거에만 관측되는 Covariate
- 미래 값을 미리 알고 있는 Covariate
- 여러 유사 시계열 사이에 반복되는 패턴
WARNING**Covariate(공변량·외생변수)**는 예측 대상 자체는 아니지만 Target의 미래값을 설명하는 데 도움이 되는 추가 변수입니다. 판매량 예측의 가격·프로모션, 전력 예측의 날씨가 대표적입니다.
즉 Foundation Model이라는 범용성을 실제 문제까지 확장하려면 단순히 한 시계열을 잘 예측하는 모델을 넘어 여러 시계열과 보조 정보의 관계를 그 자리에서 파악하는 모델이 필요했습니다.
Chronos-2의 핵심 아이디어
TIPChronos-2의 핵심은 같은 예측 문제에 속한 여러 시계열을 하나의 Group으로 묶고, Group Attention을 통해 서로의 정보를 참고하게 만드는 것입니다.
이 구조 덕분에 하나의 Chronos-2 모델이 서로 다른 형태의 문제를 처리할 수 있습니다.
| 문제 유형 | 입력 예시 | 모델이 활용하는 관계 |
|---|---|---|
| Univariate | 상품 A 판매량 | 한 시계열 내부의 시간 패턴 |
| Cross Learning | 여러 상품의 판매량 | 비슷한 상품 사이의 패턴 |
| Multivariate | CPU, Memory, Disk I/O | 여러 Target이 함께 변하는 관계 |
| Covariate-informed | 판매량 + 가격 + 프로모션 | Target과 외생변수 사이의 관계 |
중요한 점은 문제마다 별도의 모델 구조를 만들지 않는다는 것입니다.
어떤 시계열을 같은 Group으로 지정하는가, 그리고 미래에 어떤 값이 관측 가능한가를 통해 모델이 예측 문제의 형태를 파악합니다.
전체 구조 먼저 보기
Chronos-2의 데이터 흐름을 큰 그림으로 보면 다음과 같습니다.
Targets + Covariates │ ▼Robust Scaling(Standardization + asinh) │ ▼Time Index + Missing Mask 추가 │ ▼Non-overlapping Patches │ ▼Residual Network Embedding │ ▼┌────────────────────────────┐│ Transformer Stack ││ ││ Time Attention ││ ↓ ││ Group Attention ││ ↓ ││ Time Attention ││ ↓ ││ Group Attention │└────────────────────────────┘ │ ▼Quantile Head │ ▼미래 여러 시점의 확률적 예측Chronos-2는 Encoder-only Transformer이며 T5 Encoder 설계를 기반으로 합니다. 하지만 일반 Transformer와 달리 Time Attention과 Group Attention을 번갈아 배치합니다.
1. 입력 구성: Target과 Covariate를 같은 틀에 넣는다
예측하려는 Target을 , 추가 Covariate를 라고 하겠습니다.
과거 구간에서는 Target과 Covariate의 관측값을 함께 사용합니다.
미래 구간에서는 상황이 다릅니다.
미래 Target은 아직 알 수 없으므로 Missing으로 둡니다. 반면 미리 알고 있는 Covariate가 있다면 실제 미래 값을 넣을 수 있습니다.
예를 들어 내일의 전력 사용량을 예측할 때:
| 변수 | 과거 | 미래 |
|---|---|---|
| 전력 사용량(Target) | 관측됨 | ❓ Missing |
| 실제 온도 | 관측됨 | 상황에 따라 Missing |
| 예보 온도(Known Covariate) | 관측됨 | ✅ 알려져 있음 |
| 요일 | 관측됨 | ✅ 알려져 있음 |
이렇게 하면 모델은 미래 정보를 부정하게 보는 것이 아니라 실제로 예측 시점에 사용할 수 있는 정보만 입력받습니다.
2. Robust Scaling: 서로 다른 크기의 시계열을 맞춘다
시계열마다 값의 범위는 크게 다릅니다.
CPU 사용률: 0 ~ 100상품 판매량: 0 ~ 10,000전력 가격: -값 ~ 매우 큰 Spike센서 측정값: 아주 작은 실수Chronos-2는 각 변수의 과거 구간에서 평균 와 표준편차 를 계산한 뒤 Standardization을 수행하고, 추가로 inverse hyperbolic sine 변환을 적용합니다.
단순 Standardization 뒤에 을 적용하면 큰 값의 영향을 완화하는 log-like 효과를 얻을 수 있습니다. 특히 Spike나 Outlier가 존재하는 시계열에서 학습 목표가 극단값에 지나치게 좌우되는 것을 줄이는 데 도움이 됩니다.
왜 로그가 아니라 asinh를 사용할까?
일반적인 로그 변환은 0 이하의 값을 그대로 처리하기 어렵습니다. 은 양수와 음수를 모두 처리할 수 있으면서 절댓값이 큰 구간에서는 로그와 비슷하게 증가합니다. 따라서 음수가 가능한 가격·변화량 등의 시계열에도 자연스럽게 적용할 수 있습니다.
3. Time Index와 Mask: 값뿐 아니라 상황도 알려준다
Chronos-2는 각 값에 두 가지 Meta Feature를 추가합니다.
- Time Index: 현재 위치가 과거와 미래 중 어디인지, 시간축에서 어느 지점인지 표현
- Mask: 실제로 관측된 값인지 Missing인지 표현
Mask는 특히 Covariate를 처리할 때 중요합니다.
미래 Target → Mask = 0미래 Known Covariate → Mask = 1과거 관측값 → Mask = 1과거 Missing Value → Mask = 0모델은 이 Mask를 통해 무엇이 예측 대상이고 무엇이 이미 알고 있는 미래 정보인지 구분할 수 있습니다.
4. Patching: 한 시점씩 보지 않고 구간을 묶는다
Chronos-2는 입력 시계열을 길이 의 겹치지 않는 Patch로 나눕니다.
원본[t1 t2 t3 t4 | t5 t6 t7 t8 | t9 t10 t11 t12 | ...]
↓
Patch 1 Patch 2 Patch 3[t1 t2 t3 t4] [t5 t6 t7 t8] [t9 t10 t11 t12]각 Patch에는 다음 정보가 함께 들어갑니다.
[시계열 값 Patch, Time Index Patch, Mask Patch] ↓ Residual Network ↓ Patch EmbeddingPatching을 사용하면 긴 시계열을 모든 시점 단위 Token으로 처리하는 것보다 Transformer가 다뤄야 하는 Sequence 길이를 줄일 수 있습니다.
Time Attention과 Group Attention은 무엇이 다를까?
Chronos-2를 이해할 때 가장 중요한 부분입니다.
Time Attention: 한 변수의 시간 흐름을 본다
Time Attention은 일반적인 Self-Attention과 비슷하게 같은 시계열의 여러 시간 Patch 사이에서 정보를 교환합니다.
CPUPatch1 ↔ Patch2 ↔ Patch3 ↔ Patch4여기에서는 다음과 같은 패턴을 잡는 것이 중요합니다.
- Trend
- Seasonality
- 반복 패턴
- 장기적인 시간 의존성
즉 질문은 다음과 같습니다.
이 변수의 과거 시간 흐름에서 어떤 구간을 참고해야 하는가?
Group Attention: 같은 문제에 속한 여러 시계열을 본다
Group Attention은 방향이 다릅니다.
같은 Patch 위치에서 같은 Group에 속한 여러 시계열 사이에 Attention을 수행합니다.
같은 시간 구간
CPU ─────┐Memory ──┼──→ Group AttentionDisk ────┘또는 판매량 예측이라면:
판매량(Target) ─────┐가격 ───────────────┤프로모션 ───────────┼──→ Group Attention요일 ───────────────┤날씨 ───────────────┘TIPTime Attention이 “시간적으로 무엇을 참고할까?”를 결정한다면, Group Attention은 “같은 문제 안에서 어떤 다른 시계열을 참고할까?”를 결정합니다.
이 두 Attention을 번갈아 수행하면 모델은 시간 관계와 변수 관계를 분리해 학습하면서도 최종적으로 두 정보를 결합할 수 있습니다.
Group은 정확히 무엇일까?
Group은 고정된 의미를 가진 개념이 아닙니다.
Chronos-2에서는 문제에 따라 Group의 의미가 달라질 수 있습니다.
| 상황 | Group 구성 | 효과 |
|---|---|---|
| 독립적인 단변량 예측 | 시계열마다 다른 Group ID | 서로 정보를 공유하지 않음 |
| 관련 상품 Cross Learning | 관련 상품을 같은 Group | 다른 상품 패턴 참고 |
| 다변량 예측 | 여러 Target을 같은 Group | 변수 간 동적 관계 활용 |
| Covariate 예측 | Target과 Covariate를 같은 Group | 외생변수가 Target에 주는 정보 활용 |
Group Attention에는 변수 사이의 자연스러운 순서가 없기 때문에 논문에서는 Group Attention에 별도의 Position Embedding을 사용하지 않습니다.
In-Context Learning은 LLM의 Prompt와 같은 것일까?
Chronos-2 논문에서 중요한 표현 중 하나가 **In-Context Learning(ICL)**입니다.
LLM에서는 몇 개의 예시를 Prompt 안에 넣어주면 모델 파라미터를 업데이트하지 않아도 해당 예시를 참고해 새로운 문제를 해결할 수 있습니다.
Chronos-2에서는 관련된 여러 시계열을 같은 Group에 넣는 것이 비슷한 역할을 합니다.
관련 시계열 A ─┐관련 시계열 B ─┼── 현재 입력 Context관련 시계열 C ─┤예측 대상 D ───┘ │ ▼Group Attention │ ▼D를 예측하면서 A/B/C의 패턴도 참고모델의 Weight는 바뀌지 않습니다. 하지만 현재 입력 안의 다른 시계열 정보를 활용해 예측을 조정합니다.
이것이 특히 유용한 상황이 Cold Start입니다.
새 상품처럼 자체 히스토리가 짧더라도 비슷한 상품의 긴 히스토리가 있다면 관련 시계열을 함께 제공해 도움을 받을 수 있습니다.
WARNING여기서 ICL은 “아무 시계열이나 많이 넣으면 성능이 좋아진다”는 뜻이 아닙니다. 관련성이 낮은 시계열을 같은 Group으로 묶는 것이 항상 도움이 된다고 보장할 수는 없습니다. 실제 데이터에서는 Group 구성과 검증이 중요합니다.
Quantile Head: 미래를 하나의 숫자로 단정하지 않는다
시계열 예측에서는 미래의 불확실성이 중요합니다.
예를 들어 내일 판매량을 단순히 100개라고 예측하는 것보다 다음처럼 표현하면 더 많은 정보를 얻을 수 있습니다.
10% Quantile: 7250% Quantile: 10190% Quantile: 138이를 해석하면 모델이 생각하는 미래 분포의 범위를 어느 정도 파악할 수 있습니다.
Chronos-2는 21개의 Quantile을 직접 예측합니다.
특히 0.01과 0.99 같은 극단 Quantile까지 제공해 Tail Risk나 이상 상황을 분석할 때 활용할 여지가 있습니다.
Quantile Loss의 직관
Quantile 에 대한 예측값을 , 실제값을 라고 하면 Chronos-2는 Quantile Regression Loss를 사용합니다.
핵심은 과소 예측과 과대 예측의 벌점을 Quantile에 따라 다르게 준다는 것입니다.
예를 들어 0.9 Quantile을 학습할 때 실제값보다 너무 낮게 예측하면 상대적으로 큰 벌점을 받습니다. 그 결과 90% Quantile에 맞는 위치를 학습하게 됩니다.
Direct Multi-step Forecasting
Chronos-2는 미래 값을 한 시점씩 Autoregressive하게 생성하는 대신 여러 미래 Patch를 한 번에 출력할 수 있습니다.
Context[t1 ... t100] ↓Chronos-2 ↓Future[t101 ... t124]이는 긴 Forecast Horizon을 효율적으로 처리하는 데 도움이 됩니다.
전체 데이터 흐름을 하나의 예제로 따라가 보기
목표는 앞으로 24시간의 전력 사용량을 예측하는 것입니다.
사용 가능한 데이터는 다음과 같다고 하겠습니다.
- Target: 전력 사용량
- Past-only Covariate: 실제 관측 기온
- Known Covariate: 기상 예보 온도
- Known Covariate: 시간대
Step 1. 과거 데이터 준비
시간 전력 실제기온 예보기온 시간대00:00 82 15 16 001:00 78 14 15 1...23:00 91 18 18 23Step 2. 미래 입력 구성
미래의 전력 사용량은 모릅니다.
시간 전력 실제기온 예보기온 시간대+1h Missing Missing 19 0+2h Missing Missing 18 1...+24h Missing Missing 16 23Step 3. 같은 예측 문제로 Group 지정
전력 사용량 ┐실제 기온 │예보 기온 ├── 같은 Group시간대 │ ┘Step 4. Scaling + Meta Feature + Patching
각 시계열은 독립적으로 Scale되고 Time Index와 Mask가 추가된 뒤 Patch Embedding으로 변환됩니다.
Step 5. Time Attention
전력 사용량의 이전 패턴, 온도의 주기, 하루 단위 반복 구조 등 각 변수 자신의 시간 정보를 처리합니다.
Step 6. Group Attention
같은 시간 구간에서 전력과 기온, 시간대 정보를 서로 연결합니다.
모델은 학습 과정에서 익힌 패턴을 이용해 현재 입력 Context 안에서 이 관계를 추론합니다.
Step 7. Quantile Forecast
최종적으로 각 미래 시점에 대해 여러 Quantile이 출력됩니다.
| 시간 | q=0.1 | q=0.5 | q=0.9 |
|---|---|---|---|
| +1h | 83 | 90 | 98 |
| +2h | 81 | 89 | 99 |
| … | … | … | … |
위 숫자는 구조를 설명하기 위한 예시이며 실제 모델 출력값이 아닙니다.
학습 데이터가 중요한 이유
Group Attention만 추가한다고 처음 보는 변수 관계를 자동으로 잘 이해하게 되는 것은 아닙니다.
모델이 다양한 관계를 미리 경험해야 합니다.
그런데 현실에는 Foundation Model을 학습하기에 충분할 만큼 크고 다양한 다변량 + Covariate 시계열 데이터셋이 많지 않습니다.
Chronos-2는 이 문제를 Synthetic Data로 해결하려고 합니다.
논문에서는 단변량 시계열 생성기를 기반으로 여러 시계열 사이에 인위적인 관계를 부여하는 Multivariatizer를 사용합니다.
Cotemporaneous 관계
같은 시점의 변수 사이에 관계를 만듭니다.
Xₜ ─────→ Yₜ선형·비선형 변환을 사용해 동시점 상관 구조를 생성합니다.
Sequential 관계
시간을 가로질러 관계를 만듭니다.
Xₜ ─────→ Yₜ₊₁Lead-Lag 효과나 Cointegration처럼 더 복잡한 동적 관계를 만들 수 있습니다.
TIPChronos-2 논문에서 다변량 및 Covariate 학습 데이터는 전적으로 Synthetic Data를 사용했다고 설명합니다. 이는 실제 다변량 사전학습 데이터 부족을 해결하기 위한 핵심 설계 선택입니다.
이렇게 다양한 가상의 관계를 경험한 모델은 처음 보는 데이터에서 입력 Context를 이용해 변수 사이 관계를 추론하도록 학습됩니다.
Python으로 Chronos-2 사용하기
공식 chronos-forecasting 패키지를 사용할 수 있습니다.
pip install chronos-forecasting모델은 Hugging Face의 amazon/chronos-2를 사용할 수 있으며 공개된 Base 모델은 약 120M parameters입니다.
가장 기본적인 흐름
import pandas as pdfrom chronos import Chronos2Pipeline
pipeline = Chronos2Pipeline.from_pretrained( "amazon/chronos-2", device_map="cuda",)
context_df = pd.read_parquet("train.parquet")
pred_df = pipeline.predict_df( context_df, prediction_length=24, quantile_levels=[0.1, 0.5, 0.9], id_column="id", timestamp_column="timestamp", target="target",)핵심은 일반적인 모델처럼 fit()을 호출하지 않았다는 점입니다.
Pretrained Model Load ↓Historical Data 입력 ↓predict_df() ↓Forecast이것이 Zero-shot 사용 방식입니다.
미래 Covariate 함께 사용하기
프로모션 일정이나 날씨 예보처럼 미래 값을 이미 알고 있다면 future_df로 전달할 수 있습니다.
from chronos import Chronos2Pipeline
pipeline = Chronos2Pipeline.from_pretrained( "amazon/chronos-2", device_map="cuda",)
pred_df = pipeline.predict_df( context_df, future_df=future_df, prediction_length=24, quantile_levels=[0.1, 0.5, 0.9], id_column="id", timestamp_column="timestamp", target="target",)context_df에는 과거 Target과 과거 Covariate가 들어가고, future_df에는 예측 시점에 실제로 알 수 있는 미래 Covariate를 넣습니다.
WARNING미래 Covariate를 사용할 때는 실제 운영 시점에도 그 값을 알 수 있는가를 반드시 확인해야 합니다. 예측 시점에는 알 수 없는 미래 실제값을 넣으면 Data Leakage가 발생합니다.
GPU가 반드시 필요한가?
아닙니다. Chronos-2는 CPU에서도 추론할 수 있습니다. 다만 데이터 규모와 Latency 요구사항에 따라 GPU가 훨씬 유리할 수 있습니다. 공식 저장소에서는 AWS 기반 CPU/GPU 배포 방법도 제공하고 있습니다.
Chronos, Chronos-Bolt, Chronos-2는 무엇이 다를까?
| 모델 | 핵심 아이디어 | 강점 | 주요 제약 |
|---|---|---|---|
| Chronos | 시계열을 Quantized Token으로 변환해 언어 모델 방식으로 생성 | TS Foundation Model의 강력한 Zero-shot 가능성 제시 | 주로 단변량 중심, Autoregressive 생성 비용 |
| Chronos-Bolt | Patch 기반 Direct Multi-step Forecasting | 기존 Chronos보다 빠르고 효율적인 추론 | 기본적으로 단변량 중심 |
| Chronos-2 | Time Attention + Group Attention + Quantile Head | 단변량·다변량·Covariate·Cross Learning을 통합 | 관계가 없는 변수까지 묶었을 때의 효과는 데이터별 검증 필요 |
Chronos-2는 단순히 기존 Chronos를 더 크게 만든 모델이 아닙니다.
Chronos시계열도 Language Modeling처럼 Pretraining할 수 있다 ↓Chronos-Bolt시계열에 더 적합한 Patch + Direct Forecasting으로 효율화 ↓Chronos-2여러 시계열과 Covariate까지 Context 안에서 함께 추론즉 발전 방향이 단일 시계열 예측 성능 → 계산 효율 → 실제 예측 문제의 범용성으로 이동했다고 볼 수 있습니다.
성능을 어떻게 봐야 할까?
Chronos-2 기술 보고서는 fev-bench, GIFT-Eval, Chronos Benchmark II에서 당시 비교한 공개 사전학습 모델 가운데 가장 높은 성능을 보고했습니다.
특히 fev-bench에서 Chronos-2의 평균 Win Rate는 90.7%, Skill Score는 **47.3%**로 보고되었으며, Covariate가 포함된 문제에서 ICL의 이득이 가장 크게 나타났습니다.
또한 Base Chronos-2는 약 120M parameters이며, 논문에서는 NVIDIA A10G에서 Context Length 2048, Prediction Length 64, Batch 1024 조건으로 약 초당 300개 시계열의 처리량을 보고합니다.
WARNINGBenchmark 1위 = 내 데이터에서도 무조건 최고라는 뜻은 아닙니다. 데이터의 Frequency, Horizon, Noise, Covariate 품질, 평가 Metric, Latency 요구사항에 따라 ARIMA·LightGBM·TFT·PatchTST·TimesFM 같은 다른 방법이 더 적합할 수 있습니다.
또한 논문은 Chronos-2의 학습 Corpus와 일부 GIFT-Eval 데이터의 Training 부분에 부분적 overlap이 있음을 명시합니다. Test portion과는 겹치지 않도록 관리했다고 설명하며, 더 엄격한 Zero-shot 검증을 위해 Synthetic-only 모델에 대한 Ablation도 제공합니다.
이런 세부사항까지 함께 보는 것이 Benchmark를 올바르게 해석하는 방법입니다.
장점과 한계
| 구분 | 내용 |
|---|---|
| ✅ 장점 | 새로운 데이터셋에서 별도의 모델 학습 없이 Zero-shot 예측 가능 |
| ✅ 장점 | Univariate, Multivariate, Covariate-informed Forecasting을 하나의 구조로 처리 |
| ✅ 장점 | 관련 시계열 사이의 Cross Learning을 In-Context 방식으로 수행 |
| ✅ 장점 | 여러 Quantile을 직접 출력해 예측 불확실성을 표현 |
| ✅ 장점 | 최대 Context를 8192까지 확장하도록 학습되어 장기 패턴을 다룰 수 있음 |
| ⚠️ 한계 | Foundation Model이므로 전통적인 작은 모델보다 계산 자원이 더 필요할 수 있음 |
| ⚠️ 한계 | 어떤 시계열을 같은 Group으로 묶는 것이 좋은지는 실제 문제의 의미와 검증이 중요함 |
| ⚠️ 한계 | 다변량·Covariate Pretraining이 Synthetic Data에 크게 의존하므로 현실의 모든 변수 관계를 포함한다고 볼 수 없음 |
| ⚠️ 한계 | 높은 Benchmark 성능이 특정 운영 데이터·비즈니스 Metric에서 그대로 재현된다고 보장되지 않음 |
자주 오해하는 부분
WARNING1. Chronos-2는 LLM에 숫자를 Prompt로 넣는 모델이 아닙니다.
Chronos-2는 시계열 전용으로 학습된 Encoder-only Transformer이며 Patch Embedding과 시계열용 출력 Head를 사용합니다.
WARNING2. In-Context Learning이라고 해서 텍스트 Prompt를 작성하는 것은 아닙니다.
관련 시계열과 Covariate를 같은 Group으로 제공하면 모델이 현재 Context에서 이들 사이 정보를 공유한다는 의미에 가깝습니다.
WARNING3. Multivariate는 단순히 Feature가 여러 개인 것과 완전히 같은 말이 아닙니다.
여러 Target 자체를 동시에 예측하는 문제를 Multivariate Forecasting이라고 부르며, Target을 돕는 추가 변수는 Covariate로 구분할 수 있습니다.
WARNING4. Zero-shot은 모델이 아무 정보 없이 예측한다는 뜻이 아닙니다.
새 데이터에 대해 Weight를 다시 학습하지 않는다는 뜻이며, 실제 예측에는 해당 시계열의 Historical Context가 필요합니다.
언제 Chronos-2를 사용하면 좋을까?
많은 시계열을 빠르게 Baseline하고 싶을 때
여러 데이터셋에 대해 각각 모델을 학습하기 전에 강력한 Zero-shot Baseline을 빠르게 만들 수 있습니다.
새 데이터셋 ↓Chronos-2 Zero-shot ↓성능 확인 ↓필요하면 Task-specific Model과 비교여러 시계열이 서로 관련되어 있을 때
상품군, 서버군, 센서군처럼 여러 시계열이 유사한 패턴을 공유한다면 Cross Learning을 활용할 수 있습니다.
미래 Covariate가 중요한 문제
프로모션 일정, 가격 계획, 공휴일, 날씨 예보처럼 미래 시점에도 미리 알 수 있는 Feature가 예측에 중요한 경우 Chronos-2의 장점이 커집니다.
Cold Start 시계열
새 상품이나 새 센서처럼 자체 Historical Data가 짧지만 비슷한 시계열이 많이 존재한다면 Group Attention을 통해 주변 Context를 활용할 수 있습니다.
언제 다른 방법도 함께 검토해야 할까?
| 상황 | 추천 | 이유 / 대안 |
|---|---|---|
| 데이터가 매우 작고 구조가 단순함 | ⚠️ | ETS, ARIMA 같은 간단한 모델이 더 빠르고 충분히 정확할 수 있음 |
| 엄격한 해석 가능성이 가장 중요함 | ⚠️ | 통계 모델이나 명시적인 Feature 모델이 더 해석하기 쉬울 수 있음 |
| Latency와 비용이 극도로 제한됨 | ⚠️ | 작은 전용 모델이나 통계 모델과 반드시 비용 비교 필요 |
| 풍부한 학습 데이터와 도메인 Feature가 있고 최고 성능이 목표 | ✅/⚠️ | Chronos-2 Zero-shot을 강력한 Baseline으로 사용하고 Task-specific 모델과 비교 |
| 관련 시계열과 미래 Covariate가 많음 | ✅ | Chronos-2가 해결하려는 핵심 문제와 잘 맞음 |
이해도 확인
- 기존 시계열 Foundation Model이 실제 서비스에서 단변량 예측만 지원한다면 어떤 정보들을 놓칠 수 있을까요?
- Chronos-2에서 Time Attention과 Group Attention은 각각 어느 방향의 관계를 학습할까요?
- 미래 Target은 Missing인데 미래 날씨 예보는 입력할 수 있는 이유는 무엇일까요?
- 관련된 여러 단변량 시계열을 같은 Group으로 묶으면 왜 Cold Start 예측에 도움이 될 수 있을까요?
- Chronos-2가 21개의 Quantile을 출력하는 것은 하나의 Point Forecast만 출력하는 것과 비교해 어떤 장점이 있을까요?
힌트 보기
1. 현실에서는 여러 Target·가격·프로모션·날씨 등이 서로 영향을 줍니다. 2. 하나는 시간축, 다른 하나는 같은 Group의 시계열 축을 봅니다. 3. 예측 시점에 실제로 알고 있는 정보인지 생각해 보세요. 4. 자신의 과거가 짧더라도 관련 시계열의 패턴은 길게 존재할 수 있습니다. 5. 미래의 불확실성과 Prediction Interval을 생각해 보세요.핵심 정리
TIP
- Chronos-2는 새로운 데이터에 별도 학습 없이 적용하는 범용 Time Series Foundation Model입니다.
- 기존 모델의 단변량 중심 한계를 넘어 Multivariate와 Covariate-informed Forecasting을 통합한 것이 중요한 변화입니다.
- Time Attention은 한 시계열의 시간 관계를, Group Attention은 여러 관련 시계열 사이의 관계를 처리합니다.
- Group Attention을 이용한 In-Context Learning 덕분에 관련 시계열 Cross Learning과 Cold Start 상황에서도 주변 정보를 활용할 수 있습니다.
- 강력한 Zero-shot Baseline이지만 실제 운영에서는 데이터 특성·비용·Latency·평가 Metric을 기준으로 기존 통계·딥러닝 모델과 함께 검증해야 합니다.
다음에 공부하면 좋은 것
- Chronos / Chronos-Bolt → Chronos-2가 어떤 설계에서 출발했고 Tokenization에서 Patch 기반 예측으로 어떻게 변화했는지 이해할 수 있습니다.
- PatchTST → 시계열을 Patch 단위로 Transformer에 입력하는 아이디어를 더 깊게 이해할 수 있습니다.
- Temporal Fusion Transformer(TFT) → Known/Past Covariate를 사용하는 전통적인 Task-specific 딥러닝 접근과 Chronos-2를 비교하기 좋습니다.
- TimesFM / Moirai / Toto → Time Series Foundation Model들이 범용성과 다변량 처리를 서로 어떤 방식으로 해결하는지 비교할 수 있습니다.
참고 자료
- Chronos-2: From Univariate to Universal Forecasting — Technical Report
- Amazon Science — Introducing Chronos-2
- amazon-science/chronos-forecasting — GitHub
- amazon/chronos-2 — Hugging Face
이 글의 Chronos-2 구조, 학습 방식, Benchmark 수치는 2025년 공개된 Chronos-2 기술 보고서와 Amazon의 공식 공개 구현을 기준으로 정리했습니다.