Granite PatchTST-FM-r2: o que a IBM lançou e como testar previsão zero-shot na sua série

diagrama ilustrando previsão zero-shot com o Granite PatchTST-FM-r2 da IBM
Resposta rápida

O Granite PatchTST-FM-r2 é o novo modelo de fundação para séries temporais da IBM, publicado em 9 de setembro de 2026 no blog do Hugging Face: cerca de 385 milhões de parâmetros, contexto de até 8.192 pontos, comprimentos de previsão flexíveis e cabeça de 99 quantis para previsão probabilística. A licença é dupla (Apache-2.0 e OpenMDW-1.0, você escolhe), com pesos, arquitetura, pipeline de inferência e código de reprodução do benchmark abertos. Os números divulgados vêm do GIFT-Eval, então o caminho honesto é rodar zero-shot na sua série e comparar CRPS e MASE contra a baseline que já roda em produção

Fala aí, beleza? A IBM acabou de colocar no Hugging Face um modelo de fundação para séries temporais com licença comercialmente amigável, e isso mexe direto com quem mantém previsão rodando em produção

O anúncio saiu em 9 de setembro de 2026, em artigo no blog do Hugging Face assinado por pesquisadores da ibm-research (Roman Vaculin, Wesley M. Gifford, Jiri Navratil, Chandra Reddy e Ayhan Sebin)

O nome completo é Granite Time Series PatchTST-FM-r2, sucessor direto do PatchTST-FM-r1 dentro da família Granite TSFM

São aproximadamente 385 milhões de parâmetros, contexto de até 8.192 pontos, comprimentos de previsão flexíveis e previsão probabilística por uma cabeça de 99 quantis

E o ponto que interessa pra quem já tem pipeline de forecast no ar: a proposta do zero-shot é você parar de treinar e manter um modelo por dataset

Se você já usa LLM no dia a dia, a analogia é quase direta: pega o modelo pronto, joga o contexto, recebe a saída, só que aqui o contexto é a sua série histórica em vez de texto

Formação Claude Code
Formação Recomendada

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 120 aulas
  • 4 projetos
  • 9h 45min

O que muda em relação ao PatchTST-FM-r1:

A representação por patches, que é a marca da família PatchTST, continua

O que mudou foi o miolo: no r1 o bloco era transformer padrão (multi-head self-attention mais uma feed-forward network)

No r2 entrou o bloco conformer: duas camadas feed-forward de meio passo em torno do multi-head self-attention, mais uma camada de convolução temporal

Que papo é esse de conformer? A origem dele é processamento de fala, e a sacada é dar dois mecanismos complementares pro modelo: a self-attention enxerga relação de longo alcance entre os patches, e a convolução puxa a estrutura local, o padrãozinho curto que acontece perto

Cobertura secundária traz mais detalhe interno do r2: dimensão oculta de 1024 e 30 blocos, contra 20 blocos no r1, com patches sobrepostos em 50% (comprimento 16, stride 8), ponderação por janela de Hamming no treino e previsão por overlap-and-add na inferência

O overlap-and-add é o que suaviza a emenda entre patches vizinhos, coisa que costuma aparecer como serrilhado feio na curva prevista

As fontes de pré-treino documentadas são GiftEvalPretrain e dados sintéticos: KernelSynth, TSMixup e sequências CauKer

O modelo também suporta imputação de valores faltantes, não só previsão

E tem um detalhe que salva quem já estava usando a versão anterior: a implementação segue compatível com checkpoints do PatchTST-FM-r1 😀

Os números do GIFT-Eval e o que eles significam:

A IBM reporta CRPS de média geométrica 0,467 e MASE de média geométrica 0,6846 no GIFT-Eval

Em ambas as métricas, quanto menor melhor

Antes dos rankings, um esclarecimento de data que evita confusão: o artigo foi publicado em 9 de setembro de 2026, e as posições citadas nele vêm de uma leitura do leaderboard feita pela IBM no dia anterior, 8 de setembro de 2026

Restringindo a modelos zero-shot, replicáveis e avaliados sem vazamento de teste, a IBM diz que o r2 ficou em 2º lugar em CRPS e em MASE, atrás do TimesFM-3 (do Google Research), conforme essa leitura de 8 de setembro de 2026

Na mesma leitura, a IBM aponta o r2 como o modelo zero-shot de melhor desempenho entre os de licença permissiva e comercialmente amigável dentro da categoria replicável

Quando a comparação abre pra incluir modelos pretrained replicáveis (categoria que pode ter dados de treino do próprio GIFT-Eval no pré-treino), o r2 aparece em 3º em CRPS e 4º em MASE, superando Chronos-2, Timer-S1 e variantes do Toto

