Un benchmark è un contratto con un denominatore.
Il numero che dimentica il suo denominatore
Un risultato di benchmark può essere misurato correttamente e rispondere comunque alla domanda sbagliata. Il colpevole abituale non è un timer difettoso o un ingegnere disonesto. È il denominatore che è scomparso tra l'ambiente di test e la slide di presentazione. "Due volte più veloce" sembra un confronto, ma non dice due volte più veloce in quale lavoro, su quale macchina, con quale software, in quale condizione di qualità, rispetto a quale baseline, o per quali utenti. Rimuovi queste condizioni e un numero di prestazioni diventa un frammento rifinito. Può rimanere numericamente vero. Ma non dice più a un acquirente o a un operatore cosa possono aspettarsi.
Il denominatore è il lavoro rispetto al quale viene espresso il risultato. Per il throughput, è il lavoro completato e il tempo in cui il completamento viene conteggiato. Per la latenza, è la definizione della richiesta, il percorso incluso e la popolazione delle osservazioni. Per l'accuratezza, è l'insieme etichettato, la regola di etichettatura e l'unità valutata. Per l'energia, è il confine del sistema misurato e il lavoro erogato all'interno di quel confine. Per il costo, è il periodo di costo, le risorse incluse e il volume di lavoro utile. Un benchmark è onesto quando il suo numeratore e il suo denominatore viaggiano insieme.
Ecco perché un benchmark è meglio trattarlo come un contratto. Il contratto nomina la domanda, il carico di lavoro, l'ambito, l'hardware e il software, la metrica, la baseline, l'incertezza e il metodo con cui un'altra parte potrebbe verificare il risultato. Un contratto può essere ristretto. Può essere esplorativo. Può essere utile solo per una singola implementazione. Ciò che non può essere è un numero impressionante le cui condizioni sono lasciate al lettore per indovinare. Indovinare è un modo povero di allocare denaro pubblico, e un modo ancora più povero di progettare un servizio che qualcun altro deve mantenere in vita.
L'abitudine europea di scrivere definizioni è a volte derisa come burocrazia. Nel lavoro di misurazione, le definizioni sono la parte che impedisce alla burocrazia di diventare folklore. La tabella del benchmark non è un'appendice amministrativa al risultato. È la carta d'identità del risultato.
Leggi l'unità prima del titolo
Inizia con l'unità, ma non fermarti lì. Richieste al secondo, token al secondo, millisecondi, joule per query, euro per mille record e punti percentuali ti dicono qualcosa. Nessuno ti dice cosa è stato chiesto al sistema di fare. Un risultato di 100 richieste al secondo può descrivere piccole richieste in cache o grandi richieste non in cache che includono recupero, validazione e un passaggio umano. Una latenza di 20 millisecondi può coprire un singolo kernel o un intero percorso decisionale. L'unità è una porta. Il carico di lavoro è la stanza dietro di essa.
Supponiamo che una slide di procurement dica che un nuovo servizio è più veloce del 40 per cento rispetto a quello esistente. La frase non è ancora una prova. Ha bisogno almeno dell'operazione cronometrata, della dimensione e distribuzione dell'input, del lavoro escluso dal cronometro, della concorrenza, dello stato di warm-up, delle versioni software, dell'hardware e della configurazione baseline. Ha anche bisogno della condizione di qualità. Se il percorso più veloce restituisce meno risultati validi, scarta input lunghi o salta un costoso passaggio di verifica, il numeratore è stato ridotto cambiando il lavoro.
Questa non è una richiesta di un'enorme tabella prima che qualcuno possa parlare. È una richiesta di identificare i pochi campi che cambiano il significato dell'affermazione. Un piccolo benchmark di parsing può aver bisogno della forma del record, della fonte dell'input, della politica di validazione, del compilatore e del processore. Un benchmark di inferenza può aver bisogno di modello, precisione, batch, scenario, obiettivo di qualità e confine di potenza. Una coda del settore pubblico può aver bisogno della definizione del caso, dell'orologio del servizio, della regola di instradamento e del percorso di escalation. I campi differiscono. L'obbligo di nominarli no.
Qui c'è una disciplina utile: scrivere il risultato come una frase che possa reggere alla lettura di una seconda persona. «Sotto questo carico di lavoro e questo requisito di qualità, su questo sistema e questa versione, il valore misurato è stato questo, con questa variazione.» Se la frase non può essere completata senza parole come tipico, migliore, simile alla produzione o rappresentativo, il metodo non è finito. Quelle parole possono essere valide, ma richiedono una definizione operativa, non un tono rassicurante.
L'ambito fa parte del risultato
L'ambito risponde a una domanda semplice: cosa copre questo risultato e cosa lascia fuori dall'inquadratura? Nella valutazione dell'apprendimento automatico, l'ambito include il compito, il dataset, la suddivisione, la lingua, la lunghezza dell'input, lo scenario operativo e le scelte implementative consentite. In un servizio software, include la rotta, gli archivi dati, la rete, la cache e il lavoro che un team a valle svolge dopo che l'endpoint misurato ha risposto. Un risultato misurato su un livello non dovrebbe diventare silenziosamente una promessa sull'intero servizio.
MLCommons rende questo visibile nella documentazione di MLPerf Inference. La guida alla presentazione separa i tipi di sistema per datacenter e per edge, elenca scenari come offline, server, interactive, single-stream e multi-stream, e distingue una divisione chiusa da una divisione aperta. La divisione chiusa è pensata per un confronto alla pari che usa lo stesso modello e la stessa configurazione di riferimento. La divisione aperta consente scelte come il riaddestramento o la sostituzione del modello. Nessuna delle due è la divisione universalmente corretta. Rispondono a domande diverse. Un titolo che le mescola non è una visione ampia. È un errore di categoria con un'ottima tipografia.
La stessa documentazione mostra perché un benchmark ha bisogno di un lato qualitativo esplicito. Una voce elencata per ResNet50 indica il set di validazione ImageNet-2012, le dimensioni del dataset e della lista di campioni di query, un'accuratezza di riferimento e un vincolo di latenza del server. Per la voce elencata di ResNet50, la pagina riporta un set di validazione di 50 000 immagini, una lista di campioni di query di 1 024, un'accuratezza di riferimento del 76,46 per cento e un vincolo di latenza del server di 15 ms. Questi campi non sono dettagli per chi ama leggere le regole. Spiegano cosa poteva significare la velocità riportata. Cambia il dataset, lo scenario o il requisito di qualità e il confronto è cambiato, anche se il nome del modello sembra familiare.
Un acquirente europeo dovrebbe diffidare di un ambito implicito in un'etichetta di prodotto. «Piattaforma AI», «acceleratore» e «enterprise-grade» non definiscono il lavoro. Un sistema eccellente in un'operazione delimitata può essere esattamente ciò di cui un servizio ha bisogno. Un sistema che dichiara di coprire tutto potrebbe aver misurato quasi nulla di simile al servizio. Una verità circoscritta è più sana di una nebbia universale.
La copertura cambia il significato
La copertura non è una nota a piè di pagina sulla dimensione del set di test. Descrive quali casi e quali situazioni entrano nella misurazione. Un benchmark può coprire molti esempi di una sola distribuzione ristretta e dire comunque poco sui casi limite che contano in produzione. Al contrario, un set piccolo e accuratamente selezionato può far emergere una modalità di errore importante senza supportare un’affermazione generale sulle prestazioni. La scelta è una decisione di progettazione. Deve essere dichiarata come tale.
Il quadro dell’OCSE per caratterizzare gli strumenti di valutazione dell’IA è utile perché rifiuta di ridurre una valutazione a un unico punteggio. Propone 18 aspetti, tra cui copertura, scopo, realismo, validità, affidabilità, trasparenza e le condizioni in cui i risultati possono essere interpretati. La copertura chiede se la valutazione rappresenta ciò che intende misurare. Lo scopo distingue un benchmark pensato per la ricerca da uno pensato per la conformità o per un altro uso. Il realismo chiede se l’ambiente è un problema giocattolo, un ambiente simulato o di laboratorio, oppure la vita reale. Queste distinzioni non indeboliscono un benchmark. Rendono leggibile la sua affermazione.
La copertura include anche i casi che una valutazione esclude. Un servizio può riportare la latenza media dopo aver rimosso i timeout. Un classificatore può riportare l’accuratezza dopo aver scartato le etichette ambigue. Un sistema di recupero può contare solo le query con almeno un documento pertinente. Una pipeline di immagini può saltare i file corrotti. Ogni esclusione può essere difendibile. Il risultato deve dire cosa è stato rimosso e perché. Altrimenti il denominatore diventa silenziosamente un elenco di casi che era comodo portare a termine.
È qui che il denominatore diventa politico, anche prima che qualcuno usi la parola politica. La popolazione inclusa riceve il beneficio di essere misurata. La popolazione esclusa riceve una storia su un sistema che potrebbe non descriverla. Le istituzioni pubbliche europee lo sanno già dalle statistiche ufficiali. Il Codice delle statistiche europee di Eurostat stabilisce 16 principi e 84 indicatori per l’ambiente istituzionale, i processi e gli output. Il suo quadro di garanzia della qualità fornisce metodi e strumenti, mentre i rapporti sulla qualità dicono agli utenti come sono stati raccolti e validati i dati. Il messaggio per l’IA non è che ogni modello debba diventare un ufficio statistico. È che un numero destinato alle decisioni pubbliche ha bisogno di una storia visibile di produzione e qualità.
L’accuratezza non è un unico cancello
Le affermazioni sulle prestazioni spesso abbinano la velocità a un unico numero di qualità e poi trattano la coppia come completa. La qualità è di solito una famiglia di domande. L’output soddisfa la definizione del compito? Preserva i vincoli richiesti? Fallisce in modo sicuro quando mancano le prove? Si comporta in modo accettabile sull’intera popolazione pertinente? Rimane entro il confine di qualità mentre il sistema è sotto carico? Una risposta veloce che fallisce il compito non è una soluzione più rapida. È un carico di lavoro diverso che indossa lo stesso nome.
La struttura di MLPerf è istruttiva perché le sue esecuzioni sulle prestazioni stanno accanto alla validazione dell’accuratezza e ai requisiti specifici del modello. La guida all’invio dice ai partecipanti di identificare la divisione, il tipo di sistema e lo scenario, eseguire il benchmark previsto, validare l’accuratezza rispetto alle soglie e poi preparare un invio verificato. La pagina del benchmark elenca l’accuratezza di riferimento e le condizioni di latenza o throughput per ogni compito. La separazione è pratica. Impedisce a un sistema di vincere la colonna delle prestazioni perdendo silenziosamente il compito.
Anche l’accuratezza ha bisogno di un denominatore. “Accuratezza del novantotto per cento” può significare una percentuale di record, token, immagini, richieste o decisioni. Può usare la media micro o macro. Può contare un’astensione come errore, come rifiuto sicuro o come risultato non misurato. Può confrontarsi con etichette create da un revisore o da più revisori. Una scheda di benchmark dovrebbe indicare l’unità, la regola delle etichette, l’aggregazione, la confidenza o la variazione e qualsiasi soglia che trasformi una misurazione in una decisione di rilascio.
Non usare un numero di qualità come un permesso decorativo. Un modello può soddisfare una soglia pubblicata e restare inadatto a un servizio specifico perché il compito, la popolazione o il profilo di danno differiscono. Al contrario, un punteggio aggregato più basso può essere accettabile per uno strumento di bozza che mantiene un essere umano come autore, mentre lo stesso punteggio è inaccettabile per un gate automatico. La qualità è una relazione tra output, scopo e conseguenza.
Il tempo non è un numero unico
La latenza è spesso presentata come se un sistema avesse una sola velocità. I sistemi reali hanno una distribuzione. La prima richiesta può pagare un costo di avvio. Una cache può cambiare le richieste successive. Gli utenti concorrenti possono contendersi la memoria o una connessione al database. Un input lungo può seguire un percorso diverso da uno breve. La media può migliorare mentre la coda peggiora. Se la coda è il punto in cui un servizio manca la sua scadenza, la media è una distrazione con un'unità di misura.
Un report di latenza utile dice cosa è stato misurato e come sono state riassunte le osservazioni. Può includere una mediana, percentili superiori, tasso di timeout e il numero di richieste. Dovrebbe dichiarare se le richieste di riscaldamento sono state escluse, se i tentativi sono stati inclusi e se il tempo di accodamento o di rete appartiene al percorso misurato. Queste scelte non sono intercambiabili. Un benchmark di componente può essere prezioso, ma non deve essere raccontato come comportamento end-to-end.
Il throughput ha una trappola simile. Un tasso elevato può essere ottenuto raggruppando il lavoro, aumentando la concorrenza o allentando un requisito di qualità. Questo può essere esattamente giusto per un lavoro offline. Può essere inutile per un servizio interattivo che deve rispondere a ogni richiesta entro una scadenza. Il benchmark dovrebbe dichiarare lo scenario e il punto operativo, poi spiegare cosa accadrebbe quando la domanda si allontana da esso. Non c'è vergogna in un punto operativo ristretto. C'è vergogna nel fingere che sia l'intera mappa.
Il tempo ha anche un lato umano. Un servizio che risponde rapidamente ma crea più lavoro di revisione, correzione o ricorso può essere più lento dal punto di vista dell'istituzione. Un benchmark che ferma il cronometro prima del passaggio di consegne può far sembrare il sistema misurato svelto mentre il servizio reale accumula una coda. Il denominatore dovrebbe seguire il lavoro finché la domanda posta non riceve risposta. Altrimenti il cronometro sta misurando un'isola.
Hardware e software fanno parte del numeratore
"Su un server" non è un ambiente riproducibile. Generazione del processore, set di istruzioni, acceleratore, memoria, storage, stato termico, limite di potenza, sistema operativo, driver, compilatore, runtime, libreria e configurazione possono tutti modificare un risultato. Anche un formato di modello, un'impostazione di quantizzazione, la dimensione del batch, la selezione del kernel o la politica dei thread possono farlo. Il benchmark non deve elencare ogni cavo. Deve identificare le parti che possono alterare la misurazione.
MLPerf chiama la configurazione misurata completa sistema sotto test e organizza i risultati per tipo di sistema e categoria di disponibilità. Questo vocabolario è utile oltre MLPerf. Un sistema sotto test ha un confine. Il confine dice quale hardware e software sono inclusi, quali servizi sono esterni e quale lavoro è omesso. Una misura di potenza rilevata alla presa ha un significato diverso da una che conta solo un acceleratore. Una latenza misurata all'interno di un kernel ha un significato diverso da una che include la pianificazione delle richieste.
Le versioni contano perché un benchmark è un confronto tra stati, non una proprietà senza tempo di un nome di prodotto. Registra la versione del modello o dell'applicazione, le versioni delle dipendenze, i flag del compilatore, il driver e il firmware dove influenzano il risultato. Registra la configurazione che ha selezionato un backend o una precisione. Se un runtime sceglie un kernel diverso su un'altra macchina, questo fa parte del risultato, non un dettaglio di implementazione da sistemare in seguito.
La divulgazione dell'hardware non è un invito a trasformare un post del blog in un catalogo di componenti. È un modo per prevenire false equivalenze. Un acquirente non ha bisogno di preoccuparsi di ogni istruzione se l'affermazione riguarda un servizio completo. Deve però sapere se il confronto include lo stesso lavoro, la stessa accuratezza, lo stesso percorso di input e un sistema che possa essere effettivamente ottenuto e gestito nel contesto europeo previsto.
I benchmark sono promesse
Un benchmark è il confronto che dà una direzione al risultato. Senza di esso, un numero può descrivere un sistema ma non un miglioramento. Il benchmark deve rispondere alla stessa domanda in condizioni comparabili. Se il nuovo percorso usa un compilatore più recente, una distribuzione di input diversa o un obiettivo di qualità differente, il risultato può essere comunque interessante, ma il confronto non è più pulito. Dichiara cosa è cambiato. Il lettore potrà poi decidere se la differenza è utile.
La scelta del benchmark è un atto di interpretazione. Confronta con il sistema che gli utenti usano realmente, con un'implementazione di riferimento, con una versione precedente o con un limite teorico, e imparerai cose diverse. Un nuovo sistema può essere migliore del riferimento e peggiore del servizio che sta sostituendo. Può essere più veloce in un test pulito e più lento quando si includono validazione e archiviazione. Il benchmark deve nominare il riferimento e spiegare perché risponde alla domanda operativa.
Le esecuzioni accoppiate sono spesso più informative di un singolo giro di vittoria. Mantieni fisse la definizione del carico di lavoro e della valutazione, cambia un solo fattore materiale e registra la differenza. Se più fattori cambiano insieme, descrivi il confronto come un pacchetto, senza attribuire l'intero effetto a un singolo componente. Sembra ovvio, finché un aggiornamento, un aggiornamento dei dati e una nuova policy di cache arrivano nella stessa release. Il grafico avrà allora una freccia e tre possibili cause, un piccolo mistero che nessuno aveva previsto.
Un benchmark ha anche una scadenza. Un feed di dati, un fornitore, un modello, una policy o una piattaforma hardware possono cambiare. Il confronto rimane valido per le versioni e il periodo testati. Non dovrebbe essere riutilizzato come garanzia attuale senza verificare il contratto. È qui che la cronologia delle versioni dimostra il suo valore. Un risultato superato non è un fallimento. È un'affermazione storica le cui condizioni dovrebbero rimanere visibili.
L'incertezza non è una scusa
Ogni misurazione contiene variazione. Parte della variazione deriva dal sistema, parte dal carico di lavoro e parte dal processo di misurazione. Esecuzioni ripetute possono rivelarla, ma la ripetizione da sola non spiega la causa. Una cache calda può essere stabile. Un vicino rumoroso potrebbe non esserlo. Un piccolo set di valutazione può produrre un'ampia gamma di risultati plausibili. Un set più ampio può ridurre il rumore di campionamento lasciando intatta una popolazione distorta. L'incertezza dice al lettore quanto lontano può viaggiare in sicurezza il risultato.
Riporta l'incertezza in una forma adatta all'affermazione. Può essere un intervallo tra esecuzioni ripetute, un intervallo di confidenza, un errore standard, una distribuzione della latenza, un'analisi di sensibilità o un elenco di limiti noti. Non aggiungere un intervallo di confidenza solo perché la tabella sembra vuota. Dichiara cosa è stato ripetuto, cosa è stato mantenuto fisso e cosa l'intervallo rappresenta e cosa non rappresenta. Il linguaggio statistico non è un incantesimo. È un contratto sulla variazione.
Esiste un secondo tipo di incertezza che i numeri non possono eliminare: l'incertezza sul fatto che la misurazione rappresenti il servizio previsto. Un risultato può avere una variazione minima tra le esecuzioni e una scarsa copertura nel mondo reale. Un benchmark può essere perfettamente riproducibile in laboratorio, ma non cogliere le lingue, i formati di input, i modelli di turno o le conseguenze dei guasti della distribuzione. Un basso rumore di misurazione non crea validità. Rende semplicemente più coerente la risposta alla domanda sbagliata.
L’incertezza dovrebbe quindi stare accanto all’affermazione, non in una nota in fondo alla pagina. Se una soglia è vicina al limite misurato, questo conta. Se un risultato cambia in modo sostanziale con una diversa combinazione di input, questo conta. Se il confine energetico esclude il raffreddamento o lo spostamento dei dati, questo conta. La frase onesta può essere meno trionfale, ma offre a chi deve decidere qualcosa di meglio dell’ottimismo: un punto in cui collocare la cautela.
La riproduzione è una catena, non un pulsante di download
La riproducibilità viene spesso ridotta alla pubblicazione del codice. Il codice conta. È solo un anello della catena. Una seconda parte ha bisogno anche del workload o di una descrizione legittima di esso, della versione dei dati, della configurazione, dell’ambiente, del comando o dell’harness, della politica sullo stato casuale, della regola per l’output atteso, del file dei risultati e del metodo usato per decidere se l’esecuzione corrisponde. Se manca un anello, la seconda parte può riprodurre un esperimento simile, non quello riportato.
La catena dovrebbe distinguere la riproduzione esatta dalla replica indipendente. La riproduzione esatta usa l’artefatto catturato, lo stato, gli input, la configurazione e il percorso di esecuzione per verificare se la stessa esecuzione può essere ricostruita. La replica indipendente usa un ambiente preparato separatamente per verificare se il risultato sopravvive al di fuori della macchina o del team originale. Entrambe sono preziose. Rispondono a domande diverse. Un risultato byte-identico su un input catturato dimostra una forte affermazione di identità per quella esecuzione. Non dimostra che il mondo reale rimarrà invariato.
Il quadro di valutazione dell’OECD rende questa distinzione più facile da vedere trattando scopo, realismo, copertura e affidabilità come aspetti separati. Una valutazione può essere eccellente per i test di regressione e scarsa per stimare le prestazioni del servizio in produzione. Può essere utile per la ricerca e inadatta alla conformità. La riproduzione non cancella lo scopo. Aiuta il lettore a verificare l’affermazione che il metodo supporta effettivamente.
Per i dati che non possono essere rilasciati, pubblica il confine e il percorso. Descrivi la popolazione, il processo di campionamento, il metodo di etichettatura, le regole di esclusione e i controlli di validazione. Fornisci un pacchetto di riproduzione sicuro quando possibile e spiega cosa rimane protetto. “I dati sono riservati” è un confine legittimo, non un metodo completato. Il lettore dovrebbe comunque essere in grado di capire cosa è stato misurato e perché il risultato dovrebbe o non dovrebbe essere generalizzato.
Le istituzioni pubbliche dovrebbero rifiutare il teatro dimostrativo
Le istituzioni pubbliche non devono rifiutare i benchmark. Devono rifiutare i benchmark che non sanno dichiarare il proprio contratto. Una dimostrazione curata può aiutare un comitato a comprendere una possibilità. Non può sostituire le prove sul servizio che l'istituzione deve gestire, sulle persone che serve e sui guasti che deve riparare. La distinzione conta perché una demo è ottimizzata per un incontro breve, mentre un servizio pubblico viene giudicato attraverso stagioni, avvicendamenti del personale, ricorsi, manutenzione e legge.
Prima di acquistare, chiedete al fornitore di definire il carico di lavoro nel linguaggio del servizio. Cosa entra nel sistema? Cosa viene misurato? Cosa viene escluso? Quale regola di qualità deve valere? Quale ruolo umano esamina un risultato? Come si individua la deriva? Come può l'istituzione esportare le proprie prove? Cosa succede quando cambiano il modello, la fonte, il fornitore o la policy? Quale versione è il termine di confronto? Qual è il percorso di rollback? Un fornitore può rispondere ad alcune domande con un contratto, ad alcune con un test e ad alcune con un confine onesto. Questa combinazione è più sana di una risposta fatta solo di aggettivi.
L'AI Act dell'UE esprime il concetto in linguaggio giuridico per i sistemi ad alto rischio. L'articolo 15 richiede un livello adeguato di accuratezza, robustezza e cybersicurezza, con prestazioni costanti sotto questi aspetti per tutto il ciclo di vita. Un benchmark da solo non può stabilire l'intero obbligo giuridico. Può sostenere una parte delle prove se il suo ambito, le condizioni di qualità e la posizione nel ciclo di vita sono chiari. Trattare un singolo punteggio come conformità sarebbe un altro errore di denominatore. La legge indica l'esito; l'ingegneria deve mostrare il percorso.
L'approvvigionamento dovrebbe anche chiedere chi possiede il benchmark dopo l'aggiudicazione. Un test preparato dal fornitore può essere utile, ma l'istituzione ha bisogno di informazioni sufficienti per monitorare il sistema nel proprio contesto. Serve una baseline che possa essere rieseguita quando cambia una versione, un percorso di revisione quando i risultati si spostano e una registrazione delle decisioni prese sulla prestazione accettabile. Altrimenti il primo benchmark è un esame di ammissione e il sistema in produzione può laurearsi senza ulteriori domande.
Rendete la scheda di benchmark abbastanza piccola da essere usata
I metodi lunghi possono essere necessari. Non sono sempre la prima cosa di cui un lettore ha bisogno. Una scheda di benchmark è un indice compatto del contratto. Può stare accanto a un risultato in un report, in un registro di valutazione o in un fascicolo di gara. La scheda deve indicare la domanda, il carico di lavoro, l'ambito, il sistema, la metrica, il requisito di qualità, la baseline, l'incertezza, il percorso di riproduzione, il proprietario e la scadenza o il fattore di modifica. Il metodo dettagliato può stare dietro. La scheda impedisce che l'affermazione viaggi da sola.
Le buone schede sono selettive, non affollate. Mettono in evidenza i campi che possono cambiare l'interpretazione, poi collegano al pacchetto di prove. Una scheda sulla latenza potrebbe mettere in primo piano dimensione dell'input, concorrenza, percentile, warm-up, versione e regola di timeout. Una scheda sull'energia potrebbe mettere in primo piano il confine del sistema, il carico di lavoro, lo strumento di misura, la durata e le infrastrutture escluse. Una scheda sull'accuratezza potrebbe mettere in primo piano la popolazione, la regola di etichettatura, l'aggregazione, il trattamento dell'astensione e la gravità dell'errore. La forma comune non è un modello fisso. È una promessa che il lettore possa trovare il denominatore.
La scheda deve indicare lo stato epistemico. Il valore è misurato, stimato, atteso, proposto o illustrativo? La baseline è aggiornata? La suite di valutazione è preparata ma non ancora eseguita? I risultati sono protetti perché il materiale di test contiene dati personali? Queste etichette impediscono che un metodo venga scambiato per un risultato. Consentono inoltre a un'organizzazione di pubblicare i progressi senza fabbricare successi. Un test preparato è un'informazione utile. Non è la prova che il sistema lo abbia superato.
Infine, assegna alla carta un proprietario e una regola di modifica. Un risultato senza proprietario decade in una slide. Un risultato senza regola di modifica resta sulla parete dopo che il carico di lavoro si è spostato. Il proprietario non deve difendere il numero per sempre. Deve però dire quando la rivendicazione va rieseguita, ritirata o ristretta. La misurazione diventa parte delle operazioni quando qualcuno ha l'autorità di mantenerla onesta.
Due modi onesti di pubblicare un risultato
Esistono due modalità di pubblicazione comuni. La prima è un confronto rigoroso. Fissa il compito, i dati, la regola di qualità, il confine del sistema e la baseline, così che un lettore possa confrontare le alternative. La seconda è una misurazione esplorativa. Chiede cosa succede quando cambiano un design, un carico di lavoro o un ambiente, e riporta le osservazioni con i loro limiti. Il lavoro esplorativo può essere prezioso prima che esista un benchmark rigoroso. Non dovrebbe però prendere in prestito il linguaggio di un risultato di conformità.
I confronti rigorosi sono impegnativi perché rendono visibili le differenze. Se un team cambia il modello e l'hardware insieme, potrebbe essere impossibile attribuire il risultato. Se un nuovo carico di lavoro è più realistico ma non corrisponde più alla baseline, la rivendicazione va riformulata come nuova misurazione. Se un'ottimizzazione migliora la velocità ma cambia la qualità dell'output, riporta entrambi gli aspetti. La disciplina non serve a impedire il progresso. Serve a impedire che una storia di progresso cancelli la condizione che lo ha reso possibile.
Le misurazioni esplorative richiedono la loro onestà. Dì che il campione è piccolo, che l'ambiente è provvisorio, che il carico di lavoro è sintetico, che il risultato non è stato replicato in modo indipendente o che il controllo di qualità è incompleto. Non sono debolezze da nascondere fino a un rilascio rifinito. Sono le informazioni che aiutano un lettore a decidere cosa fare dopo. Una cultura ingegneristica europea non deve fingere che ogni test sia un verdetto definitivo. Deve smettere di chiamare risolta una domanda prima che il test sia stato letto.
Entrambe le modalità traggono beneficio da un archivio dei risultati. Mantieni identificabili vecchie definizioni, configurazioni ed esiti. Registra la sostituzione invece di cancellare il passato. Un benchmark modificato può essere il benchmark giusto per un servizio modificato, ma non può essere usato per riscrivere il significato del vecchio risultato. La cronologia delle versioni è la memoria del denominatore.
La nostra breve nota
In Dweve, descriviamo Core con una cella di esecuzione e un contratto di determinismo. La parte utile di quel vocabolario non è il nome del prodotto. È l'insistenza sul fatto che un'operazione porta con sé la sua rappresentazione numerica, il backend, il set di istruzioni, la politica di dispatch e la postura di replay come parte del percorso valutato. È la stessa abitudine di cui un benchmark ha bisogno: mantenere le condizioni legate al risultato invece di descrivere le prestazioni come se fluttuassero sopra il sistema.
Questa è una breve nota di design, non una rivendicazione su una distribuzione esterna o un risultato misurato. La lezione più ampia non dipende da Dweve. Che il sistema sia un servizio statistico pubblico, un controllore industriale, uno strumento linguistico o un prototipo di ricerca, un numero guadagna fiducia nominando il proprio lavoro e i propri limiti. La nostra documentazione è semplicemente un luogo in cui proviamo a rendere esplicito quel confine.
Il denominatore è la parte che viaggia
Un titolo di benchmark è facile da copiare. Il denominatore è più difficile da portare con sé, ed è per questo che spesso viene lasciato indietro. Un acquirente copia una cifra di throughput in un business case. Un regolatore vede un punteggio di accuratezza in un dossier. Un ingegnere confronta due grafici di carichi di lavoro diversi. Un giornalista ripete una percentuale senza la popolazione. Ogni lettore riceve un numero che ha perso il contratto che lo rendeva significativo.
La riparazione non è complicata, anche se richiede disciplina. Dare un nome alla domanda. Definire il lavoro. Dichiarare l'ambito e le esclusioni. Identificare il sistema e le versioni. Scegliere una metrica che corrisponda al servizio. Mantenere una baseline. Misurare la variazione. Pubblicare il metodo e le prove. Segnare ciò che resta sconosciuto. Dare all'affermazione un proprietario e un motivo per essere ripetuta. Se il risultato non può sostenere un'affermazione ampia, restringere l'affermazione.
È così che l'Europa può resistere al teatro delle demo senza diventare allergica all'ambizione. Un'istituzione pubblica può acquistare nuove capacità e pretendere comunque un benchmark che rispetti il servizio. Un team di ricerca può pubblicare un risultato entusiasmante e dichiarare comunque il carico di lavoro che lo ha prodotto. Un fornitore può mostrare un percorso rapido e dire comunque dove quel percorso si ferma. Un ambito onesto non è un freno all'innovazione. È la superficie stradale che permette a chiunque altro di guidare.
Il benchmark è un contratto con un denominatore, perché il denominatore ci dice cosa è stato realmente fatto. Tenerlo accanto al numero. Il risultato diventerà meno magico, più comparabile e molto più utile. È uno scambio equo. I sistemi da cui le persone devono dipendere meritano numeri che possano sopravvivere a una lettura lenta.
Quando una metrica viaggia tra mondi
I numeri dei benchmark spesso lasciano il team che li ha misurati ed entrano in un diverso sistema decisionale. Un ricercatore pubblica una tabella. Un team di prodotto trasforma una riga in un obiettivo. Gli acquisti trasformano l'obiettivo in un contratto. Le operations trasformano il contratto in un'aspettativa di livello di servizio. Ogni passaggio cambia ciò che al numero viene chiesto di fare. Il denominatore originale può essere ancora presente nel documento o nel repository, ma è diventato socialmente distante dalla decisione. Una metrica ha bisogno di una nota di traduzione ogni volta che attraversa quel confine.
La nota di traduzione può essere semplice. Questo risultato riguarda il throughput dei componenti, non i casi completati. Questa cifra di accuratezza usa un set di etichette fisso, non risultati dal vivo. Questo valore energetico esclude il confine del raffreddamento del data centre. Questa baseline è un'implementazione di riferimento, non il servizio esistente. Queste frasi impediscono a una misurazione utile di diventare una promessa fuorviante. Rendono anche più facile il disaccordo. Un lettore può contestare il confine invece di discutere se il numero sia impressionante.
Team diversi possono scegliere deliberatamente denominatori diversi. Un team di piattaforma può preoccuparsi del lavoro per joule. Un responsabile del servizio può preoccuparsi delle decisioni completate per ora di personale. Un'autorità pubblica può preoccuparsi di risultati corretti e spiegabili per una popolazione definita e dei tempi di risposta. Non sono verità in competizione se ciascuna è dichiarata. I problemi iniziano quando il denominatore più facile viene lasciato rappresentare la missione. Il kernel più veloce non rende automaticamente il servizio migliore, così come il set di test più ampio non rende automaticamente quello più pertinente.
Prima di riutilizzare un benchmark, chiedersi cosa è cambiato: il carico di lavoro, il proprietario, la conseguenza o l'orizzonte temporale. Se uno di questi è cambiato, ripetere l'interpretazione anche quando il numero sottostante è invariato. La misurazione non è una reliquia da portare da una stanza all'altra. È una relazione che va rinnovata quando la stanza cambia.
Un risultato dovrebbe sapere quando scadere
I risultati hanno una vita utile. Un benchmark legato a una versione del modello, a uno snapshot della fonte o a una configurazione hardware diventa storico quando queste condizioni cambiano. Questo non rende falso il vecchio risultato. Cambia la domanda a cui può rispondere. Il report dovrebbe indicare quale evento rende obsoleta l'affermazione: un nuovo modello, un compilatore modificato, una nuova distribuzione dei dati, una regola di etichettatura rivista, una sostituzione hardware, un cambiamento di policy o un segnale di deriva osservato. Una regola di scadenza è un piccolo pezzo di memoria istituzionale.
Without an expiry rule, numbers accumulate like coats on a chair. Each one is technically still there, and nobody knows which one belongs to today. A result register can keep the full history while marking the current comparison, the superseded definition and the reason for rerunning. The act of rerunning is then ordinary maintenance rather than a crisis response. This is especially important for public services, where a result may outlive the team that produced it.
Expiry also protects honest progress. If a new workload reveals that an earlier benchmark was too narrow, the organisation can publish the change, preserve the old method and explain the new boundary. It does not need to defend a stale number or pretend that the old number never existed. A benchmark that can be narrowed, replaced and understood is more useful than one that must remain impressive forever.
Sources
- A framework for characterising evaluation instruments of AI performance, OECD, AI and the Future of Skills, Volume 2. The chapter’s 18-facet framework, including coverage, purpose, realism, validity, reliability and transparency, was consulted.
- Constructing a framework to measure AI capabilities, OECD, AI and the Future of Skills. The chapter’s evidence-based, cautious measurement framing and limits of current benchmark coverage were consulted.
- European Statistics Code of Practice, Eurostat. The 16 principles and 84 indicators for the European Statistical System were consulted.
- Quality Assurance Framework, Eurostat. The framework’s methods, tools and good-practice role in implementing the Code of Practice were consulted.
- Eurostat’s quality policy, Eurostat. The four levels of quality assurance and the role of quality and metadata reports were consulted.
- MLPerf Inference submission guide, MLCommons. System types, scenarios, divisions, accuracy checking and submission steps were consulted.
- MLPerf Inference benchmark documentation, MLCommons. The published benchmark fields and examples, including dataset, quality and latency conditions, were consulted.
- MLPerf Inference working group, MLCommons. The purpose of fair and representative inference benchmarks and the reproducibility challenge across hardware and software were consulted.
- Regulation (EU) 2024/1689, the Artificial Intelligence Act, EUR-Lex. Article 15 on accuracy, robustness, cybersecurity and lifecycle consistency was consulted.
- Dweve Core, Dweve. The public definitions of execution cell and determinism contract support the brief, disclosed Dweve note only.