아주 많은 시계열 데이터로 미리 학습해 둔 범용 예측 모델로, 판매량·트래픽·수요 같은 값의 미래를 따로 학습시키지 않고 바로(제로샷) 예측한다. ARIMA처럼 시계열마다 모델을 따로 만드는 방식과 달리, 예측할 시계열이 많거나 결과가 빨리 필요할 때 쓴다.
| 방식 | 준비 과정 | 잘 맞는 경우 |
|---|---|---|
| ARIMA 같은 전통 모델 | 시계열마다 따로 학습 | 시계열이 적고 패턴이 단순할 때 |
| 시계열 파운데이션 모델 | 학습 없이 바로 예측 | 시계열이 많고 빨리 결과가 필요할 때 |
| 도메인 맞춤 학습 모델 | 데이터 모으기·학습·튜닝 | 정확도가 가장 중요할 때 |
대표적인 모델은 Google Research의 TimesFM이고, Amazon의 Chronos와 Salesforce의 Moirai도 같은 계열이다.
예전에는 상품마다, 서버마다 예측 모델을 따로 만들고 관리해야 했다. 시계열이 수천 개라면 그 일만으로도 큰 작업이 된다. 파운데이션 모델은 과거 값만 넣으면 미래 값을 내놓으니 이 과정이 사라진다.
TimesFM은 디코더 전용 트랜스포머다. 실제 시계열 데이터 포인트 1,000억 개로 학습했고, 크기는 약 2억(200M) 파라미터로 작은 편이다. 그래서 큰 GPU 없이도 돌려 볼 수 있다.
방법은 두 가지다. 직접 돌리려면 pip install timesfm으로 설치하고 Hugging Face에서 체크포인트를 받는다. 과거 값 배열과 예측할 길이를 넣으면 몇 줄 코드로 결과가 나온다. 데이터가 이미 BigQuery에 있다면 AI.FORECAST 함수에 model => "TimesFM 2.5"를 지정해서 SQL만으로 예측한다.
| 항목 | TimesFM 2.5 |
|---|---|
| 한 번에 넣는 과거 길이 | 최대 16,384 스텝 (이전의 8배) |
| 예측 길이 | 최대 1,000 스텝 |
| 결과 형태 | 값 하나 + 범위(분위수) |
범위 예측은 "이 사이일 가능성이 높다"를 알려 주므로 재고 여유분이나 알림 기준을 잡을 때 쓸모가 있다.
새 예측 과제를 시작할 때 먼저 파운데이션 모델로 기준선을 잡아 두면 좋다. 대부분 이 정도로 충분하고, 맞춤 모델을 만들어도 이 기준선보다 나아졌는지 비교할 수 있다.
| 상황 | 추천 |
|---|---|
| 상품·지표 수백 개 수요 예측 | 파운데이션 모델 |
| 과거 데이터가 짧은 새 서비스 | 파운데이션 모델 |
| 오차 1%가 큰 돈인 핵심 지표 | 맞춤 학습 모델과 비교 |
| 할인·공휴일 영향이 큰 데이터 | 외부 변수를 쓰는 모델 검토 |
이 모델은 텍스트를 이해하지 못한다. 숫자의 흐름만 보고 배운 특화 모델이라서, "다음 주에 할인 행사가 있다" 같은 사정은 따로 넣어 주지 않으면 반영되지 않는다. 처음 겪는 급변도 예측하지 못한다.
제로샷 성능이 좋아도 해당 도메인으로 맞춤 학습한 모델을 항상 이기는 건 아니다. 내 데이터의 최근 구간을 떼어 두고 직접 맞춰 본 뒤 쓰는 게 가장 확실하다.
가장 흔한 건 시계열이 많은 예측 작업에 바로 투입하는 방식이다. 모델을 하나하나 만들 필요 없이 과거 값만 넣어 예측하고, 범위 예측으로 여유분이나 경고 기준을 잡는다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 상품 수요 예측 | 상품 수백 개의 판매량을 한 번에 예측해 재고·발주량의 기준으로 삼는다 |
| 서버·서비스 모니터링 | 트래픽이나 사용량을 예측하고, 실제 값이 예측 범위를 벗어나면 알림을 띄운다 |
| BigQuery 데이터 분석 | 테이블에 쌓인 지표를 SQL AI.FORECAST로 바로 예측해 보고서에 붙인다 |
| 새 예측 과제 시작 | 먼저 기준선으로 돌려 보고, 맞춤 모델이 이보다 나은지 비교한다 |