Definire cosa varia e cosa costituisce una ripetizione
Parti dalla domanda: stai valutando l'effetto dell'inizializzazione di un addestramento, dell'ordine dei dati, di uno split train/test o di una generazione stocastica? Un seed controlla un generatore casuale; da solo non identifica tutte queste dimensioni. Mantieni una riga per esecuzione e per i fattori realmente modificati.
Rilanciare dieci volte la valutazione deterministica dello stesso checkpoint sullo stesso corpus non produce dieci addestramenti indipendenti. Allo stesso modo, mille predizioni provenienti da un solo modello non sostituiscono più addestramenti per stimarne la variabilità. Scegli l'unità di ripetizione corrispondente alla decisione.
Prima della serie, fissa la metrica principale, il suo verso e l'effetto minimo che giustificherebbe il cambiamento. Negli esempi seguenti, un valore più alto è preferibile e la soglia utile illustrativa è di 0,30 punti su una metrica visualizzata da 0 a 100. Questa soglia deriva dalla decisione del progetto, non da una regola statistica universale.
Appaiare le configurazioni su condizioni comuni
Per una coppia i, esegui il riferimento A e il candidato B sullo stesso split dei dati e con le condizioni comuni previste. Calcola poi dᵢ = score(Bᵢ) − score(Aᵢ). L'appaiamento riguarda una corrispondenza definita prima dei risultati; non consiste nell'associare a posteriori i punteggi che si somigliano.
Usare la stessa lista di seed può aiutare a organizzare le coppie, ma due architetture possono consumare i numeri casuali in modo diverso. Dichiara separatamente i seed di inizializzazione, dei dati e di generazione quando il tuo codice li distingue. Registra anche le partizioni o i loro identificatori: un intero in comune non prova che i dati siano stati percorsi allo stesso modo.
Se una coppia contiene un fallimento, mantieni entrambi gli stati e spiega come verrà trattata. Non confrontare la media di cinque candidati riusciti con quella di sei riferimenti senza segnalare il cambio di popolazione.
Fonti tecniche: NIST — corrispondenza tra osservazioni appaiate
Conservare i limiti del seed e del determinismo
PyTorch indica che risultati del tutto riproducibili non sono garantiti tra versioni, piattaforme o esecuzioni CPU e GPU, anche con un seed identico. La sua guida distingue il controllo dei generatori da quello delle operazioni non deterministiche. Registra le versioni e le opzioni applicate invece di riassumere l'ambiente con «seed fissato».
Un'esecuzione deterministica serve in particolare a ritrovare un comportamento in condizioni date. Non dimostra che il modello resiste ad altre inizializzazioni o dati. Al contrario, una differenza tra due rilanci identici merita una diagnosi prima di essere interpretata come l'effetto del candidato.
Mantieni la stessa politica di determinismo per entrambe le varianti. Se la cambi per diagnosticare un errore, identifica quella serie separatamente. Il risultato sperimentale deve restare legato alle condizioni in cui è stato ottenuto.
Fonti tecniche: PyTorch 2.14 — riproducibilità e controllo della casualità
Esempio calcolato: cinque differenze appaiate
Ecco cinque coppie fittizie destinate al calcolo, senza addestramento eseguito. I seed sono identificatori di esempio. Il riferimento e il candidato usano qui lo stesso protocollo di confronto. I punteggi sono espressi su 100; le differenze sono punti, non percentuali relative.
La media delle differenze è (0,4 + 0,3 + 0,1 + 0,5 + 0,1) / 5 = 0,28 punti. La loro mediana è 0,30 punti e il loro intervallo va da 0,10 a 0,50. La deviazione standard campionaria delle differenze è di circa 0,179 punti, con denominatore n − 1. I cinque segni sono positivi, ma l'ampiezza resta considerevole rispetto al guadagno medio.
| Seed illustrativo | Riferimento A | Candidato B | B − A |
|---|---|---|---|
| 17 | 71,0 | 71,4 | +0,4 |
| 29 | 71,6 | 71,9 | +0,3 |
| 43 | 71,3 | 71,4 | +0,1 |
| 71 | 70,8 | 71,3 | +0,5 |
| 101 | 71,8 | 71,9 | +0,1 |
Leggere un intervallo senza attribuirgli una portata eccessiva
Per illustrare un calcolo usuale, supponiamo che le differenze siano indipendenti tra coppie e provengano da una distribuzione approssimativamente normale. L'intervallo di Student al 95% per la loro media usa qui quattro gradi di libertà: 0,28 ± 2,776 × 0,080, ovvero circa [0,058; 0,502] punti. Con solo cinque coppie, la forma della distribuzione è difficile da valutare; il calcolo non rende vere queste ipotesi.
Questo intervallo è sopra lo zero nell'esempio, ma copre la soglia utile fissata a 0,30 punti. Non sostiene quindi la regola rigorosa «il guadagno medio supera 0,30 punti». Una differenza positiva può restare troppo piccola o troppo incerta per giustificare il cambiamento.
Un intervallo al 95% descrive una procedura di copertura sotto le sue ipotesi, non una probabilità del 95% associata al parametro dopo il calcolo. Qui copre solo la variazione rappresentata dalle coppie, non automaticamente un altro dominio, un altro corpus o un futuro hardware.
Se usi SciPy, ttest_rel confronta campioni appaiati e propone un intervallo di confidenza. L'ordine degli array fissa il segno: per B − A, metti B per primo. Conserva i valori e il metodo utilizzato, non solo un p-value.
Fonti tecniche: NIST — intervallo di confidenza per una media · SciPy 1.18 — ttest_rel e intervallo delle differenze
Preparare la decisione e le ripetizioni successive
Il risultato dell'esempio è «guadagno utile non dimostrato», non «candidato inutile». A seconda del costo del cambiamento, puoi mantenere il riferimento, proseguire la raccolta o testare una modifica più sostanziale. Annuncia questa regola prima di avere la serie sotto gli occhi. Un limite inferiore sopra la tua soglia utile sosterrebbe maggiormente l'adozione, a condizione che il resto del protocollo sia valido.
Pianifica le ripetizioni a partire dalla precisione necessaria e dalla variabilità attesa, con una riserva per i fallimenti. Non esiste un numero di seed che garantisca universalmente una conclusione. Un pilota può aiutare a stimare la dispersione; mantieni il suo stato esplorativo e fissa poi la procedura di conferma.
Evita di guardare dopo ogni coppia e poi di fermarti non appena il risultato diventa favorevole usando un intervallo previsto per una numerosità fissa. Scegli una numerosità e un'analisi in anticipo, oppure un metodo sequenziale adatto. Aggiungere prove solo al candidato deludente cambia anche l'equilibrio del confronto.
Non confondere variabilità di addestramento e valutazione del corpus
Una serie di seed su un test set fisso informa sulla variazione degli addestramenti su quel set. Non misura da sola l'incertezza legata alla scelta degli esempi di test. Se la tua domanda riguarda anche le partizioni o i domini, prevedi un piano che vari queste dimensioni senza mescolarle in un unico contatore di ripetizioni.
Tieni una valutazione finale separata dalle scelte dei modelli. Selezionare tra numerose varianti con lo stesso test favorisce le opzioni che vi appaiono buone per caso. I sottogruppi e le metriche complementari devono chiarire la decisione, con il loro numero e il loro stato esplorativo visibili.
L'output finale riunisce i punteggi grezzi, le coppie, le differenze, la dispersione, il metodo dell'intervallo e la decisione rispetto alla soglia utile. Allega i fallimenti e i limiti di generalizzazione. Puoi allora spiegare perché lo scarto ti sembra sufficiente, insufficiente o ancora indecidibile.
Fonti tecniche: scikit-learn — tenere il test fuori dalle scelte dei modelli
Domande pratiche
Cinque seed bastano per scegliere?
Cinque seed possono servire per una prima osservazione, ma non garantiscono una precisione sufficiente. Il numero necessario dipende dalla variabilità e dal più piccolo effetto utile. Esamina le differenze grezze e l'incertezza; un risultato ancora indecidibile richiede un protocollo meglio dimensionato, non un numero magico.
Un intervallo che contiene zero dimostra l'equivalenza?
Un intervallo che contiene zero non dimostra l'equivalenza. Può anche essere compatibile con guadagni o perdite importanti. Per sostenere un'equivalenza pratica, fissa in anticipo un margine accettabile e usa un'analisi adatta a questa domanda, con abbastanza precisione per esaminarla.
Posso pubblicare solo il seed migliore?
Il seed migliore descrive una selezione favorevole, non la performance tipica della procedura. Pubblica l'insieme delle ripetizioni previste e la regola di selezione del modello distribuito. Se questo modello migliore deve essere valutato, usa una valutazione finale che non è servita a sceglierlo.