7 puntos por GN⁺ 28 일 전 | 1 comentarios | Compartir por WhatsApp
  • TimesFM es un modelo fundacional grande preentrenado para pronóstico de series temporales desarrollado por Google Research, y utiliza una arquitectura solo decodificador
  • La versión más reciente, 2.5, admite 200 millones de parámetros, longitud de contexto de 16k y predicción de horizon de hasta 1k
  • Incluye varias funciones como predicción continua de cuantiles, entrada de covariables (XReg) y backends de Flax y PyTorch
  • El modelo se publica a través de Hugging Face y también puede usarse integrado en BigQuery
  • Como modelo fundacional general para el pronóstico de datos de series temporales, ofrece escalabilidad y eficiencia tanto en investigación como en entornos prácticos

Resumen de TimesFM

  • TimesFM (Time Series Foundation Model) es un modelo preentrenado para pronóstico de series temporales desarrollado por Google Research
  • Se basa en el artículo de ICML 2024 “A decoder-only foundation model for time-series forecasting”
  • Los checkpoints del modelo se ofrecen mediante la colección de Hugging Face y también están integrados oficialmente en BigQuery
  • La versión abierta no es un producto oficial de Google

Versiones del modelo y actualizaciones principales

  • La versión más reciente es TimesFM 2.5; las versiones anteriores (1.0, 2.0) se conservan en el directorio v1 y pueden instalarse con timesfm==1.3.0
  • Actualización del 15 de septiembre de 2025

    • Publicación del modelo TimesFM 2.5
    • Número de parámetros reducido a 200M (menos de la mitad frente a los 500M anteriores)
    • Longitud de contexto ampliada a 16k (desde 2048)
    • Soporte para pronóstico continuo de cuantiles (continuous quantile forecast) hasta un horizon máximo de 1k, con cabezal de cuantiles de 30M opcional
    • Se eliminó el indicador frequency
    • Se agregaron nuevas banderas de pronóstico (forecasting flags)
    • Se actualizó la API de inferencia (inference API)
    • Elementos previstos para añadirse después
      1. Soporte para modelo en versión Flax (inferencia más rápida)
      2. Restauración del soporte para covariables (covariates)
      3. Refuerzo de docstrings, documentación y notebooks
  • Actualización del 29 de octubre de 2025

    • Se volvió a agregar a TimesFM 2.5 el soporte para entrada de covariables (covariates) mediante XReg

Cómo instalarlo

  • Clona el repositorio de GitHub y usa uv para crear un entorno virtual e instalar el paquete
    • Es posible instalar backends opcionales entre torch, flax y xreg
    • Según el sistema operativo y el acelerador (CPU, GPU, TPU, Apple Silicon), se puede elegir PyTorch o JAX (Flax)

Ejemplo de código

  • Se proporciona un ejemplo para cargar el modelo TimesFM 2.5 basado en PyTorch (200M parámetros)
    • Usa timesfm.TimesFM_2p5_200M_torch.from_pretrained("google/timesfm-2.5-200m-pytorch")
    • Mediante ForecastConfig se pueden configurar opciones como normalización de entrada (normalize_inputs), uso del cabezal continuo de cuantiles, forzar positividad (infer_is_positive) y corrección de cruce de cuantiles (fix_quantile_crossing)
    • Al llamar a forecast(), se devuelven dos resultados: point forecast y quantile forecast
      • point_forecast.shape: (2, 12)
      • quantile_forecast.shape: (2, 12, 10) — incluye la media y los cuantiles de 10 a 90

