In breve

Timestral è open source, gira anche senza scheda grafica e si prova gratis su Google Colab con due celle di codice. La versione più piccola pesa 21 MB. La guida che mi ha dato un assistente IA conteneva quattro errori nel codice e un'imprecisione sulla licenza: qui sotto trovi il codice che funziona davvero, i possibili usi per PMI e scuole e i limiti da conoscere.

Timestral di Mistral: previsioni di serie storiche, provato gratis su Google Colab

Cos'è Timestral

Timestral è una famiglia di modelli fondazionali per serie storiche: è stato addestrato su moltissime sequenze di numeri e sa proseguirne una nuova senza essere riaddestrato sui tuoi dati. È quello che in gergo si chiama previsione zero-shot. Dal repository ufficiale:

  • Quattro taglie: 5M (21 MB), 28M (111 MB), 123M (490 MB) e 209M parametri (837 MB).
  • Funziona su CPU: non serve una scheda grafica.
  • Previsioni probabilistiche: per ogni passo restituisce 21 quantili, cioè non solo il valore più probabile ma anche una forchetta («8 volte su 10 starà tra qui e qui»).
  • Storico lungo: fino a 32.768 punti, e accetta variabili esterne note in anticipo (per esempio i giorni festivi).

Mistral dichiara che la versione più grande è prima nei tre principali benchmark del settore (GIFT-Eval, TIME e fev-bench). Sono risultati dichiarati dall'azienda: aspetterei verifiche indipendenti prima di prenderli come definitivi.

Come provarlo gratis su Google Colab

Google Colab è un quaderno di codice Python che gira nel browser, gratuito con un account Google. Per i modelli piccoli di Timestral non serve nemmeno attivare la GPU. Bastano due celle.

Cella 1, l'installazione:

!pip install git+https://github.com/mistralai/timestral.git

Cella 2, la previsione con il grafico. Questo è il codice che alla fine ha funzionato:

import numpy as np
import matplotlib.pyplot as plt
from timestral import TimestralForecaster

forecaster = TimestralForecaster.from_pretrained("mistralai/Timestral-5M")

# 100 valori di prova: qui vanno i tuoi dati (visite, vendite, consumi...)
context = np.random.default_rng(42).standard_normal(100).cumsum()

h = 24  # quanti passi prevedere
forecast = forecaster.forecast(context, prediction_length=h)
mediana = np.squeeze(forecast.median)  # da (1, 1, 24) a (24,)

x = range(len(context), len(context) + h)
plt.plot(context, label="Dati storici")
plt.plot(x, mediana, "--", label="Previsione Timestral")
plt.legend()
plt.show()
Grafico del test su Google Colab: 100 valori storici in blu e 24 passi previsti da Timestral-5M in rosso
Il mio test su Google Colab con Timestral-5M: in blu i 100 valori di prova, in rosso i 24 passi previsti. I dati sono una passeggiata casuale, che per definizione non si può prevedere: il modello resta vicino all'ultimo valore invece di inventare un andamento, ed è la scelta giusta.

Se vuoi anche la forchetta di incertezza, prima di plt.legend() aggiungi queste righe (dalla documentazione ufficiale):

basso = np.squeeze(forecast.quantile(0.1))
alto = np.squeeze(forecast.quantile(0.9))
plt.fill_between(x, basso, alto, alpha=0.3, label="8 casi su 10")

Per usare dati veri basta caricare un CSV in Colab e sostituire la riga di context con qualcosa come pd.read_csv("visite.csv")["visite"].to_numpy().

I quattro errori della guida IA