O que é o GIFT-Eval?

É um benchmark de previsão de séries temporais criado e operado pela Salesforce AI Research, com código no repositório do gift-eval e leaderboard no Hugging Face Space Salesforce/GIFT-Eval

O escopo é grande: 23 datasets, cerca de 144.000 séries temporais e 177 milhões de pontos, cobrindo sete domínios e 10 frequências

Tome cuidado com uma coisa aqui: tudo isso que eu listei acima é um retrato datado, tirado na véspera do anúncio, não o estado vivo do leaderboard

Leaderboard é coisa que muda, e ranking de terceiro pode usar metodologia diferente (média geométrica não é a mesma coisa que média de rank)

Então trate os números como o que eles são: o ponto de partida da conversa, não a resposta final

Quem se beneficia e o que a licença permite:

Os casos de uso citados pela IBM pra previsão zero-shot de propósito geral são demanda, preços, cargas de energia, tráfego, telemetria e outras séries temporais

Se você é a pessoa que mantém um modelo por dataset, você sabe a dor: cada série nova vira treino novo, retreino, monitoramento novo, mais um job no scheduler

A promessa do modelo de fundação é cortar essa parte e gerar previsão sem treinar nada

E aí vem o detalhe que costuma travar a adoção dentro de empresa: licença

O r2 é licenciado em dupla, Apache-2.0 e OpenMDW-1.0, e o usuário pode escolher qual das duas usar

Junto do lançamento vieram pesos, arquitetura, pipeline de inferência e o código necessário pra reproduzir os resultados do benchmark

Isso é o combo que faz o jurídico dormir tranquilo e o time de dados conseguir auditar o resultado

A IBM também destaca no anúncio o uso dos modelos da família Granite Time Series em aplicações de streaming em produção, com produto da Confluent

Como testar o PatchTST-FM-r2 na sua própria série:

Bora sair do anúncio e ir pro seu dado?

O caminho oficial passa pelo repositório granite-tsfm, mantido pela organização ibm-granite no GitHub, que reúne notebooks, utilitários e componentes de serving

  1. Confira a versão do Python antes de qualquer coisa: o granite-tsfm suporta Python 3.10, 3.11, 3.12 e 3.13

Checar ambiente antes parece burocracia, mas é exatamente o que evita perder a tarde, mesma lógica de descobrir se a sua distro roda uma ferramenta antes de sair instalando

O erro comum deste passo: assumir que o Python do sistema serve e só descobrir o problema no meio da instalação

  1. Clone o repositório e instale a partir do clone, usando os extras que o README documenta
git clone https://github.com/ibm-granite/granite-tsfm.git
cd granite-tsfm

Com o clone na mão, instale o pacote local pelo pip usando o extra notebooks pra montar o ambiente dos notebooks, ou o extra demos pra rodar as demos, exatamente como o README do granite-tsfm documenta

O erro comum deste passo: instalar sem o extra e depois ficar caçando dependência faltando no meio do notebook

  1. Abra o notebook oficial de introdução, que demonstra o uso do PatchTST-FM em previsão via forecasting pipeline
notebooks/hfdemo/patchtst_fm_getting_started.ipynb
  1. Carregue os pesos: eles ficam no Hugging Face Hub, no identificador ibm-granite/granite-timeseries-patchtst-fm-r2, e são carregados pelo pacote granite-tsfm na versão 0.3.9 ou posterior, por meio de uma API de pipeline

O erro comum deste passo: rodar com uma versão antiga do pacote e achar que o problema é o modelo

  1. Prepare a série: frequência consistente, buracos tratados e janela de contexto dentro do limite de 8.192 pontos

O horizonte é flexível, então defina o que faz sentido pro seu negócio (o horizonte que você realmente usa pra decidir), não o número que dá o melhor gráfico

O erro comum deste passo: preencher buraco de série com informação que só existiria no futuro, e isso vaza dado sem você perceber

  1. Separe treino e teste cortando por tempo, nunca de forma aleatória

Série temporal tem ordem, e split aleatório entrega o futuro de bandeja pro seu "teste"

O erro comum deste passo: avaliar em janela contaminada e comemorar um resultado que não existe

  1. Gere os intervalos a partir dos 99 quantis da cabeça probabilística, em vez de olhar só a linha central

Se a sua decisão é de estoque, capacidade ou alarme, a faixa é o que importa de verdade

  1. Compare contra uma baseline honesta, nas mesmas janelas de teste

Naive sazonal serve, e o modelo que já roda em produção serve ainda melhor

O erro comum deste passo (e é o mais frequente de todos): comparar contra nada, olhar o número bonito do zero-shot isolado e concluir que ele é melhor

