1. Scrivi la domanda prima di preparare le varianti
Un confronto utile risponde a una decisione precisa: aumentare la lunghezza massima evita le risposte troncate? Un livello di dettaglio conserva i contorni necessari? Un gruppo più grande termina senza errori? Scegli una domanda e un solo parametro. "Trovare le impostazioni migliori" è troppo ampio per una prima sessione.
Chiama A il riferimento e B la variante. Annota il valore esatto modificato. Cambiare allo stesso tempo il modello, le dimensioni e il numero di passaggi può produrre un risultato diverso, senza rivelare quale modifica lo spiega. Conserva queste prove per confronti separati.
2. Fissa un piccolo corpus e le regole di giudizio
Riunisci gli stessi input per A e B. Una dozzina di casi può bastare per una prima decisione circoscritta se comprende le difficoltà del progetto: testo sottile in un'immagine, documento lungo, dato mancante o formato insolito. Questo numero è una scelta pratica, non una garanzia statistica. Evita di includere solo gli esempi che riuscivano già.
Per ogni input, scrivi prima del test le condizioni di riuscita. Distingui una preferenza di presentazione da un difetto bloccante. In un assistente documentale, una risposta più gradevole può restare rifiutata se inventa una regola. Per un visual di prodotto, un colore accattivante non compensa la scomparsa di un elemento importante.
Fissa anche il numero minimo di casi accettati, i difetti vietati e il tempo massimo di controllo. Queste soglie proprie del progetto devono restare identiche quando esamini i risultati.
| Da fissare | Esempio di nota | Perché è importante |
|---|---|---|
| Input | caso-01 a caso-12, stessi file e stesse formulazioni | Confrontare le stesse difficoltà |
| Criterio di qualità | Risposta verificabile nel documento e senza invenzioni | Evitare che un output fluido mascheri un errore |
| Fallimento critico | Regola assente presentata come certa | Rifiutare un difetto anche se il totale sembra migliore |
| Variabile | A: 128; B: 256 nuovi token al massimo | Attribuire la differenza a una modifica identificata |
3. Mantieni la stessa sessione e le stesse dipendenze
Mantieni lo stesso modello, la sua versione, le estensioni, il motore di calcolo e gli altri parametri. Usa lo stesso ambiente e la stessa GPU, senza avviare altre elaborazioni tra le due varianti. Annota ciò che non puoi controllare: attività concorrente visibile, cambio di versione imposto o caricamento diverso. Un confronto influenzato da questi cambiamenti richiede maggiore prudenza.
Se lo strumento usa un seed casuale e permette di fissarlo, mantieni lo stesso valore per ogni coppia di esecuzioni. Questo facilita il confronto, ma non garantisce un output identico ovunque. PyTorch indica che la riproducibilità completa non è garantita tra versioni o piattaforme, anche con un seed identico.
Crea due cartelle, A e B, con la stessa lista di identificatori. Conserva gli output grezzi prima di qualsiasi correzione manuale. Una modifica successiva deve apparire come un'operazione aggiuntiva, con il suo tempo di lavoro, e non essere attribuita all'impostazione che ha prodotto il file iniziale.
4. Fai una prova di controllo, poi confronta le coppie
Verifica prima che un input semplice arrivi fino al file o alla risposta recuperati. Questa prova controlla il metodo. Segnala separatamente un primo caricamento o una preparazione particolare: non confrontare l'avvio completo di A con un'esecuzione B in cui tutti gli elementi sono già caricati.
Esegui gli stessi casi per A e B. Alterna l'ordine se lo strumento lo permette, poi ripeti alcune coppie decisive nell'ordine inverso. Verifica che un risultato isolato o un vantaggio legato all'ordine non determini l'intera conclusione.
Registra anche gli errori e gli output rifiutati. Se B fallisce su un input grande, non rimuoverlo dalla tabella per migliorare la sua media. Correggi eventualmente la causa in una prova B2 distinta. Così mantieni un confronto leggibile invece di una cartella in cui la variante cambia con le difficoltà.
5. Distingui il risultato accettato e il tempo osservato
Esamina prima la qualità alla dimensione o nello strumento d'uso. Se possibile, nascondi temporaneamente i nomi A e B al momento del giudizio. Una persona può semplicemente consultare gli output in ordine mescolato, poi ristabilire la loro corrispondenza. Mantieni i criteri annunciati e una motivazione breve per ogni rifiuto.
Per il tempo, scegli una definizione unica: ad esempio dall'avvio fino all'output completo salvato. Separa poi il controllo umano e le correzioni. Un cronometro attorno a una chiamata GPU non è sempre una misura del calcolo terminato: con PyTorch/CUDA, le operazioni possono essere asincrone. Usa il metodo di misura documentato dallo strumento se vuoi isolare il calcolo.
Se le ripetizioni si sovrappongono o se la misurazione resta approssimativa, annota "differenza di durata non conclusiva". Un piccolo scarto su una sola esecuzione non giustifica una percentuale di guadagno presentata come certa.
Esempio: 128 o 256 nuovi token per un assistente documentale
Una piccola squadra vuole risposte complete su dodici domande fisse. Mantiene lo stesso modello, gli stessi documenti, la stessa istruzione e la stessa GPU. Cambia solo il limite di risposta: A consente 128 nuovi token, B ne consente 256. In Transformers, max_new_tokens limita la generazione senza contare i token del testo di input. Un token non è una parola: il limite non definisce un numero esatto di frasi.
Prima della prova, la squadra fissa una regola illustrativa: almeno dieci risposte accettate su dodici e nessuna regola inventata. La tabella qui sotto è uno scenario fittizio di lettura dei risultati. Non descrive un assistente misurato e non prevede l'effetto di questi valori sul tuo modello.
A raggiunge il minimo, B ottiene più risposte accettate ma conserva un difetto critico. La decisione è di mantenere A per questo perimetro, con rilettura delle risposte, e di cercare la causa del difetto di B prima di un altro confronto. La lunghezza superiore non è né una prova di qualità né la causa certa dell'invenzione.
La squadra ripete le domande che differenziano A e B e due domande già superate. Se il difetto compare anche con A, sospende il verdetto: il corpus iniziale non era bastato a stabilire la stabilità. Conserva la traccia delle due esecuzioni invece di tenere solo la più favorevole.
| Criterio dello scenario | A: massimo 128 token | B: massimo 256 token |
|---|---|---|
| Risposte accettate | 10 su 12 | 11 su 12 |
| Difetti critici | 0 | 1 regola inventata |
| Durata | Da rilevare nella sessione reale | Da rilevare con lo stesso metodo |
| Rispetto della regola annunciata | Sì, in questo scenario limitato | No, nonostante il totale migliore |
Evita le conclusioni che il tuo test non permette
Non scegliere B perché uno dei suoi output è spettacolare mentre gli altri peggiorano. Non cambiare il corpus lungo il percorso, non contare due riprese come due voci diverse e non cancellare un fallimento dal denominatore. Dodici voci presentate restano dodici casi da spiegare, anche se alcuni non hanno prodotto alcun file.
L'impostazione scelta vale per le voci, le versioni e i criteri esaminati. Potrebbe non essere più adatta a un documento dieci volte più lungo o a immagini diverse. Aggiungi progressivamente casi rappresentativi. Questa progressione estende il controllo; non trasforma un piccolo test in una certificazione del sistema.
Conserva una decisione breve e la prossima verifica
Il tuo dossier finale contiene il corpus, le due configurazioni, gli output, i verdetti per identificativo e qualche riga di conclusione. Indica l'impostazione scelta, il motivo e il limite: «A ha conservato su queste dodici domande; due risposte restano da rivedere; i documenti lunghi aggiuntivi non sono coperti». Un'altra persona deve poter capire la scelta senza assistere alla sessione.
Conserva A come testimone per la prossima diagnosi. Se nessuna variante soddisfa i criteri, non sceglierne nessuna per la consegna; formula una nuova ipotesi. Riserva il tempo di copia e controllo prima di avviare questa prosecuzione. Un test terminato con un limite chiaro fornisce già una decisione; non obbliga a proseguire fino a trovare un vincitore.