7 points par GN⁺ 2026-04-01 | 1 commentaires | Partager sur WhatsApp
  • TimesFM est un grand modèle préentraîné pour la prévision de séries temporelles développé par Google Research, utilisant une architecture de type décodeur seul
  • La version la plus récente, 2.5, prend en charge 200 millions de paramètres, une longueur de contexte de 16k et des prédictions jusqu’à un horizon maximal de 1k
  • Elle inclut diverses fonctionnalités comme la prévision continue par quantiles, les entrées de covariables (XReg) et des backends Flax et PyTorch
  • Le modèle est publié via Hugging Face et peut aussi être utilisé grâce à son intégration dans BigQuery
  • En tant que modèle de base généraliste pour la prévision de données de séries temporelles, il offre évolutivité et efficacité aussi bien pour la recherche que pour la pratique

Présentation de TimesFM

  • TimesFM (Time Series Foundation Model) est un modèle préentraîné pour la prévision de séries temporelles développé par Google Research
  • Il s’appuie sur l’article de l’ICML 2024 “A decoder-only foundation model for time-series forecasting”
  • Les checkpoints du modèle sont fournis via la collection Hugging Face et sont aussi officiellement intégrés à BigQuery
  • La version ouverte n’est pas un produit Google officiel

Versions du modèle et principales mises à jour

  • La version la plus récente est TimesFM 2.5 ; les versions précédentes (1.0, 2.0) sont conservées dans le répertoire v1 et peuvent être installées avec timesfm==1.3.0
  • Mise à jour du 15 septembre 2025

    • Publication du modèle TimesFM 2.5
    • Nombre de paramètres réduit à 200M (contre 500M auparavant, soit moins de la moitié)
    • Longueur de contexte étendue à 16k (contre 2048 auparavant)
    • Prise en charge de la prévision continue par quantiles (continuous quantile forecast) jusqu’à un horizon maximal de 1k, avec une tête quantile de 30M en option
    • Suppression de l’indicateur frequency
    • Ajout de nouveaux drapeaux de prévision (forecasting flags)
    • Mise à niveau de l’API d’inférence (inference API)
    • Éléments prévus par la suite
      1. Prise en charge du modèle en version Flax (inférence plus rapide)
      2. Rétablissement de la prise en charge des covariables (covariates)
      3. Renforcement des docstrings, de la documentation et des notebooks
  • Mise à jour du 29 octobre 2025

    • La prise en charge des entrées de covariables via XReg a été réajoutée à TimesFM 2.5

Méthode d’installation

  • Cloner le dépôt GitHub, puis utiliser uv pour créer un environnement virtuel et installer les paquets
    • Installation possible de backends optionnels parmi torch, flax, xreg
    • Selon l’OS et l’accélérateur (CPU, GPU, TPU, Apple Silicon), choix possible entre PyTorch et JAX (Flax)

Exemple de code

  • Exemple fourni pour charger le modèle TimesFM 2.5 basé sur PyTorch (200M de paramètres)
    • Utilisation de timesfm.TimesFM_2p5_200M_torch.from_pretrained("google/timesfm-2.5-200m-pytorch")
    • Avec ForecastConfig, il est possible de configurer la normalisation des entrées (normalize_inputs), l’utilisation de la tête de quantiles continue, la contrainte de positivité (infer_is_positive) et la correction du croisement des quantiles (fix_quantile_crossing)
    • Lors de l’appel à forecast(), deux types de résultats sont renvoyés : point forecast et quantile forecast
      • point_forecast.shape: (2, 12)
      • quantile_forecast.shape: (2, 12, 10) — inclut la moyenne ainsi que les quantiles de 10 à 90