1 comentarios

 
GN⁺ 28 일 전
Opiniones de Hacker News
  • La idea de un modelo de series temporales general se siente un poco extraña
    Cuesta ver cómo el mismo modelo podría predecir de forma confiable tanto el precio de los huevos en Italia como la inflación global
    Además, si no explica en qué basa sus predicciones, también parece difícil confiar en los resultados

    • En realidad, estos modelos no predicen directamente el precio de los huevos o la inflación, sino que descomponen los datos de series temporales en tendencia, estacionalidad y residuo
      Un evento no estacional como una guerra en Medio Oriente que afecte la inflación es algo que el modelo no puede captar
    • Según entiendo, la data sintética de entrenamiento está diseñada para ayudar a capturar patrones abstractos de series temporales que aparecen en muchos dominios
      Según el apéndice 8 del paper, generan datos sintéticos usando modelos estadísticos tradicionales como tendencias lineales, ARMA y patrones estacionales seno-coseno para entrenarlo
      Al final, como usa una arquitectura Transformer, encuentra patrones específicos del problema según el contexto de entrada, parecido a un LLM
    • Cuando trabajaba en Google Ads, usábamos pronóstico de series temporales para predecir la probabilidad de que una campaña publicitaria cumpliera sus objetivos
      Muchos anunciantes simplemente extrapolaban en línea recta desde los valores actuales, pero eso era inexacto porque no reflejaba el día de la semana ni la estacionalidad
      En cambio, los modelos de series temporales eran mucho más precisos, y al entrenarlos con datos de campañas completas podían dar intervalos de confianza del 95%
    • También se podría aplicar la ley de Benford (Benford’s law)
      El signo y el exponente cambian lentamente, así que se pueden predecir, y la mantisa se puede estimar con la ley de Benford
    • Como enfoque, habría
      • descomposición (decomposition): encontrar una forma general de la transformada de Fourier para separar los factores subyacentes
      • memorización (memorization): aprender patrones que se repiten en muchos dominios, como las leyes de potencia
      • multitarea (multitask): aprovechar relaciones entre dominios, como clima y electricidad
  • Estaría bien agregar (2024) al título
    Esto ya se presentó en el blog de Google Research y no es una noticia nueva

    • Pero hubo una actualización importante a fines de 2025
  • El blog post relacionado se puede ver en la página de TimesFM en GitHub

    • Probablemente querían enlazar este post del blog de Google Research
    • Me da curiosidad el tiempo total de entrenamiento en GPU
      Parece mucho menor que en los LLM, así que me gustaría saber si investigadores individuales o laboratorios universitarios también podrían entrenarlo
    • En Chrome para iOS se abre con el mismo contenido que el repositorio de GitHub enviado
  • Como referencia, hay proyectos parecidos como Nixtla y Prophet

  • Hubo una pregunta que decía: “¿Me lo pueden explicar a nivel ELI5? ¿Y cuántos puntos de datos puede leer?”

  • Me pregunto si la serie temporal se le da solo como un conjunto de números, sin contexto
    Da la impresión de que el modelo mira los datos, infiere de qué categoría se trata (precio de acciones, tendencias de búsqueda, etc.) y luego hace una predicción acorde
    Pero parece que sería débil con categorías que no estaban en los datos de entrenamiento
    Personalmente prefiero modelos simples como ARIMA o modelos basados en teoría

    • Aun así, igual que un LLM predice el siguiente token en un flujo largo de tokens, este modelo también podría funcionar
      La clave es qué tan bien generalizan la arquitectura y el método de entrenamiento
  • Este modelo ya estaba público desde hace unos meses, así que me pregunto si alguien ya construyó algo real sobre esta base

  • Si uno tiene una serie temporal de radiación solar pasada y pronósticos del tiempo, me pregunto si se podría predecir el precio de la electricidad usando los pronósticos futuros del clima
    Es decir, preguntan si se puede usar la información del tiempo X de una serie temporal para predecir el tiempo X de otra serie temporal, o si solo maneja patrones dentro de una sola serie

    • En el paper dicen que se enfocaron en forecasting
      Pero si hay pocos datos de entrenamiento, parece que podría terminar aprendiendo solo el patrón de “sube hacia la derecha”, así que tendría limitaciones
  • Se me pasó este proyecto; me pregunto si hay alguna competencia relacionada
    Series temporales y ML siempre me parecieron difíciles, pero me gustaría probarlo por mi cuenta

  • Personalmente, creo que si corres un LLM + pandas + un loop propio de experimentación, podrías obtener mejores resultados que con este modelo

    • Entonces pruébalo tú mismo
      No es que haya un límite fijo, y de hecho creo que es más probable que esa afirmación esté equivocada