---
type: WebPage
title: TimesFM-3: 다변량과 공변량을 한 번의 순전파로 예측하는 제로샷 시계열 파운데이션 모델 - 읽
description: ""
resource: https://discuss.pytorch.kr/t/timesfm-3/11793
tags: []
timestamp: 2026-09-14T12:18:22.362892Z
---

[PyTorchKR](/)

# [TimesFM-3: 다변량과 공변량을 한 번의 순전파로 예측하는 제로샷 시계열 파운데이션 모델](/t/timesfm-3/11793)

[읽을거리&정보공유](/c/news/14)

[zero-shot](https://discuss.pytorch.kr/tag/zero-shot),
[forecasting](https://discuss.pytorch.kr/tag/forecasting),
[foundation-model](https://discuss.pytorch.kr/tag/foundation-model),
[paper](https://discuss.pytorch.kr/tag/paper),
[google-research](https://discuss.pytorch.kr/tag/google-research),
[google](https://discuss.pytorch.kr/tag/google),
[time-series](https://discuss.pytorch.kr/tag/time-series)

[9bow](https://discuss.pytorch.kr/u/9bow)

(박정환)

9월 4, 2026, 3:30오전

1

[![TimesFM-3: 다변량과 공변량을 한 번의 순전파로 예측하는 제로샷 시계열 파운데이션 모델](https://discuss.pytorch.kr/uploads/default/optimized/3X/f/0/f0253580108b3f446a1213574494cfe4467d2d5f_2_1028x685.jpeg)

TimesFM-3: 다변량과 공변량을 한 번의 순전파로 예측하는 제로샷 시계열 파운데이션 모델1536×1024 237 KB](https://discuss.pytorch.kr/uploads/default/original/3X/f/0/f0253580108b3f446a1213574494cfe4467d2d5f.jpeg "TimesFM-3: 다변량과 공변량을 한 번의 순전파로 예측하는 제로샷 시계열 파운데이션 모델")

## TimesFM-3 소개

편의점 발주 담당자가 다음 주 아이스크림 물량을 정할 때 지난주 판매량만 보고 결정하지는 않습니다. 다음 주에 비가 오는지, 본사 할인 행사가 잡혀 있는지, 콘과 시럽 같은 연관 상품이 얼마나 나갔는지를 함께 봅니다. **TimesFM-3** 는 Google Research가 2026년 8월 31일에 공개한 시계열 예측 파운데이션 모델(Time Series Foundation Model)로, 바로 이 "*여러 계열과 외부 변수를 함께 보고 예측한다*"는 다변량(multivariate) 설정을 사전 학습 단계에서부터 모델 구조에 넣어 두고, 과제별 미세조정(fine-tuning) 없이 제로샷(zero-shot)으로 수행합니다. 파라미터는 3억 3천만 개이고, 1조 개가 넘는 시점(time point)으로 이루어진 실측 데이터와 합성 데이터 코퍼스로 사전 학습되었습니다.

이번 글에서는 TimesFM-3가 이전 세대와 무엇이 달라졌는지, 여러 시계열을 하나의 토큰 격자로 묶는 구조가 어떻게 동작하는지, 그리고 Google Research가 공개한 세 가지 벤치마크 결과와 실제 사용 시 걸리는 제약이 무엇인지를 정리하려고 합니다. 소개 글은 Google Research의 Ayush Jain과 Rajat Sen이 썼고, Yichen Zhou, Petros Mol, Abhimanyu Das, Samet Oymak이 함께 참여한 연구입니다. 글 작성 기준으로 별도의 TimesFM-3 논문은 아직 공개되지 않았으므로, 소개 블로그와 [google-research/timesfm 저장소](https://github.com/google-research/timesfm)의 구현 코드, [Hugging Face 모델 카드](https://huggingface.co/google/timesfm-3.0-pytorch)를 함께 대조해 정리했습니다.

### 시계열 파운데이션 모델이 지금까지 남겨 둔 숙제

시계열 예측은 오랫동안 "*데이터셋 하나에 모델 하나*"의 영역이었습니다. 전력 수요에는 전력 수요용 모델을, 판매량에는 판매량용 모델을 각각 학습시키고 주기가 바뀌면 다시 학습시켰습니다. 이 관행을 흔든 것이 2024년의 [TimesFM](https://discuss.pytorch.kr/t/gn-google-timesfm/4396)입니다. Google Research는 대규모 시계열 코퍼스로 사전 학습한 디코더 전용(decoder-only) 어텐션 모델 하나가, 데이터셋마다 따로 학습한 지도 학습 모델에 근접하는 정확도를 학습 없이 낸다는 것을 [ICML 2024 논문](https://arxiv.org/abs/2310.10688)에서 보였습니다. 이후 소매, 금융, 관측 가능성(observability), 제조, 의료, 자연과학 등 여러 분야에서 시계열 파운데이션 모델이 실제 예측 업무에 들어가기 시작했습니다.

그런데 [TimesFM-2.5](https://huggingface.co/google/timesfm-2.5-200m-pytorch)까지의 모델은 엄격하게 단변량(univariate)이었습니다. 예측하려는 계열 하나의 과거값만 입력으로 받고, 그 계열의 미래만 내놓습니다. 현실의 예측 문제 대부분이 그렇지 않다는 것이 이 계열의 가장 큰 구멍이었습니다. 아이스크림 매출은 콘과 시럽 매출, 매장 방문객 수, 기온, 그리고 이미 확정된 프로모션 일정과 함께 움직이는데, 단변량 모델에는 그 정보를 넣을 자리 자체가 없습니다.

두 번째 접근은 공변량(covariate)을 모델 바깥에 붙이는 방식입니다. TimesFM 2.5는 2025년 10월 업데이트에서 XReg를 통한 공변량 지원을 되살렸는데, 이는 파운데이션 모델의 예측값을 받아 외부 회귀로 보정하는 구조입니다. 모델이 공변량과 목표 계열의 관계를 사전 학습에서 배운 것이 아니라 추론(inference) 시점에 얕게 얹는 것이라, 프로모션처럼 비선형적이고 계열별로 반응이 다른 신호를 담아내기 어렵습니다.

세 번째는 예측 구간을 만드는 방식의 문제입니다. TimesFM 1.0부터 2.5까지는 패치(patch) 단위 자기회귀(autoregressive) 디코딩을 썼습니다. 시점 묶음 하나를 예측한 뒤 그 결과를 다시 입력에 넣어 다음 묶음을 예측하는 식입니다. 예측 구간이 길어질수록 순전파 횟수가 늘어 지연이 커지고, 앞 패치의 오차가 뒤로 누적됩니다.

### 이 연구의 발상 전환: 여러 계열을 하나의 토큰 격자로

TimesFM-3의 출발점은 간단합니다. **목표 계열, 과거 공변량, 과거-미래 공변량, 그리고 아직 비어 있는 예측 구간까지 전부를 하나의 2차원 토큰 격자에 올려놓고, 어텐션(attention)이 가로세로로 훑게 하자**는 것입니다. 가로는 시간 방향이고 세로는 변량 방향입니다. 격자에 함께 올라와 있으므로 "*매장 A의 3주 전 값*"과 "*기온 계열의 같은 시점 값*"이 같은 층에서 서로를 볼 수 있습니다.

여기에 한 가지가 더 있습니다. 예측 구간에 해당하는 자리는 값이 비어 있는 마스크 토큰으로 미리 격자에 깔아 둡니다. 그러면 모델은 관측 구간과 예측 구간을 한 장의 그림으로 놓고 빈칸을 동시에 채우게 되고, 예측 구간이 아무리 길어도 순전파는 한 번이면 끝납니다. 자기회귀 루프가 사라지면서 지연과 오차 누적이라는 두 문제가 함께 정리됩니다.

Google Research가 공개한 결과에 따르면 TimesFM-3는 GIFT-Eval, fev-bench, TIME이라는 세 가지 공개 벤치마크 전부에서 점 예측과 확률 예측 양쪽 지표 모두 사전 학습 파운데이션 모델 중 평균 순위 1위를 기록했습니다. 눈여겨볼 대목은 다변량 정보를 아예 쓰지 않는 **단변량 모드** 만으로도 이미 Chronos-2, Toto 2.0, TiRex 같은 최신 경쟁 모델을 앞섰다는 점입니다.

### TimesFM 세대별 변화

지금까지의 흐름을 한 줄씩 놓고 보면 이번 릴리즈가 어디를 건드렸는지가 분명해집니다.

| 버전 | 파라미터 | 최대 컨텍스트 | 다변량과 공변량 | 예측 구간 생성 | 가중치 라이선스 |
| --- | --- | --- | --- | --- | --- |
| TimesFM 1.0 (2024) | 2억 개 | 512 시점 | 없음 | 패치 단위 자기회귀 | Apache-2.0 |
| TimesFM 2.0 | 5억 개 | 2,048 시점 | 없음 | 패치 단위 자기회귀 | Apache-2.0 |
| TimesFM 2.5 (2025년 9월) | 2억 개 | 16,384 시점 | XReg 외부 회귀로 보정 | 패치 단위 자기회귀 | Apache-2.0 |
| **TimesFM 3.0** (2026년 8월) | 3억 3천만 개 | 15,360 시점 | 사전 학습에 내장 | CPM 기반 단일 순전파 | 비상업 전용 |

2.0에서 2.5로 갈 때는 파라미터를 5억 개에서 2억 개로 줄이면서 컨텍스트를 여덟 배로 늘리고 주기 지시자(frequency indicator)를 없애는, 말하자면 단변량 예측을 더 깔끔하게 다듬는 방향이었습니다. 3.0은 그 축을 바꿔 계열 사이의 관계와 예측 구간 생성 방식을 손봤습니다.

## 모델 구조: 2차원 토큰 격자와 교차 어텐션

[![TimesFM-3의 전체 구조. 왼쪽에서 목표 계열과 공변량 계열을 32개 시점 단위의 패치로 자르고, 가운데 토큰 격자에서 가로로 인과 시간 어텐션과 세로로 전체 변량 어텐션을 차례로 적용한 뒤, 오른쪽에서 예측 구간 전체를 한 번에 출력합니다](https://discuss.pytorch.kr/uploads/default/optimized/3X/0/8/0849c7950c8dd2a792c8007252db353e2301e60f_2_1028x575.jpeg)

TimesFM-3의 전체 구조. 왼쪽에서 목표 계열과 공변량 계열을 32개 시점 단위의 패치로 자르고, 가운데 토큰 격자에서 가로로 인과 시간 어텐션과 세로로 전체 변량 어텐션을 차례로 적용한 뒤, 오른쪽에서 예측 구간 전체를 한 번에 출력합니다1999×1119 328 KB](https://discuss.pytorch.kr/uploads/default/original/3X/0/8/0849c7950c8dd2a792c8007252db353e2301e60f.jpeg "TimesFM-3의 전체 구조. 왼쪽에서 목표 계열과 공변량 계열을 32개 시점 단위의 패치로 자르고, 가운데 토큰 격자에서 가로로 인과 시간 어텐션과 세로로 전체 변량 어텐션을 차례로 적용한 뒤, 오른쪽에서 예측 구간 전체를 한 번에 출력합니다")

TimesFM-3는 이전 세대와 마찬가지로 디코더 전용 [트랜스포머(transformer)](https://research.google/blog/transformer-a-novel-neural-network-architecture-for-language-understanding/) 계열입니다. Hugging Face 모델 카드에 적힌 구조 이름은 *Stacked Mixing Transformer with Variate Attention and CPM Iterative RevIN* 이며, 공개된 `config.json` 기준으로 층 20개, 모델 차원 1280, 헤드 16개이며, 정규화(normalization)는 RMSNorm을 쓰고 어텐션의 쿼리와 키에도 같은 정규화를 겁니다. 최대 컨텍스트는 구현 코드의 `_MAX_CONTEXT_LENGTH` 기준 15,360개 시점입니다.

### 패치와 토큰 만들기: 목표 계열과 두 종류의 공변량

TimesFM-3에 들어가는 계열은 세 종류입니다: **목표 계열(target)** 은 우리가 예측하고 싶은 값이고, **과거 공변량(past-only covariates)** 은 과거값만 알 수 있는 보조 신호(예: 지난 매장 방문객 수), **과거-미래 공변량(past-future covariates)** 은 미래값까지 이미 확정된 신호(예: 확정된 프로모션 일정, 공휴일, 일기 예보)입니다. 저장소 API에서는 각각 `contexts`, `past_only_covariates`, `past_future_covariates` 인자로 전달합니다.

세 종류 모두 32개 시점을 한 패치로 묶는 방식은 같지만, 토큰에 담기는 내용이 다릅니다. 목표 계열과 과거 공변량은 패치 하나가 그대로 토큰 하나가 됩니다. 반면 과거-미래 공변량은 **선행 참조(lookahead)** 방식을 씁니다. 위 구조도 아래쪽 수식이 보여주듯 i 번째 토큰이 [p\_i \mid p\_{i+1} \mid p\_{i+2}] 처럼 현재 패치에 뒤따르는 두 패치를 이어 붙인 형태가 되어, 그 시점의 토큰이 앞으로 다가올 신호를 미리 들여다봅니다.

구현을 열어 보면 이 구분이 토큰 형식이 아니라 마스크로 처리됩니다. 모든 계열의 토큰은 현재 패치 32개 값 뒤에 뒤따르는 64개 값을 이어 붙이고 같은 길이의 결측 마스크를 덧댄 2 \times (32 + 64) = 192 차원으로 똑같이 만들어지는데, 목표 계열과 과거 공변량은 뒤쪽 64개 자리가 통째로 마스킹되어 0으로 채워집니다. 계열 종류마다 다른 입력 경로를 두지 않고 하나의 잔차 블록(residual block)이 전부를 1280차원 임베딩으로 올릴 수 있는 이유입니다.

계열마다 규모가 크게 다르다는 문제는 TimesFM 2.5와 같은 방식의 계열별 정규화로 처리합니다. 여기에 TimesFM-3는 선형 추세 제거를 추가로 켜 두었습니다(`use_linear_detrending`). 다만 무조건 빼지는 않고, 최소제곱으로 구한 직선을 뺐을 때 표준편차가 원래 값의 0.5 배 미만으로 줄어들 때만 적용합니다. 추세가 실제로 신호를 지배할 때만 떼어내고, 그렇지 않으면 원래 값을 그대로 두는 보수적인 기준입니다.

### 시간축 인과 어텐션과 변량축 전체 어텐션

토큰이 만들어지면 입력 잔차 블록을 거쳐 트랜스포머 스택으로 들어갑니다. 이 스택은 (b, v, n, d) 형태의 4차원 텐서, 즉 배치 \times 변량 \times 시간 \times 임베딩으로 동작하며, 각 층 안에서 어텐션을 두 번 적용합니다.

첫 번째는 **인과 시간 어텐션(causal temporal attention)** 입니다. 텐서를 (b \cdot v, n, d) 로 펴서 시간 방향으로만 어텐션을 겁니다. 여기에는 인과 마스크가 걸려 있어 각 토큰이 **자기 계열의 과거 토큰만** 볼 수 있습니다. 미래 정보가 새는 것을 막는 장치이고, 회전 위치 임베딩(RoPE)도 이 축에만 적용됩니다.

두 번째는 **전체 변량 어텐션(full variate attention)** 입니다. 같은 텐서를 (b \cdot n, v, d) 로 다시 펴서, 같은 시점에 놓인 모든 계열의 토큰이 서로를 보게 합니다. 인과 마스크는 걸지 않습니다(`causal_attention=False`). 프로모션이 걸린 계열이 다른 계열의 매출을 끌어올리는 것 같은 계열 간 상관을 모델이 여기서 학습합니다.

구현 코드에서 확인할 수 있는 설계 결정이 하나 더 있습니다. 변량축에는 회전 위치 임베딩을 쓰지 않습니다(`use_rope_var: false`). 시간축과 달리 변량에는 "*몇 번째 계열*"이라는 자연스러운 순서가 없으므로, 위치 정보를 주지 않아 입력 계열을 넣는 순서가 결과에 영향을 주지 않게 한 것입니다. 사용자가 목표 계열과 공변량을 어떤 순서로 배열하든 같은 예측이 나온다는 뜻이라, 실무에서 신경 쓸 거리 하나가 줄어듭니다.

두 어텐션과 피드포워드 블록이 한 층을 이루고, 이 층이 20번 쌓입니다. 비용 측면에서 보면 시간 어텐션은 계열 하나당 토큰 수에 대해, 변량 어텐션은 시점 하나당 계열 수 V 에 대해 O(V^2) 로 늘어납니다. 그래서 한 번의 순전파에 올리는 계열 수에 실질적인 상한이 생기는데, 저장소의 벤치마크 평가 경로는 이 값을 `_MAX_VARIATES_PER_FORWARD = 32` 로 잡아 두었습니다. 모델 설정에도 `max_variates: 32` 항목이 있지만 현재 코드에서 이 값을 참조하는 곳은 없으므로, 32는 모델이 강제하는 한계라기보다 저자들이 평가에 쓴 예산으로 보는 편이 맞습니다.

### 비자기회귀 디코딩: 예측 구간을 한 번에 채우기

TimesFM-3가 예측 구간을 만드는 방식은 **Contiguous Patch Masking(CPM)** 입니다. 이 이름은 Google Research가 처음 만든 것이 아니라, NXAI와 요하네스 케플러 대학 연구진이 xLSTM 기반 시계열 모델을 제안한 [TiRex 논문](https://arxiv.org/abs/2505.23719)에서 학습 시점 마스킹 전략으로 도입한 것입니다. Google Research는 이 전략을 TimesFM-3의 디코딩에 가져다 썼습니다.

동작은 이렇습니다. 관측된 컨텍스트 뒤에 예측 구간 길이만큼 마스크 토큰을 이어 붙입니다. 목표 계열과 과거 공변량은 미래값을 모르므로 예측 구간 전체가 마스킹되고, 과거-미래 공변량은 값이 그대로 남아 공휴일이나 예정된 행사 같은 확정 신호를 계속 제공합니다. 이 상태로 교차 어텐션 층을 통과시키면 마스킹된 예측 구간 패치들이 **동시에** 채워집니다. 구현 코드의 `decode()` 를 따라가 보면 예측 구간 길이와 무관하게 `self.forward(...)` 를 정확히 한 번만 호출하고, 반복 루프가 없습니다.

출력은 목표 계열마다, 예측 구간의 각 시점마다 9개 분위수(quantile)입니다. 0.1 부터 0.9 까지 0.1 간격이고, 가운데의 0.5 분위수를 점 예측값으로 씁니다. 점 하나가 아니라 분포를 통째로 내놓으므로 예측 불확실성을 그대로 읽을 수 있습니다.

### RevIN 통계를 되짚어 보정하는 반복 정제

여기서 미묘한 문제가 하나 생깁니다. TimesFM-3는 RevIN 계열의 역변환 가능한 정규화를 쓰는데, 이 정규화는 각 패치 위치까지 관측된 값들의 누적 평균 \mu 와 표준편차 \sigma 를 사용합니다. 그런데 예측 구간에는 관측값이 없습니다. 그대로 두면 컨텍스트의 마지막 패치에서 얻은 통계가 예측 구간 끝까지 얼어붙은 채로 쓰이게 되고, 예측 구간이 길수록 실제 수준과 어긋납니다.

`cpm_revin_refine.py` 에 들어 있는 **반복 RevIN 정제(iterative CPM RevIN)** 가 이 자리를 메웁니다. 예측 구간의 각 마스크 위치 p 에 대해, 얼어붙은 통계 대신 p 앞에 놓인 마스크 패치들에 대한 **모델 자신의 중앙값 추정치** 를 함께 반영한 통계로 바꿔 넣습니다. 예측을 두 번 실행하는 것이 아니라, 같은 순전파에서 나온 원시 로짓의 중앙값 분위수를 앞에서부터 훑으며 누적 통계를 갱신하는 방식이라 추가 순전파 비용이 들지 않습니다.

### 예측 구간을 이어 붙이는 스티칭과 부호 대칭 평균

TimesFM-3의 입력 패치 길이는 32인데 출력 패치 길이는 64입니다. 즉 토큰 하나가 64개 시점을 예측하는데 토큰은 32개 시점씩 전진하므로, 이웃한 두 토큰의 예측이 32개 시점만큼 겹칩니다. 구현의 `stitch_patches()` 는 이 겹치는 구간을 버리지 않고 가중치를 1 에서 0 으로 선형 변화시키며 두 예측을 섞습니다. 패치 경계에서 예측선이 툭 끊기는 현상을 막는 장치입니다.

벤치마크 평가에서 기본으로 켜지는 옵션 하나가 더 있습니다. **부호 대칭 평균(symmetric averaging)** 은 같은 입력을 원본 x 와 부호를 뒤집은 -x 로 두 번 넣고 결과를 합치는 추론 시점 증강입니다. 이때 단순 평균이 아니라 분위수 순서를 뒤집어서 섞는데, -x 의 q 분위수가 x 의 1-q 분위수에 대응하기 때문입니다. 정확도를 조금 더 끌어올리는 대신 순전파를 두 번 하게 되므로, 실제 서비스에서는 켜고 끌 수 있는 선택지로 남아 있습니다(`use_symmetric_averaging`).

### 사전 학습에 쓴 데이터

Hugging Face 모델 카드가 밝힌 사전 학습 코퍼스는 네 갈래입니다: GIFT-Eval의 사전 학습용 데이터셋 모음인 GiftEvalPretrain, 2023년 11월까지의 Wikipedia 페이지뷰, 2022년 말까지의 Google Trends 상위 질의, 그리고 합성 및 증강 데이터입니다. 전체 규모가 1조 개가 넘는 시점이라는 것이 블로그의 설명입니다.

여기서 GiftEvalPretrain에는 조건이 하나 걸려 있습니다: **fev-bench와 겹치는 데이터셋을 제외** 하고 학습했습니다. 시계열 파운데이션 모델의 제로샷 성능을 두고 늘 따라붙는 의심이 "*평가 데이터가 학습 코퍼스에 이미 들어 있던 것 아닌가*"인데, 이번에는 개발사가 그 경로를 먼저 끊어 두고 결과를 냈습니다. 참고로 fev-bench 공개 리더보드는 TimesFM-2.5에 대해 학습 코퍼스 중복 0.1 을, Moirai-2.0에 대해 0.28 을 표시하고 있습니다.

Wikipedia 페이지뷰와 Google Trends를 코퍼스에 넣은 이유도 짐작할 만합니다. 둘 다 사람의 관심이 만드는 계열이라 주간과 연간 주기, 급격한 스파이크, 검색 유행처럼 시간이 지나면 사라지는 패턴을 폭넓게 담고 있습니다. 다만 두 소스 모두 컷오프가 2022년 말과 2023년 11월이라, 그 이후에 새로 생긴 유형의 계열은 사전 학습 분포 바깥에 있다는 점은 감안해야 합니다.

## 다변량 예측이 실제로 바꾸는 것

구조 이야기를 실제 예측 그림으로 옮겨 보겠습니다. Google Research가 블로그에 실은 예시는 아이스크림 일별 판매량입니다.

[![아이스크림 일별 판매량 예측 비교 그래프. 회색 실선은 관측된 판매량, 빨간 선은 단변량 예측, 파란 선은 프로모션 일정을 과거-미래 공변량으로 넣은 다변량 예측이며, 아래쪽 주황 막대는 프로모션이 걸린 날을 표시합니다](https://discuss.pytorch.kr/uploads/default/original/3X/8/a/8ae5b19b2069bc3f268417943ed83999b20acfcd.png)

아이스크림 일별 판매량 예측 비교 그래프. 회색 실선은 관측된 판매량, 빨간 선은 단변량 예측, 파란 선은 프로모션 일정을 과거-미래 공변량으로 넣은 다변량 예측이며, 아래쪽 주황 막대는 프로모션이 걸린 날을 표시합니다968×534 95.7 KB](https://discuss.pytorch.kr/uploads/default/original/3X/8/a/8ae5b19b2069bc3f268417943ed83999b20acfcd.png "아이스크림 일별 판매량 예측 비교 그래프. 회색 실선은 관측된 판매량, 빨간 선은 단변량 예측, 파란 선은 프로모션 일정을 과거-미래 공변량으로 넣은 다변량 예측이며, 아래쪽 주황 막대는 프로모션이 걸린 날을 표시합니다")

빨간 선은 과거 판매량만 보고 주간 주기를 그대로 연장한 단변량 예측입니다. 앞으로 어떤 날에 행사가 잡혀 있는지 알 방법이 없으니 예측선이 매끈하게 흘러갑니다. 파란 선은 같은 모델에 프로모션 일정을 과거-미래 공변량으로 넣은 다변량 예측입니다. 모델은 컨텍스트 구간에서 "*프로모션이 걸린 날에는 판매량이 뛴다*"는 관계를 읽어낸 뒤, 미래의 프로모션 예정일마다 그 관계를 적용합니다. Google Research는 이 예시에서 다변량 예측이 프로모션 당일마다 약 20\% 의 매출 증가를 미리 반영한다고 설명합니다. 한 달치를 합치면 매출 전망의 차이가 상당히 벌어집니다.

이 차이가 왜 중요한지는 벤치마크 구성을 보면 더 분명해집니다. 저장소에 공개된 평가 결과 파일 기준으로 fev-bench의 100개 과제 중 30개에 미래값을 아는 동적 공변량이, 24개에 과거값만 아는 동적 공변량이, 19개에 정적 속성이 포함되어 있습니다. GIFT-Eval도 97개 데이터셋 설정 중 43개가 다변량입니다. 단변량 전용 모델은 이 정보를 통째로 버리고 예측해 왔던 셈입니다.

## 실험 결과: 세 가지 벤치마크

Google Research는 TimesFM-3를 세 가지 공개 예측 벤치마크에서 평가했습니다. 비교 대상에는 다변량을 지원하는 Chronos-2와 Toto 2.0 계열, TiRex 계열, 그리고 이전 세대인 TimesFM-2.5가 포함되었습니다. 세 벤치마크를 짧게 정리하면 다음과 같습니다.

**[GIFT-Eval](https://huggingface.co/spaces/Salesforce/GIFT-Eval)** 은 Salesforce가 공개한 범용 예측 평가 모음입니다. 저장소에 함께 올라온 TimesFM-3 평가 결과 파일 기준으로 97개 데이터셋 설정이 들어 있고, 에너지 32개, 웹과 클라우드 운영 20개, 자연 15개, 교통 15개, 경제와 금융 6개, 의료 5개, 소매 4개로 도메인이 흩어져 있습니다. 시간 해상도도 10초 간격부터 연 단위까지 걸쳐 있어, 특정 주기에 맞춰 튜닝한 모델이 유리해지지 않도록 설계되어 있습니다.

**[fev-bench](https://huggingface.co/spaces/autogluon/fev-bench)** 는 AutoGluon 팀이 만든 실제 예측 과제 100개짜리 모음으로, 승률(win rate)과 계절성 나이브 대비 기술 점수(skill score)로 순위를 매깁니다. 앞서 언급했듯 미래를 아는 동적 공변량이 붙은 과제가 30개, 과거만 아는 동적 공변량이 24개, 정적 속성이 19개 포함되어 있어 다변량 모델을 평가하기에 특히 적합합니다. 예측 구간 길이도 5시점부터 288시점까지 다양합니다.

**[TIME 벤치마크](https://huggingface.co/spaces/Real-TSF/TIME-leaderboard)** 는 ICML 2026에 발표된 [It's TIME 논문](https://arxiv.org/abs/2602.12147)에서 나온 평가로, 실제 운영 요건에 맞춰 설정을 잡은 50개 데이터셋과 98개 예측 과제로 구성됩니다. 제로샷 시계열 파운데이션 모델 평가를 겨냥해 새로 모은 데이터를 쓰고, 윈도우 단위 예측 결과까지 공개 저장소에 남겨 둡니다.

아래 세 그림은 각 벤치마크에서 과제별 순위를 평균한 값으로, 가로축이 점 예측 평균 순위, 세로축이 확률 예측 평균 순위이며 두 축 모두 **낮을수록 좋습니다**. 원의 크기는 모델 파라미터 수입니다. Google Research는 그림 설명에서 비교 대상을 재현 가능한(replicable) 시계열 파운데이션 모델로 한정했다고 밝히고 있습니다.

[![GIFT-Eval 벤치마크 산점도. 가로축은 점 예측 평균 순위, 세로축은 확률 예측 평균 순위이며 TimesFM-3와 그 단변량 모드가 왼쪽 아래 구석에 다른 모델들과 크게 떨어져 위치합니다](https://discuss.pytorch.kr/uploads/default/optimized/3X/6/8/6847b787351658f88f794fdfdc2243d6fae4c585_2_1028x752.jpeg)

GIFT-Eval 벤치마크 산점도. 가로축은 점 예측 평균 순위, 세로축은 확률 예측 평균 순위이며 TimesFM-3와 그 단변량 모드가 왼쪽 아래 구석에 다른 모델들과 크게 떨어져 위치합니다1999×1463 191 KB](https://discuss.pytorch.kr/uploads/default/original/3X/6/8/6847b787351658f88f794fdfdc2243d6fae4c585.jpeg "GIFT-Eval 벤치마크 산점도. 가로축은 점 예측 평균 순위, 세로축은 확률 예측 평균 순위이며 TimesFM-3와 그 단변량 모드가 왼쪽 아래 구석에 다른 모델들과 크게 떨어져 위치합니다")

[![fev-bench 벤치마크 산점도. TimesFM-3가 가장 왼쪽 아래에 있고 TimesFM-3 단변량 모드와 Chronos-2가 그 다음, Toto-2.0-2.5B와 TiRex-2가 중간에 위치합니다](https://discuss.pytorch.kr/uploads/default/optimized/3X/1/2/12c9f11edbfc18e3eb68bb63778cf7f5732d5fbd_2_1028x682.jpeg)

fev-bench 벤치마크 산점도. TimesFM-3가 가장 왼쪽 아래에 있고 TimesFM-3 단변량 모드와 Chronos-2가 그 다음, Toto-2.0-2.5B와 TiRex-2가 중간에 위치합니다1999×1328 169 KB](https://discuss.pytorch.kr/uploads/default/original/3X/1/2/12c9f11edbfc18e3eb68bb63778cf7f5732d5fbd.jpeg "fev-bench 벤치마크 산점도. TimesFM-3가 가장 왼쪽 아래에 있고 TimesFM-3 단변량 모드와 Chronos-2가 그 다음, Toto-2.0-2.5B와 TiRex-2가 중간에 위치합니다")

[![TIME 벤치마크 산점도. TimesFM-3가 가장 왼쪽 아래에 있고 단변량 모드, Toto-2.0-2.5B, Toto-2.0-313m 순으로 이어집니다](https://discuss.pytorch.kr/uploads/default/optimized/3X/7/8/7826d5041d0a5e5cdcd54ac3f58995ba23351a65_2_1028x682.jpeg)

TIME 벤치마크 산점도. TimesFM-3가 가장 왼쪽 아래에 있고 단변량 모드, Toto-2.0-2.5B, Toto-2.0-313m 순으로 이어집니다1999×1328 195 KB](https://discuss.pytorch.kr/uploads/default/original/3X/7/8/7826d5041d0a5e5cdcd54ac3f58995ba23351a65.jpeg "TIME 벤치마크 산점도. TimesFM-3가 가장 왼쪽 아래에 있고 단변량 모드, Toto-2.0-2.5B, Toto-2.0-313m 순으로 이어집니다")

Google Research가 자체적으로 측정해 공개한 이 산점도에서 읽히는 위치를 정리하면 다음과 같습니다.

| 벤치마크 | TimesFM-3 (다변량) | TimesFM-3 (단변량 모드) | 가장 근접한 다른 모델 |
| --- | --- | --- | --- |
| GIFT-Eval | 점 약 22 / 확률 약 21 | 점 약 26 / 확률 약 25 | TiRex-2-Pretrained (점 약 35 / 확률 약 34) |
| fev-bench | 점 약 4.9 / 확률 약 4.2 | 점 약 6.2 / 확률 약 5.5 | Chronos-2 (점 약 6.4 / 확률 약 5.6) |
| TIME | 점 약 4.8 / 확률 약 4.2 | 점 약 5.4 / 확률 약 5.3 | Toto-2.0-2.5B (점 약 6.0 / 확률 약 5.8) |

GIFT-Eval의 순위 값만 유독 큰 것은 이 리더보드에 파운데이션 모델뿐 아니라 `auto_arima`, `seasonal_naive` 같은 통계 기법과 PatchTST, DeepAR 같은 지도 학습 모델까지 함께 올라와 비교 대상 수 자체가 많기 때문입니다. 벤치마크 사이의 절대값을 비교하기보다는 같은 그림 안에서의 거리를 보는 편이 맞습니다.

### 단변량 모드만으로도 앞선다

세 그림에서 공통으로 나타나는 것은 TimesFM-3 점 두 개의 위치 관계입니다. **단변량 모드** 는 공변량도 계열 간 정보도 전혀 쓰지 않고 각 계열을 독립적으로 예측한 결과인데, 이 상태로도 이미 Chronos-2, Toto 2.0 계열, TiRex 계열보다 앞쪽에 놓입니다. 다변량 구조가 단변량 성능을 희생하고 얻은 것이 아니라는 뜻이고, 계열 하나만 예측하면 되는 기존 워크플로에서도 2.5에서 3.0으로 갈아탈 이유가 생깁니다.

이전 세대와의 격차도 눈에 띕니다. TimesFM-2.5는 세 그림 모두에서 오른쪽 위, 즉 하위권에 자리합니다. fev-bench에서 TimesFM-2.5는 확률 예측 평균 순위 약 9.4로 비교 대상 중 가장 뒤였는데, 같은 그림에서 TimesFM-3는 약 4.2입니다. 파라미터를 2억 개에서 3억 3천만 개로 늘린 것만으로 설명되기 어려운 폭이고, 사전 학습 코퍼스와 디코딩 방식이 함께 바뀐 결과로 보는 편이 자연스럽습니다.

### 다변량 모드에서 한 번 더

단변량 모드에서 다변량 모드로 전환하면 세 벤치마크 모두에서 점이 왼쪽 아래로 한 칸 더 이동합니다. fev-bench에서는 점 예측 평균 순위가 약 6.2에서 약 4.9로, 확률 예측이 약 5.5에서 약 4.2로 내려갑니다. 앞서 본 것처럼 fev-bench 과제 100개 중 공변량이 포함된 것은 절반 남짓이므로, 공변량이 있는 과제에서의 개선 폭은 이 평균보다 더 클 것으로 짐작할 수 있습니다.

확률 예측 지표에서의 순위가 점 예측보다 더 좋다는 점도 함께 볼 만합니다. 9개 분위수를 직접 출력하는 구조가 여기에 기여한 것으로 보이는데, 다만 순위가 좋다는 것과 예측 구간이 실제 확률을 제대로 반영한다(보정, calibration)는 것은 다른 이야기입니다. 시계열 파운데이션 모델의 보정 문제만 따로 다룬 연구는 [정확도 너머에: 시계열 파운데이션 모델이 잘 보정되어 있는지에 대한 연구](https://discuss.pytorch.kr/t/tsfm-calibration-feat-iclr-2026/10485)에 정리해 두었습니다.

### 공개 리더보드 원시 결과로 다시 확인한 수치

위 순위는 모두 Google Research가 직접 집계한 값입니다. 세 벤치마크 중 GIFT-Eval과 TIME은 과제별 원시 결과가 공개 리더보드 쪽에 올라와 있어, 같은 수치를 리더보드 자체의 집계 방식으로 다시 계산해 볼 수 있습니다.

GIFT-Eval 리더보드는 각 데이터셋 설정에서 계절성 나이브(Seasonal Naive) 대비 비율을 구한 뒤 전체 데이터셋에 대해 기하평균을 냅니다. 지표는 점 예측 정확도를 보는 MASE(Mean Absolute Scaled Error)와 분위수 예측 품질을 보는 CRPS(Continuous Ranked Probability Score) 두 가지입니다. 아래는 그 방식으로 97개 데이터셋 설정을 집계한 값이고, 두 지표 모두 낮을수록 좋습니다 (2026년 9월 2일 기준).

| 모델 | 정규화 MASE | 정규화 CRPS | 제출 유형 |
| --- | --- | --- | --- |
| STRIDE (+Chronos-2) | 0.675 | 0.454 | Chronos-2를 감싼 시스템 |
| **TimesFM-3** | 0.667 | 0.456 | 제로샷 |
| EXAONE-Forecast | 0.673 | 0.460 | 제로샷 |
| TiRex-2-Pretrained | 0.678 | 0.467 | 사전 학습 |
| Toto-2.0-2.5B | 0.696 | 0.476 | 사전 학습 |
| Chronos-2 | 0.698 | 0.485 | 사전 학습 |
| TimesFM-2.5 | 0.705 | 0.490 | 사전 학습 |
| Seasonal Naive | 1.000 | 1.000 | 기준선 |

정규화 MASE에서는 TimesFM-3가 이 목록에서 가장 낮고, 정규화 CRPS에서는 Chronos-2를 감싼 Google Cloud AI Research의 STRIDE 제출물이 0.3\% 차이로 앞섭니다. 파운데이션 모델을 단독으로 놓고 비교하는 한 블로그의 순위와 어긋나는 곳은 없습니다. 이전 세대와의 격차도 같은 방식으로 확인됩니다: 정규화 CRPS가 TimesFM-2.5의 0.490 에서 TimesFM-3의 0.456 으로 내려갑니다.

TIME은 집계 방식이 다릅니다. 과제(데이터셋, 주기, 예측 구간 길이의 조합)마다 모델 순위를 매긴 뒤 그 순위를 평균합니다. 공개 결과 저장소인 `Real-TSF/TIME-Output` 에 올라온 26개 모델의 과제별 지표를 같은 방식으로 집계하면 다음과 같습니다 (98개 과제 전체, 낮을수록 좋음).

| 모델 | MASE 평균 순위 | CRPS 평균 순위 |
| --- | --- | --- |
| **TimesFM-3** | 4.48 | 4.03 |
| Toto-2.0-2.5B | 5.69 | 5.56 |
| Toto-2.0-313m | 6.15 | 6.15 |
| Toto-2.0-1B | 6.22 | 6.65 |
| Chronos-2 | 7.92 | 8.01 |
| PatchTST-FM-Extended | 7.87 | 8.50 |
| TimesFM-2.5 | 9.86 | 11.03 |
| TiRex | 11.63 | 11.53 |
| Seasonal Naive | 24.70 | 25.52 |

이쪽에는 에이전트형 제출물이 없어 TimesFM-3가 두 지표 모두 1위이고, 블로그 주장과 어긋나지 않습니다. 앞의 산점도는 이보다 좁은 비교 대상 안에서 순위를 낸 것이라 순위 값 자체는 조금 다르게 나오지만, 모델 사이의 순서는 같습니다. 세대 간 격차는 GIFT-Eval보다 오히려 크게 나타납니다: CRPS 평균 순위가 TimesFM-2.5의 11.03 에서 TimesFM-3의 4.03 으로 내려갑니다. 이 저장소에 남아 있는 TimesFM-3 실행 설정에는 컨텍스트 길이 15,360과 `use_variate_attention: true` 가 기록되어 있어, 앞에서 정리한 다변량 모드로 측정한 값임을 확인할 수 있습니다.

다만 리더보드 전체를 놓고 보면 그림이 조금 다릅니다. 126개 엔트리 가운데 TimesFM-3는 정규화 CRPS 기준 11위인데, 위에 있는 열 개는 전부 에이전트형 시스템, LoRA로 미세조정한 모델, 다른 파운데이션 모델을 감싼 앙상블입니다. 그중 하나는 제출 정보에 테스트 데이터 유출을 스스로 표시해 두기도 했습니다. 즉 "*파운데이션 모델 하나를 그대로 썼을 때 가장 정확한 모델*"이라는 것과 "*이 벤치마크에서 가장 좋은 예측을 얻는 방법*"은 아직 같지 않습니다. 예측 시스템을 설계하는 입장이라면 TimesFM-3를 최종 답이 아니라 라우팅이나 앙상블을 얹을 출발점으로 보는 편이 실제에 가깝습니다.

## 설치 및 사용 방법

TimesFM-3는 저장소의 `timesfm3` 패키지로 제공되며, 가중치는 Hugging Face Hub의 `google/timesfm-3.0-pytorch` 에서 자동으로 내려받습니다.

```
# PyTorch 백엔드와 함께 설치
pip install timesfm[torch]
```

`timesfm3` 모듈은 PyPI의 `timesfm` 3.0.0 배포부터 들어 있습니다. 이전 버전이 깔려 있다면 `--upgrade` 를 붙여야 합니다.

저장소를 직접 받아 편집 가능 모드로 설치하려면 다음과 같이 합니다.

```
git clone https://github.com/google-research/timesfm.git
cd timesfm

uv venv
source .venv/bin/activate
uv pip install -e .[torch]
```

저장소는 진입점을 두 가지로 둡니다: 일반 사용에는 `TimesFM3Forecaster`, 벤치마크 재현에는 그 하위 클래스인 `TimesFM3Evaluator` 입니다. Evaluator는 분위수 반환과 부호 대칭 평균을 기본으로 켜고 계열이 32개를 넘으면 자동으로 나눠 처리합니다. 아래 예시는 저장소 README를 따라 Evaluator를 씁니다.

단변량 예측은 길이가 서로 다른 1차원 배열들을 그대로 넘기면 됩니다.

```
import numpy as np
from timesfm3 import TimesFM3Evaluator, ModelConfig

config = ModelConfig(
    checkpoint_path="google/timesfm-3.0-pytorch",
    per_core_batch_size=32,
    device="cuda",
)
forecaster = TimesFM3Evaluator(config)

# 길이가 다른 두 계열 (100, 72 시점)
ts1 = np.linspace(0, 1, 100).astype(np.float32)
ts2 = np.sin(np.linspace(0, 24, 72)).astype(np.float32)

outputs = list(
    forecaster.predict_batch(
        [ts1, ts2], horizon=12, return_quantiles=True, use_symmetric_averaging=False
    )
)

print("계열 1 점 예측:", outputs[0].forecast.shape)    # (12,)
print("계열 1 분위수:", outputs[0].quantiles.shape)    # (12, 9)
```

다변량 예측은 `(변량 수, 컨텍스트 길이)` 형태의 2차원 배열을 목표 계열로 넘기고, 공변량을 종류별로 따로 전달합니다. 과거-미래 공변량은 컨텍스트와 예측 구간을 합친 길이여야 합니다.

```
context_len = 128
horizon = 24

# 목표 계열 3개: (3, 128)
target = np.random.randn(3, context_len).astype(np.float32)

# 과거값만 아는 공변량 1개: (1, 128)
past_only_cov = np.random.randn(1, context_len).astype(np.float32)

# 미래값까지 아는 공변량 2개: (2, 128 + 24)
past_future_cov = np.random.randn(2, context_len + horizon).astype(np.float32)

outputs = list(
    forecaster.predict_batch(
        contexts=[target],
        horizon=horizon,
        past_only_covariates=[past_only_cov],
        past_future_covariates=[past_future_cov],
        return_quantiles=True,
        use_symmetric_averaging=False,
    )
)

print("다변량 점 예측:", outputs[0].forecast.shape)     # (3, 24)
print("다변량 분위수:", outputs[0].quantiles.shape)     # (3, 24, 9)
```

저장소에는 세 벤치마크의 재현 스크립트와 노트북(`timesfm3-usage/benchmarks/`), 그리고 위 프로모션 예시를 직접 돌려 볼 수 있는 [데모 노트북](https://github.com/google-research/timesfm/blob/master/timesfm3-usage/notebooks/promotion_and_synthetic_parity_demo.ipynb)이 함께 들어 있습니다. Google Cloud 쪽에서는 TimesFM-3의 BigQuery 연동이 몇 주 안에 붙을 예정이며, 그전까지는 단변량 과제에 한해 [AI.FORECAST](https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/bigqueryml-syntax-ai-forecast) 명령으로 TimesFM 2.5를 쓸 수 있습니다. TimesFM 계열은 이미 [BigQuery ML](https://cloud.google.com/bigquery/docs/timesfm-model), [Connected Sheets](https://workspaceupdates.googleblog.com/2026/02/forecast-data-in-connected-sheets-BigQueryML-TimesFM.html), Vertex AI Model Garden에 들어가 있어 직접 서빙하지 않고 쓰는 경로도 있고, 저장소에는 에이전트가 TimesFM을 다루도록 안내하는 `AGENTS.md` 와 `timesfm-forecasting/SKILL.md` 도 함께 들어 있습니다. 다만 이 세 경로와 스킬 문서는 아직 3.0이 아니라 이전 버전을 대상으로 합니다.

## 한계점과 도입 전에 확인할 것

**가중치 라이선스가 비상업으로 바뀌었습니다.** 이번 릴리즈에서 실무자에게 가장 큰 변화입니다. 저장소의 소스 코드는 여전히 Apache-2.0이고 2.5까지의 가중치도 Apache-2.0으로 남아 있지만, TimesFM 3.0 사전 학습 가중치는 별도의 `timesfm-non-commercial-license-v1.0` 아래 배포되며 비상업, 비프로덕션 용도로 제한됩니다. Google Research는 기본 사전 학습 가중치의 상업적 사용과 프로덕션 사용이 허용되지 않는다고 저장소 README에 명시했습니다. 사내 예측 파이프라인에 그대로 얹으려던 경우라면 2.5를 쓰거나 별도 라이선스를 확인해야 합니다. 자체 데이터로 적응시키는 쪽도 사정이 비슷합니다. 저장소의 LoRA 미세조정 예제는 Transformers에 올라와 있는 2.5(`TimesFm2_5ModelForPrediction`)를 대상으로 하고, 3.0은 아직 `timesfm3` 패키지로만 배포되어 같은 PEFT(Parameter-Efficient Fine-Tuning) 경로를 쓸 수 없습니다.

**계열이 32개를 넘으면 격자가 쪼개집니다.** 저장소의 평가 경로인 `TimesFM3Evaluator` 는 목표 계열과 공변량을 합쳐 32개를 넘으면 자동으로 나눠 처리합니다. 자리를 차지하는 순서가 정해져 있는데, 공변량이 먼저 최대 31개까지 가져가고 남는 자리를 목표 계열이 나눠 씁니다. 공변량이 그보다 많으면 **고정 시드로 무작위 부분 표집** 되고, 목표 계열은 남은 자리 수만큼 청크로 잘려 청크마다 따로 순전파합니다. 서로 다른 청크에 들어간 목표 계열은 변량 어텐션에서 끝내 만나지 못하므로, 계열 수백 개가 얽힌 문제에서는 다변량으로 얻으려던 이점 상당 부분이 청크 경계 바깥으로 나갑니다. 기본 `TimesFM3Forecaster` 에는 이런 상한이 없어 더 많은 계열을 그대로 넣을 수는 있지만, 변량 어텐션 비용이 O(V^2) 이고 저자들이 평가한 범위를 벗어난다는 점은 감안해야 합니다. 중요한 공변량은 직접 골라 예산 안에 넣는 편이 안전합니다.

**fev-bench 수치만 외부에서 대조하기 어렵습니다.** 세 벤치마크의 평균 순위는 모두 Google Research가 직접 집계해 블로그에 실은 값입니다. GIFT-Eval과 TIME은 앞 절처럼 공개된 과제별 원시 결과로 대조할 수 있고, GIFT-Eval 제출 정보에는 재현 코드 공개와 테스트 데이터 유출 없음까지 표시되어 있습니다. 반면 fev-bench 공개 리더보드에는 글 작성 시점까지 TimesFM-3가 올라오지 않았습니다. Hugging Face 모델 카드에 사전 학습 데이터를 밝히면서 *GiftEvalPretrain에서 fev-bench와 겹치는 데이터셋을 제외* 했다고 적어 둔 점이 그래서 더 눈여겨볼 만합니다. 공개 리더보드가 TimesFM-2.5에 대해 학습 코퍼스 중복 0.1 을 표시하고 있는 것과 대비되는 조치입니다.

**기술 보고서가 아직 없습니다.** 사전 학습 코퍼스의 구성(Wikipedia 페이지뷰는 2023년 11월, Google Trends 상위 질의는 2022년 말 기준)과 합성 데이터 생성 방식은 모델 카드가 "*논문 참고*"로 넘기고 있는데, 정작 TimesFM-3 논문은 아직 공개되지 않았습니다. 학습 데이터와 평가 과제 사이의 오염 여부를 외부에서 검증하기 어려운 상태이므로, 도입을 검토한다면 자기 데이터로 직접 백테스트해 보는 절차를 건너뛰지 않는 편이 좋습니다.

**컨텍스트 길이는 오히려 줄었습니다.** TimesFM 2.5가 최대 16k 시점을 받던 것과 비교하면 TimesFM-3의 15,360 시점은 소폭 짧습니다. 다변량 격자를 쓰면서 시간축과 변량축을 함께 감당해야 하므로 자연스러운 선택이지만, 아주 긴 단일 계열을 통째로 넣던 사용 방식이라면 확인이 필요합니다.

이런 제약을 감안하더라도 TimesFM-3가 짚은 방향은 분명합니다. 시계열 파운데이션 모델의 첫 세대는 "*계열 하나를 얼마나 잘 이어 그릴 수 있는가*"를 겨뤘고, 그 경쟁은 사실상 포화 상태에 가까워졌습니다. TimesFM-3는 그 대신 실무의 예측 문제가 원래 갖고 있던 형태, 즉 여러 계열과 이미 알고 있는 미래 정보가 함께 놓인 문제를 모델 구조 안으로 끌어들였습니다. 예측 구간을 한 번의 순전파로 채우는 비자기회귀 디코딩까지 더해지면서, 지금까지 정확도를 위해 감수하던 지연과 오차 누적도 함께 정리되었습니다. 여기에 실무 도입을 막는 마지막 관문은 기술이 아니라 라이선스라는 점이, 이번 릴리즈에서 가장 아쉬운 대목입니다.

## ![:scroll:](https://discuss.pytorch.kr/images/emoji/fluentui/scroll.png?v=15 ":scroll:") TimesFM-3 소개 블로그

![](https://discuss.pytorch.kr/uploads/default/original/3X/d/f/dfb1be996c3a12b2bde5024398a7e3750ad0e86a.png)
[research.google](https://research.google/blog/timesfm-3-a-zero-shot-foundation-model-for-multivariate-forecasting/)

![](https://discuss.pytorch.kr/uploads/default/original/3X/3/7/3770ac95f6ea763d85269e83eb4839780aa98661.jpeg)

### [TimesFM-3: A zero-shot foundation model for multivariate forecasting](https://research.google/blog/timesfm-3-a-zero-shot-foundation-model-for-multivariate-forecasting/)

## ![:scroll:](https://discuss.pytorch.kr/images/emoji/fluentui/scroll.png?v=15 ":scroll:") A decoder-only foundation model for time-series forecasting 논문 (ICML 2024)

![](https://discuss.pytorch.kr/uploads/default/original/3X/7/7/7737f9c766957e34da6871902e1e7a9d2aca40f3.png)
[arXiv.org](https://arxiv.org/abs/2310.10688)

![](https://discuss.pytorch.kr/uploads/default/original/3X/c/d/cd49b65780faf86c14ed9761c9c522acfb73adde.png)

### [A decoder-only foundation model for time-series forecasting](https://arxiv.org/abs/2310.10688)

Motivated by recent advances in large language models for Natural Language Processing (NLP), we design a time-series foundation model for forecasting whose out-of-the-box zero-shot performance on a variety of public datasets comes close to the...

## ![:scroll:](https://discuss.pytorch.kr/images/emoji/fluentui/scroll.png?v=15 ":scroll:") TiRex: Zero-Shot Forecasting Across Long and Short Horizons with Enhanced In-Context Learning 논문 (CPM 원출처)

![](https://discuss.pytorch.kr/uploads/default/original/3X/7/7/7737f9c766957e34da6871902e1e7a9d2aca40f3.png)
[arXiv.org](https://arxiv.org/abs/2505.23719)

![](https://discuss.pytorch.kr/uploads/default/original/3X/c/d/cd49b65780faf86c14ed9761c9c522acfb73adde.png)

### [TiRex: Zero-Shot Forecasting Across Long and Short Horizons with Enhanced...](https://arxiv.org/abs/2505.23719)

In-context learning, the ability of large language models to perform tasks using only examples provided in the prompt, has recently been adapted for time series forecasting. This paradigm enables zero-shot prediction, where past values serve as...

## ![:github:](https://discuss.pytorch.kr/uploads/default/original/2X/7/70a6220c603eed42089b4f67366225849e119e20.svg?v=15 ":github:") TimesFM GitHub 저장소

[github.com](https://github.com/google-research/timesfm)

![](https://discuss.pytorch.kr/uploads/default/optimized/3X/1/4/14802ba58529d25c4b71b30f620c4265abec8f39_2_695x347.png)

### [GitHub - google-research/timesfm: TimesFM (Time Series Foundation Model) is a...](https://github.com/google-research/timesfm)

TimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting.

## ![:hugs:](https://discuss.pytorch.kr/images/emoji/fluentui/hugs.png?v=15 ":hugs:") TimesFM-3.0-PyTorch 모델 다운로드

[huggingface.co](https://huggingface.co/google/timesfm-3.0-pytorch)

![](https://discuss.pytorch.kr/uploads/default/optimized/3X/e/1/e13a566aa45b80b6d07f0a67687c425bc45e17a7_2_1028x555.jpeg)

### [google/timesfm-3.0-pytorch · Hugging Face](https://huggingface.co/google/timesfm-3.0-pytorch)

We’re on a journey to advance and democratize artificial intelligence through open source and open science.

## 더 읽어보기

* [[GN⁺] Google TimesFM - 시계열 예측을 위한 시계열 파운데이션 모델](https://discuss.pytorch.kr/t/gn-google-timesfm/4396)
* [정확도 너머에: 시계열 파운데이션 모델(TSFM)이 잘 보정(Calibration)되어 있는지에 대한 연구 (feat. ICLR 2026)](https://discuss.pytorch.kr/t/tsfm-calibration-feat-iclr-2026/10485)
* [Nexus: 시계열 예측을 멀티 에이전트 추론 문제로 푸는 프레임워크에 대한 연구 (feat. Google)](https://discuss.pytorch.kr/t/nexus-feat-google/11203)
* [Kronos: 45개 이상의 글로벌 거래소 데이터로 학습한, 금융 시계열 예측을 위한 최초의 오픈소스 파운데이션 모델](https://discuss.pytorch.kr/t/kronos-45/9726)
* [TabFM: 표 형식 데이터를 위한 제로샷 파운데이션 모델 (feat. Google Research)](https://discuss.pytorch.kr/t/tabfm-feat-google-research/11058)

---

*이 글은 GPT 모델로 정리한 초안을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 댓글로 알려주시기를 부탁드립니다.* ![:hugs:](https://discuss.pytorch.kr/images/emoji/fluentui/hugs.png?v=15 ":hugs:")

논문의 주장이나 벤치마크에 대한 의견, 직접 재현해보신 결과가 있다면 [![:pytorch:](https://discuss.pytorch.kr/uploads/default/original/2X/f/fa98c2196c22febe7475e503792febf39ba7a0de.svg?v=15 ":pytorch:")파이토치 한국 사용자 모임![:south_korea:](https://discuss.pytorch.kr/images/emoji/fluentui/south_korea.png?v=15 ":south_korea:")](https://pytorch.kr/) 회원들을 위해 댓글로 공유해주세요! ![:folded_hands:](https://discuss.pytorch.kr/images/emoji/fluentui/folded_hands.png?v=15 ":folded_hands:")

1개의 좋아요

* [홈](/)
* [카테고리](/categories)
* [가이드라인](/guidelines)
* [이용약관](https://pytorch.kr/coc)
* [개인정보 취급방침](/privacy)

[Discourse](https://www.discourse.org)를 사용합니다. JavaScript가 활성화된 상태에서 가장 잘 보입니다.