Talk

Quanto è veloce la tua CPU/GPU per AI/ML? Una pipeline riproducibile per benchmark in locale

Saturday, May 30

11:05 - 11:35
RoomTagliatelle
LanguageItalian
Audience levelIntermediate
Elevator pitch

Eseguire LLM e ML in locale è ormai pratico, ma mancano numeri comparabili sulle prestazioni reali. Presento una suite Python open source che misura la velocità di inferenza LLM e di training tabulare, più una pipeline end-to-end a 0€ per raccogliere e pubblicare i risultati della community.

Abstract

Oggi troviamo ovunque benchmark di accuratezza per modelli open di AI, ma quasi nessuno che dica, in modo riproducibile e realistico, quanto andranno veloci sulla tua macchina - un aspetto fondamentale per usarli per davvero e magari dimenticare le soluzioni delle Big Tech. I benchmark hardware tradizionali sono spesso sintetici (FLOPs), autodichiarati dai produttori o comunque poco aggiornati rispetto ai tool che usiamo davvero in locale.

Questo progetto nasce per rispondere ad una domanda concreta: quanto rende davvero la mia CPU/GPU su workload AI/ML reali? Tutto è partito come semplice “side project” per rispondere alla mia curiosità. Da lì è nata l’idea di facilitare la condivisione e il coinvolgimento di tanti appassionati, grazie ad una pipeline end-to-end (basata solo su free tiers, a 0€) che permette a chiunque di contribuire con i propri risultati ad una community leaderboard.

La suite di benchmark (open source, su Github) misura due scenari molto comuni:

  • Inferenza LLM in locale via Ollama, con modelli open tra ~4B e 14B di parametri. Metrica principale: token/secondo
  • Training ML tabulare via XGBoost su un dataset standard (HIGGS) a scale crescenti (100K → 1M → 11M righe). Metrica principale: training time (secondi)

Tutto è definito in un singolo file YAML (modelli LLM da usare, dimensioni del dataset, uso CPU/GPU, ripetizioni). Un comando CLI esegue l’intera suite, ripete i test automaticamente e produce report riassuntivi immediatamente visibili in un notebook.

La parte più interessante - che è anche il cuore del talk - è mostrare come ho trasformato questo benchmark locale in una pipeline riproducibile e condivisibile, usando solo servizi gratuiti, con:

  • Artefatti standardizzati Ogni run esporta CSV puliti con metriche e metadati minimi dell’hardware, così i risultati restano confrontabili tra macchine diverse.
  • Condivisione sicura a frizione minima Gli artefatti vengono cifrati lato client (RSA-4096) e caricati su storage gratuito non autenticato (con opt-out). Obiettivo: abbassare la barriera di contribuzione senza rischiare leakage di file personali.
  • Ingest serverless e quality gates in CI GitHub Actions sostituisce un backend tradizionale: job schedulati rilevano nuovi upload, scaricano, decrittano, validano schema/valori e inseriscono i risultati in staging.
  • Minimo step manuale per la qualità L’unico passaggio manuale è la promozione da staging a reference, utile a tenere affidabile la classifica pubblica.
  • Osservabilità e leaderboard pubblica I risultati finiscono in Motherduck (DuckDB) e sono esplorabili via dashboard Streamlit Cloud, che già ospita molti benchmark della community per confronti immediati.

Perché penso che tutto questo sia utile? Innanzitutto, per offrire numeri realistici per decidere se/quanto conviene investire in una GPU per AI locale. Poi il progetto nel suo insieme mostra una blueprint concreta per operativizzare pipeline di valutazione/benchmarking senza infrastruttura pesante. Da ultimo, è un bell’esempio che dimostra che si può costruire un data product comunitario a costo zero (0€) usando pattern CI/serverless.

L’obiettivo è che chi ascolti si porti a casa:

  • Come progettare benchmark end-to-end davvero rappresentativi di workload reali.
  • Come rendere i benchmark riproducibili by design (config-as-code, ripetizioni, metadati robusti).
  • Come impacchettare e condividere metriche come artefatti comparabili e sicuri.
  • Come costruire una pipeline comunitaria con CI-orchestration, staging, validazione e dashboard, sfruttando solo free tiers.
TagsData Engineering, DevOps and SRE, ML and AI
Participant

Alberto Danese

Alberto Danese è Head of Data Science in Nexi, tra i maggiori player europei dei pagamenti digitali. Guida un team di data scientist e ingegneri che sviluppa prodotti di machine learning in produzione e soluzioni data-driven per il settore payments, con attenzione a scalabilità e impatto misurabile.

Ha oltre 15 anni di esperienza nei servizi finanziari: ha iniziato come consulente per grandi banche italiane su sicurezza IT, antiriciclaggio e prevenzione frodi, passando poi alla credit information ed infine ai pagamenti digitali, dove applica ML avanzato a problemi reali su larga scala.

È laureato in Ingegneria Informatica al Politecnico di Milano ed è un Kaggle Competitions Grandmaster. Condivide regolarmente esperienze e progetti tramite talk ad eventi ed meetup, oltre che con la scrittura (grazie al suo blog All About Data e due libri pubblicati negli ultimi anni).