CRPS ou MASE: qual métrica olhar na sua comparação?

O GIFT-Eval usa as duas, e elas respondem perguntas diferentes

Métrica O que ela mede Quando ela é a métrica certa pra você
CRPS Qualidade da distribuição prevista, ou seja, dos quantis Quando a decisão depende da faixa (pior caso, melhor caso), e não só do ponto central
MASE Erro da previsão pontual, em escala relativa Quando você precisa comparar o erro entre séries de escalas bem diferentes

No leaderboard do GIFT-Eval dá pra filtrar e ordenar exatamente por isso: existem colunas de Organization, TestData Leakage, MASE_Rank e CRPS_Rank, com ordenação pelos modelos que não vazam dados de teste

O resultado que você quer produzir no fim do teste é simples e cabe numa tabela: CRPS e MASE do PatchTST-FM-r2 e da sua baseline, nas mesmas janelas

Sem isso, é achismo com nome técnico 😛

Limitações antes de trocar de modelo:

Os números divulgados são do GIFT-Eval

Benchmark amplo é ótimo pra dizer que um modelo generaliza bem em média, e não diz nada sobre a sua série de demanda específica, com a sua sazonalidade específica e as suas promoções malucas de fim de mês

Previsão zero-shot pode perder, sim, para um modelo simples e bem ajustado ao seu domínio

A lógica aqui é a mesma de medir antes de trocar o modelo que você usa no seu fluxo de trabalho: a única evidência que vale é a que roda no seu dado

Antes de levar pra produção, confirme direto no card do modelo o nome exato do repositório, a licença e os requisitos de execução

Identificador de repo e detalhe de dependência mudam com o tempo, e vale mais dois minutos conferindo do que uma manhã debugando o que não era problema seu

Vídeo do canal pra começar do zero:

Pra quem quer entender como plugar documentação oficial e ferramentas externas no fluxo de código com IA, este vídeo do canal mostra o Context7 rodando junto com o Claude Code:

Conclusão:

O lançamento do Granite PatchTST-FM-r2 tira duas coisas caras da equação: a licença travada e o treino por dataset

Cerca de 385 milhões de parâmetros, contexto de até 8.192 pontos, 99 quantis e licença dupla Apache-2.0 / OpenMDW-1.0 formam um pacote que é bem difícil de ignorar se você mantém forecast em produção

Mas a decisão continua sendo sua, e ela depende do seu dado, não do leaderboard

Próximo passo concreto: clonar o granite-tsfm, rodar o notebook de introdução na sua série e montar aquela tabela de CRPS e MASE contra a baseline que já está no ar

Se o zero-shot ganhar, ótimo, você economizou um pipeline inteiro de treino

Se perder, também ótimo, você agora tem número pra defender o modelo que já roda 😀

até o próximo post!

Perguntas frequentes

Granite PatchTST-FM-r2 é de graça pra usar comercialmente?

Sim, o modelo é licenciado em dupla, Apache-2.0 e OpenMDW-1.0, e você escolhe qual das duas usar. Junto vieram pesos, arquitetura, pipeline de inferência e o código pra reproduzir os resultados do benchmark, o que facilita auditoria dentro de empresa.

Precisa treinar o PatchTST-FM-r2 na minha série antes de usar?

Não, a proposta é zero-shot: você joga o contexto (sua série histórica) e recebe a previsão sem treinar nada específico pro seu dataset. Os casos de uso citados pela IBM incluem demanda, preços, cargas de energia, tráfego e telemetria.

Qual o tamanho máximo de série que o modelo aceita como entrada?

O contexto máximo é de até 8.192 pontos. O horizonte de previsão não é fixo, o modelo aceita comprimentos de previsão flexíveis.

Quem quer atualizar do PatchTST-FM-r1 pro r2 perde os checkpoints antigos?

Não, a implementação do r2 segue compatível com checkpoints do PatchTST-FM-r1. A mudança principal foi no bloco interno, que trocou o transformer padrão pelo bloco conformer.

O que significa o modelo ter uma cabeça de 99 quantis?

Significa que a previsão sai probabilística, não um número único: o modelo gera uma cabeça de predição de 99 quantis pra cada ponto previsto. Isso dá uma noção de incerteza junto com a previsão, coisa que forecast determinístico não entrega.

O ranking do PatchTST-FM-r2 no GIFT-Eval é permanente?

Não, é um retrato datado: o artigo foi publicado em 9 de setembro de 2026 e as posições citadas vêm da leitura do leaderboard feita pela IBM no dia anterior, 8 de setembro de 2026. O GIFT-Eval é mantido pela Salesforce AI Research e o leaderboard muda conforme novos modelos entram na comparação.




Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares