/proyectos/timesfm

TimesFM - El modelo de Google que pronostica series temporales

El modelo fundacional de Google Research para pronóstico de series temporales: zero-shot, 200M de parámetros y con la versión 3.0 ya #1 en los tres benchmarks de la comunidad.

IA open source series temporales
TimesFM - El modelo de Google que pronostica series temporales

Qué es

TimesFM (Time Series Foundation Model) es el modelo fundacional de Google Research para pronóstico de series temporales: un transformer decoder-only preentrenado, con paper publicado en ICML 2024 y el código open source (Apache 2.0). Le pasás una serie histórica —ventas, temperatura, tráfico, cotizaciones— y te devuelve la proyección a futuro sin reentrenar nada: pronóstico zero-shot.

Cómo funciona por dentro

A diferencia de un modelo que armás a mano para cada serie, TimesFM aprende de ~100 mil millones de puntos temporales (series reales + sintéticas) durante el preentrenamiento. La arquitectura es un transformer decoder-only con patching: la serie se corta en parches y cada parche entra como un token, igual que un LLM. La atención causal solo mira el pasado y decodifica el horizonte patch a patch.

La versión actual es de 200M de parámetros: corre en una GPU común, e incluso en Apple Silicon con el backend MLX nativo, sin PyTorch.

La evolución de TimesFM

  • 1.0 (2024): el original, 200M de parámetros, zero-shot que dominó los benchmarks de la época.
  • 2.0: contexto de hasta 2.048 puntos y mejor precisión.
  • 2.5 (sept. 2025): contexto de hasta 16k puntos, cuantiles continuos hasta horizonte 1.000 y soporte de covariables (XReg).
  • 3.0 (agosto 2026): el salto grande — multivariado nativo, covariables pasadas y pasadas+futuras, y #1 en los tres benchmarks.

Lo nuevo de TimesFM 3.0

La 3.0 pronostica series multivariadas: varias señales que se mueven juntas —todas las métricas de un producto, todos los sensores de una planta— en una sola pasada, con covariables opcionales (solo pasadas, o pasadas+futuras como un calendario de promociones) sin tunear por tarea. Resultado: rank #1 overall en fev-bench (100 tareas reales), TIME (50 datasets / 98 tareas) y GIFT-Eval.

Ojo con la licencia: el código sigue Apache 2.0, pero los pesos de 3.0 hoy se distribuyen con una licencia separada no comercial (timesfm-non-commercial-license-v1.0). Los checkpoints hasta 2.5 siguen Apache 2.0.

Cómo usarlo

Instalación directa desde PyPI:

pip install timesfm[torch]     # PyTorch
pip install timesfm[mlx]       # Apple Silicon, sin PyTorch

Y pronosticar es casi una línea:

import numpy as np
from timesfm3 import TimesFM3Evaluator, ModelConfig

config = ModelConfig(checkpoint_path="google/timesfm-3.0-pytorch")
forecaster = TimesFM3Evaluator(config)

series = np.sin(np.linspace(0, 24, 72)).astype(np.float32)
outputs = list(forecaster.predict_batch([series], horizon=12, return_quantiles=True))
# outputs[0].forecast  -> (12,) puntos proyectados
# outputs[0].quantiles -> (12, 9) deciles

Por qué importa

  • Zero-shot real: sin feature engineering ni reentrenamiento por dataset. El caso clásico: una tienda que quiere pronosticar stock ayer mismo.
  • Estándar de la industria: ya corre en Vertex AI, en BigQuery ML (pronóstico directo en SQL) y hasta en Google Sheets para la planilla diaria.
  • Abierto y portable: MLX en Apple Silicon, Flax para producción y fine-tuning con LoRA vía HuggingFace Transformers + PEFT.
  • Medido, no marketing: ser #1 en TIME y GIFT-Eval —los benchmarks de la comunidad— es la prueba de que el zero-shot generalista funciona.

Siguiente paso

Si tenés una serie a mano —las métricas de tu blog, tu historial de ventas, el clima— instalá el paquete, pegá tus datos y compará el pronóstico con el método que uses hoy. Son cinco líneas de código y la diferencia se ve.

Repo: github.com/google-research/timesfm · Paper: arxiv.org/abs/2310.10688

Ir al proyecto →