7 pontos por GN⁺ 28 일 전 | 1 comentários | Compartilhar no WhatsApp
  • TimesFM é um grande modelo pré-treinado para previsão de séries temporais desenvolvido pelo Google Research, usando uma arquitetura somente decodificador
  • A versão mais recente, 2.5, oferece 200 milhões de parâmetros, comprimento de contexto de 16k e previsão de horizon de até 1k
  • Inclui vários recursos, como previsão contínua de quantis, entrada de covariáveis (XReg) e backends Flax e PyTorch
  • O modelo é disponibilizado via Hugging Face e também pode ser usado com integração ao BigQuery
  • Como um modelo de base de uso geral para previsão de dados de séries temporais, oferece escalabilidade e eficiência tanto para pesquisa quanto para uso prático

Visão geral do TimesFM

  • TimesFM (Time Series Foundation Model) é um modelo pré-treinado para previsão de séries temporais desenvolvido pelo Google Research
  • Baseia-se no artigo da ICML 2024 “A decoder-only foundation model for time-series forecasting”
  • Os checkpoints do modelo são fornecidos por meio da coleção no Hugging Face e também são oficialmente integrados ao BigQuery
  • A versão aberta não é um produto oficial do Google

Versões do modelo e principais atualizações

  • A versão mais recente é o TimesFM 2.5; as versões anteriores (1.0, 2.0) estão armazenadas no diretório v1 e podem ser instaladas com timesfm==1.3.0
  • Atualização de 15 de setembro de 2025

    • Lançamento do modelo TimesFM 2.5
    • Número de parâmetros reduzido para 200M (menos da metade em relação aos 500M anteriores)
    • Comprimento de contexto expandido para 16k (aumentado a partir de 2048)
    • Suporte a previsão contínua de quantis (continuous quantile forecast) com horizon de até 1k, incluindo um quantile head opcional de 30M
    • Remoção do indicador frequency
    • Adição de novas flags de previsão (forecasting flags)
    • API de inferência (inference API) atualizada
    • Itens previstos para adição futura
      1. Suporte ao modelo em versão Flax (inferência mais rápida)
      2. Restauração do suporte a covariáveis (covariate)
      3. Reforço de docstrings, documentação e notebooks
  • Atualização de 29 de outubro de 2025

    • O suporte a entrada de covariáveis (covariate) via XReg foi adicionado novamente ao TimesFM 2.5

Como instalar

  • Clone o repositório GitHub e use uv para criar um ambiente virtual e instalar os pacotes
    • É possível instalar backends opcionais entre torch, flax e xreg
    • Dependendo do SO e do acelerador (CPU, GPU, TPU, Apple Silicon), é possível escolher PyTorch ou JAX (Flax)

Exemplo de código

  • É fornecido um exemplo de carregamento do modelo TimesFM 2.5 baseado em PyTorch (200M de parâmetros)
    • Usa timesfm.TimesFM_2p5_200M_torch.from_pretrained("google/timesfm-2.5-200m-pytorch")
    • Com ForecastConfig, é possível configurar normalização de entrada (normalize_inputs), uso do head contínuo de quantis, forçar valores positivos (infer_is_positive) e correção de cruzamento de quantis (fix_quantile_crossing), entre outros
    • Ao chamar forecast(), são retornados dois resultados: point forecast e quantile forecast
      • point_forecast.shape: (2, 12)
      • quantile_forecast.shape: (2, 12, 10) — incluindo média e quantis de 10 a 90