Per questa prova mi sono fatto guidare da un assistente IA, come farebbe chiunque davanti a un modello appena uscito. Le spiegazioni erano chiare e sicure. Il codice, però, no:

  1. Una classe che non esiste. Il primo script importava Timestral: errore. La classe giusta è TimestralForecaster.
  2. Un'installazione che confondeva Python. Anche con il nome giusto l'import falliva: avevo installato il pacchetto dentro la cartella clonata e Python trovava quella invece del pacchetto. Soluzione: riavviare la sessione e installare direttamente da GitHub, come nella cella 1.
  3. Un metodo inventato. Lo script chiamava .to(device), tipico dei modelli PyTorch, ma questo oggetto non ce l'ha. Per la GPU si passa device="cuda" a from_pretrained.
  4. Le dimensioni sbagliate. La previsione esce con forma (serie, variabili, passi), cioè (1, 1, 24), e il grafico si rompeva. Serve np.squeeze.

C'è anche un'imprecisione più seria, perché non dà errori: la guida diceva che i pesi si possono usare «liberamente anche per scopi commerciali». La licenza invece esclude le aziende con più di 20 milioni di dollari di fatturato mensile. Per una scuola o una PMI non cambia nulla, per un grande gruppo sì.

Ogni errore è stato corretto in pochi secondi, ma solo perché leggevo il messaggio e lo riportavo. L'IA prepara, una persona verifica.

È lo stesso schema che ho visto quando ho fatto correggere lo stesso tema all'IA 50 volte: il tono è sempre sicuro, anche quando la risposta è sbagliata. Con un modello uscito da due settimane l'assistente non poteva conoscerne il codice e ha ricostruito nomi plausibili. Il README ufficiale, invece, aveva la risposta giusta fin dall'inizio.

A cosa può servire davvero

Una previsione di serie storiche è utile ovunque si raccolgano numeri nel tempo e si debba decidere qualcosa in anticipo:

  • PMI e negozi: vendite settimanali per ordinare la merce, richieste di preventivo per organizzare il personale.
  • Siti e social: visite e visualizzazioni, per capire se un calo è normale o è un segnale.
  • Energia: produzione del fotovoltaico e consumi, per spostare i carichi nelle ore giuste.
  • Scuola e formazione: iscrizioni ai corsi, accessi alla piattaforma, carichi di lavoro della segreteria nei periodi di picco.

Il vantaggio rispetto ai metodi classici è che non devi costruire e tarare un modello per ogni serie. E siccome gira su CPU, i dati possono restare sul tuo computer, come per gli altri strumenti di IA locale che uso.

I limiti da conoscere

  • Prevede, non spiega. Ti dice che le visite scenderanno, non perché.
  • Non conosce il futuro che conosci tu. Una promozione, una festività, una chiusura: se non le passi come variabili, il modello non le vede.
  • Va verificato sui tuoi dati. Il metodo più semplice: nascondi le ultime settimane, fai prevedere quelle e confronta con quello che è successo davvero. Se sbaglia di molto, non fidarti delle settimane future.

In sintesi

Timestral è uno strumento serio, gratuito per chi non è una multinazionale, e si prova in dieci minuti senza installare nulla sul computer. La cosa più utile che ho imparato, però, non riguarda Timestral: con gli strumenti appena usciti, la documentazione ufficiale batte l'assistente IA. Usa l'IA per farti spiegare, ma il codice controllalo sul README.

Domande frequenti

Timestral è gratuito? Il codice è open source (Apache 2.0) e i pesi del modello si scaricano gratis da Hugging Face con una licenza MIT modificata. Si può usare anche per lavoro, ma non se l'azienda (o il datore di lavoro) supera i 20 milioni di dollari di fatturato mensile: in quel caso serve una licenza commerciale di Mistral. Per scuole, professionisti e PMI è di fatto gratuito.

Serve una scheda grafica per usare Timestral? No. Timestral è pensato per girare su CPU. Io l'ho provato sul piano gratuito di Google Colab senza GPU, con la versione da 5 milioni di parametri (21 MB), e la previsione è arrivata in pochi secondi.

A cosa serve Timestral per una piccola azienda o una scuola? A stimare come proseguirà una serie di numeri raccolti nel tempo: visite al sito, vendite settimanali, richieste di preventivo, consumi energetici, iscrizioni a un corso. Dà una previsione centrale e una forchetta di incertezza. Non spiega le cause e non conosce eventi futuri (festività, promozioni) se non glieli passi tu.