1 commentaires

 
GN⁺ 2026-04-01
Avis Hacker News
  • Le concept d’un modèle de séries temporelles généraliste paraît un peu étrange
    On peut se demander comment un même modèle pourrait prédire de façon fiable à la fois le prix des œufs en Italie et l’inflation mondiale
    Et le fait qu’il n’explique pas sur quoi reposent ses prédictions semble aussi poser un problème de confiance dans les résultats

    • En réalité, ce type de modèles ne prédit pas directement le prix des œufs ou l’inflation en soi, mais décompose les séries temporelles en tendance, saisonnalité et résidu
      Un événement non saisonnier comme une guerre au Moyen-Orient qui affecte l’inflation ne peut pas être capté par le modèle
    • Si j’ai bien compris, l’idée est que les données d’entraînement synthétiques aident à capter des motifs abstraits de séries temporelles communs à plusieurs domaines
      D’après l’annexe 8 de l’article, ils génèrent des données synthétiques à partir de modèles statistiques classiques comme les tendances linéaires, ARMA, ou des motifs saisonniers sinusoïdaux en sinus/cosinus
      Au final, comme l’architecture repose sur un Transformer, il repère des motifs propres à chaque problème selon le contexte d’entrée, un peu comme un LLM
    • Quand je travaillais chez Google Ads, on utilisait la prévision de séries temporelles pour estimer la probabilité qu’une campagne publicitaire atteigne son objectif
      Beaucoup d’annonceurs se contentaient de tracer une ligne droite à partir des valeurs actuelles, mais c’était imprécis car cela ne tenait pas compte du jour de la semaine et de la saisonnalité
      À l’inverse, les modèles de séries temporelles étaient bien plus précis, et l’entraînement sur l’ensemble des données de campagne permettait de fournir des intervalles de confiance à 95 %
    • On pourrait aussi appliquer la loi de Benford (Benford’s law)
      Le signe et l’exposant changent lentement, donc on peut les prédire, puis estimer la mantisse avec la loi de Benford
    • Comme approche, il y a :
      • décomposition (decomposition) : trouver une forme générale de transformée de Fourier pour isoler les facteurs fondamentaux
      • mémorisation (memorization) : apprendre des motifs récurrents dans plusieurs domaines, par ex. les lois de puissance
      • multitâche (multitask) : exploiter les relations entre domaines, comme la météo et l’électricité
  • Ce serait bien d’ajouter (2024) au titre
    Le sujet a déjà été présenté sur le blog Google Research et ce n’est donc pas une nouveauté

    • Mais il y a eu une grosse mise à jour fin 2025
  • On peut voir un billet de blog associé sur la page TimesFM de GitHub

    • Ils voulaient sans doute lier ce billet du blog Google Research
    • Je suis curieux de connaître le volume total d’heures d’entraînement GPU
      Ça semble bien plus faible que pour un LLM, donc j’aimerais savoir si un chercheur indépendant ou un labo universitaire peut l’entraîner
    • Sur Chrome iOS, cela s’ouvre avec le même contenu que le dépôt GitHub soumis
  • À titre de référence, il existe des projets similaires comme Nixtla et Prophet

  • Il y avait aussi la question : « Pouvez-vous l’expliquer au niveau ELI5 ? Et combien de points de données peut-il lire ? »

  • Je me demande si la série temporelle est fournie uniquement comme un ensemble de nombres, sans contexte
    Le modèle semble regarder les données, deviner de quelle catégorie il s’agit (cours boursiers, tendances de recherche, etc.), puis produire une prévision adaptée
    Mais il sera probablement faible sur des catégories absentes des données d’entraînement
    Personnellement, je préfère des modèles simples comme ARIMA ou des modèles fondés sur la théorie

    • Cela dit, de la même manière qu’un LLM prédit le token suivant dans un long flux de tokens, ce modèle peut aussi fonctionner ainsi
      La vraie question est de savoir jusqu’où l’architecture et le mode d’entraînement peuvent se généraliser
  • Ce modèle était déjà public il y a quelques mois, et je me demande s’il existe des cas concrets où quelqu’un a construit quelque chose dessus

  • Si l’on dispose de l’historique de l’irradiation solaire et des prévisions météo sous forme de séries temporelles, est-il possible d’utiliser les prévisions météo futures pour prédire le prix de l’électricité ?
    Autrement dit, peut-on utiliser les données au temps X d’une série temporelle pour prédire le temps X d’une autre, ou bien le modèle ne traite-t-il que les motifs internes à une seule série ?

    • L’article indique qu’il se concentre sur la prévision (forecasting)
      Mais si les données d’entraînement sont limitées, il risque simplement d’apprendre des motifs du type « ça monte vers la droite », ce qui semble être une limite
  • J’avais raté ce projet ; y a-t-il par hasard des compétitions autour de ce sujet ?
    Les séries temporelles et le ML m’ont toujours semblé difficiles, mais j’aimerais essayer moi-même

  • Personnellement, j’ai l’impression qu’en faisant tourner LLM + pandas + une boucle d’expérimentation maison, on pourrait obtenir de meilleurs résultats qu’avec ce modèle

    • Dans ce cas, il suffit d’essayer
      Il n’y a pas de limite prédéfinie, et je pense même qu’il est plus probable que cette affirmation soit fausse