1 comentários

 
GN⁺ 28 일 전
Comentários no Hacker News
  • A ideia de um modelo geral de séries temporais parece um pouco estranha
    Fico me perguntando como o mesmo modelo conseguiria prever com confiabilidade tanto o preço dos ovos na Itália quanto a inflação global ao mesmo tempo
    Além disso, também parece problemático o fato de ser difícil confiar no resultado se ele não explicar a base da previsão

    • Na prática, esses modelos não estão prevendo o preço dos ovos ou a inflação em si, mas decompondo os dados de séries temporais em tendência, sazonalidade e resíduo
      Um evento não sazonal, como uma guerra no Oriente Médio afetando a inflação, é algo que o modelo não consegue capturar
    • Pelo que entendi, a estrutura usa dados sintéticos de treinamento para ajudar a capturar padrões abstratos de séries temporais que aparecem em vários domínios
      Segundo o apêndice 8 do paper, eles geram dados sintéticos com modelos estatísticos tradicionais, como tendência linear, ARMA e padrões sazonais de seno e cosseno
      No fim, como a arquitetura é um Transformer, ela encontra padrões específicos de cada problema com base no contexto de entrada, como um LLM
    • Quando eu trabalhava no Google Ads, usávamos previsão de séries temporais para estimar a probabilidade de uma campanha publicitária atingir sua meta
      Muitos anunciantes simplesmente traçavam uma linha reta a partir dos números atuais, mas isso era impreciso porque não considerava o dia da semana nem a sazonalidade
      Já os modelos de séries temporais eram muito mais precisos e, ao treinar com os dados da campanha inteira, conseguiam fornecer intervalos de confiança de 95%
    • Também daria para aplicar a lei de Benford (Benford’s law)
      O sinal e o expoente mudam lentamente, então seria possível prever isso e estimar a mantissa com a lei de Benford
    • Como abordagem, há
      • decomposição: encontrar uma forma geral da transformada de Fourier para separar os fatores fundamentais
      • memorização: aprender padrões recorrentes em vários domínios, como leis de potência
      • multitarefa: aproveitar relações entre domínios, como clima e energia
  • Seria bom adicionar (2024) ao título
    Isso já foi apresentado no blog do Google Research e não é exatamente uma notícia nova

    • Mas houve uma grande atualização no fim de 2025
  • O post de blog relacionado pode ser visto na página do TimesFM no GitHub

    • Acho que a intenção era linkar este post do blog do Google Research
    • Queria saber o total de tempo de treinamento em GPU
      Parece ser muito menor do que em LLMs, então gostaria de saber se pesquisadores independentes ou laboratórios universitários também conseguiriam treinar isso
    • No Chrome para iOS, abre com o mesmo conteúdo do repositório do GitHub enviado
  • Como referência, há projetos parecidos como Nixtla e Prophet

  • Houve a pergunta: “Dá para explicar em nível ELI5? E quantos pontos de dados isso consegue ler?”

  • Fico curioso se a série temporal é dada apenas como um conjunto de números, sem contexto
    Parece que o modelo olha para os dados, estima de que categoria se trata (ação, tendência de busca etc.) e então produz uma previsão adequada
    Mas imagino que ele seja fraco em categorias que não estavam nos dados de treinamento
    Pessoalmente, prefiro modelos simples como ARIMA ou modelos baseados em teoria

    • Ainda assim, assim como um LLM prevê o próximo token em um fluxo longo de tokens, este modelo também pode funcionar dessa forma
      A questão central é o quanto a arquitetura e o método de treinamento conseguem generalizar
  • Esse modelo já estava aberto havia alguns meses, então fiquei curioso se existe algum caso real de alguém ter construído algo com base nele

  • Se eu tiver séries temporais de radiação solar passada e previsões meteorológicas, será que dá para usar a previsão do tempo futura para prever o preço da eletricidade?
    Ou seja, a pergunta é se dá para usar os dados no tempo X de uma série para prever o tempo X de outra série, ou se ele lida apenas com padrões internos de uma única série temporal

    • O paper diz que o foco foi em forecasting
      Mas, se os dados de treinamento forem poucos, ele talvez acabe aprendendo apenas padrões do tipo “subindo para a direita”, então parece haver limitações
  • Eu tinha perdido esse projeto; será que existe alguma competição relacionada?
    Séries temporais e ML sempre foram difíceis para mim, então queria tentar na prática

  • Pessoalmente, acho que rodar LLM + pandas + um loop próprio de experimentação pode gerar resultados melhores do que esse modelo

    • Então é só testar por conta própria
      Não existe um limite definido, e na verdade acho bem provável que essa afirmação esteja errada