GPU per la ricerca ML · Pagamento crypto senza KYC
IteraGPU
Metodo / Dati e valutazione

Mantieni una valutazione che possa ancora sorprenderti.

Un set di valutazione utile rappresenta il lavoro che il modello dovrà svolgere senza essere servito a scegliere i suoi parametri. Definisci l'unità valutata, raggruppa gli esempi correlati, cerca i duplicati e riserva un insieme finale tenuto da parte. Potrai così interpretare una differenza di qualità. Una partizione casuale delle righe non garantisce questa indipendenza, soprattutto quando più righe provengono dallo stesso documento o dalla stessa conversazione.

01 /

Definire cosa rappresenta ogni esempio

Inizia con una frase di decisione: riconoscere la categoria di un nuovo ticket, estrarre tre campi da un documento o rispondere a una domanda con i suoi allegati. Descrivi l'input disponibile al momento della previsione, l'output atteso e i casi fuori ambito. Un'informazione aggiunta dopo la risoluzione del ticket non deve apparire in un input che dovrebbe rappresentare il suo arrivo.

Distingui poi riga e unità indipendente. Cinque messaggi di una conversazione condividono un contesto; dieci pagine di un dossier condividono la loro origine. Se il tuo obiettivo riguarda nuovi dossier, mantieni ogni dossier in una sola partizione. Una separazione per utente, documento, apparecchiatura o periodo risponde a domande diverse: scegli quella che assomiglia all'uso futuro, poi annota la sua giustificazione nel manifest.

Fonti tecniche: scikit-learn 1.9 — validazione con gruppi e dipendenze temporali

02 /

Attribuire un ruolo a ogni insieme

Il set di addestramento serve agli aggiustamenti del modello. Il set di validazione guida le decisioni di sviluppo: prompt, soglia, iperparametri o scelta di una variante. Il test finale risponde a una domanda già fissata. Consultarlo per trattenere il miglior parametro trasforma progressivamente questo test in uno strumento di sviluppo, anche se su di esso non viene calcolato alcun gradiente.

Separa anche i dati utilizzati per apprendere una trasformazione. Una normalizzazione, una selezione di variabili o un'imputazione calibrata su tutto il corpus può trasmettere informazione al modello. Apprendi queste trasformazioni sulla partizione autorizzata, poi applica la trasformazione conservata agli altri insiemi. Una pipeline facilita questo controllo; non corregge da sola gruppi separati male.

Ruoli da nominare prima di produrre i primi punteggi
InsiemeUso autorizzatoDecisione da evitare
AddestramentoAggiustare i parametri e le trasformazioni appreseImportarvi le risposte del test finale
ValidazioneScegliere parametri, prompt e sogliePresentare il miglior punteggio esplorativo come risultato finale indipendente
Test finaleValutare la configurazione scelta secondo la regola fissataModificare i parametri dopo la lettura e riutilizzare lo stesso punteggio come conferma
Calibrazione eventualePreparare un metodo di quantizzazione che ne ha bisognoUsare il test finale per costruire la variante valutata

Fonti tecniche: scikit-learn 1.9 — fuga di dati e trasformazioni

03 /

Gestire i duplicati senza cancellare i casi difficili

Conserva il corpus grezzo, poi costruisci un inventario di lavoro con identificativo, origine e gruppo. Un'impronta del contenuto rileva le copie esatte in base alla rappresentazione scelta. Documenta questa rappresentazione: rimuovere tutta la punteggiatura o mettere un testo in minuscolo può unire voci la cui differenza conta per il task. Mantieni la corrispondenza tra copia scartata ed esemplare conservato.

I quasi-duplicati richiedono una revisione aggiuntiva: export modificato, risposta riformulata, passaggio comune o documento riedito. Un'elevata similarità è un segnale da esaminare, non la prova che due annotazioni siano intercambiabili. Raggruppa le varianti correlate prima di distribuire i dati. Se due copie riportano riferimenti contraddittori, apri una questione di annotazione; non scegliere automaticamente quella che il modello prevede meglio.

04 /

Esempio svolto: 1 200 righe non sono 1 200 osservazioni indipendenti

Questo esempio è interamente illustrativo: nessun corpus né modello è stato misurato. Supponiamo 240 conversazioni, ciascuna esportata su cinque righe. Una riga è una copia esatta in ogni conversazione; le altre quattro sono distinte. Rimuovere queste 240 copie lascia 960 esempi, sempre organizzati in 240 gruppi. La scelta pedagogica seguente riserva il 70% dei gruppi all'apprendimento, il 15% alla validazione e il 15% al test.

Si ottengono 168, 36 e 36 conversazioni, cioè 672, 144 e 144 esempi. L'uguaglianza delle proporzioni in righe e in gruppi deriva qui dai quattro esempi per conversazione. In un corpus reale di dimensioni variabili, non sarebbe automatica. Queste proporzioni non sono una regola universale: devono lasciare abbastanza gruppi e casi importanti in ogni insieme.

1 200 − 240 = 960 esempi; 168 + 36 + 36 = 240 gruppi; 672 + 144 + 144 = 960 esempi.
Partizione aritmetica illustrativa, dopo il trattamento delle copie
PartizioneConversazioni intereEsempiRuolo
Addestramento168672Addestrare
Validazione36144Scegliere
Test finale36144Confermare su un insieme tenuto a parte

Fonti tecniche: scikit-learn 1.9 — GroupShuffleSplit conta i gruppi

05 /

Verificare classi, lunghezze e cronologia

Dopo la partizione, conta le classi e i gruppi che le portano. Una classe presente su molte righe ma in una sola conversazione non offre molti casi indipendenti. Esamina anche lunghezze, lingue realmente coperte, documenti incompleti e categorie importanti per la decisione. Una media rassicurante può mascherare una partizione senza alcun esempio di un caso critico.

Una stratificazione con gruppi cerca di preservare le proporzioni delle classi senza disperdere i gruppi. Non garantisce un equilibrio perfetto quando i gruppi sono pochi o molto disuguali. Se il task consiste nel prevedere osservazioni future, una separazione cronologica può essere più pertinente di un mescolamento casuale. Verifica anche che le variabili fossero disponibili alla data della previsione.

Fonti tecniche: scikit-learn 1.9 — StratifiedGroupKFold e i suoi limiti · scikit-learn 1.9 — validazione di dati temporali

06 /

Rendere il riferimento abbastanza preciso per giudicare un output

Scrivi una consegna di annotazione con esempi e casi limite. Per un'estrazione, precisa il significato di un campo assente, il formato delle date, la valuta e le equivalenze accettate. Per una classificazione, descrivi i confini tra categorie. Una risposta diversa dal riferimento non è sempre un errore del modello: il riferimento può essere ambiguo o errato.

Fai rileggere una selezione varia, in particolare i disaccordi e i casi importanti, poi annota l'arbitrato. Conserva le correzioni in una nuova versione del set. Se una correzione cambia il risultato di un confronto, ricalcola tutte le varianti interessate sullo stesso riferimento; non correggere solo la riga sfavorevole al tuo modello preferito.

07 /

Produrre il pacchetto di valutazione prima della campagna GPU

Il risultato di questa preparazione è un insieme identificabile, accompagnato dalle sue regole. Permette di riprodurre la selezione dei dati senza dipendere da un ricordo del notebook. Preparare questo pacchetto prima del noleggio evita di consumare il periodo di calcolo per risolvere differenze di file o di criteri.

  • Fissa gli identificativi, i gruppi, le partizioni e la loro giustificazione; conserva lo script o la lista che li produce.
  • Verifica le intersezioni di identificatori, gruppi e impronte tra le partizioni. Qualsiasi intersezione inattesa deve essere spiegata o corretta.
  • Esporta gli effettivi per partizione, classe e sottogruppo utile, nonché l'elenco delle esclusioni e il loro motivo.
  • Fissa il riferimento, le regole di normalizzazione, la metrica principale e le soglie prima del confronto.
  • Conserva revisione, impronte, diritti d'uso e posizione dei dati. Un'impronta garantisce un'identificazione, non un anonimato.
  • Riserva l'accesso al test finale fino alla decisione prevista; tieni un registro delle consultazioni e dei cambi di protocollo.
08 /

Sapere cosa dimostra il controllo

La preparazione è accettabile quando gli effettivi si riconciliano con l'inventario, le sovrapposizioni sono sotto controllo e ogni output può essere giudicato secondo una regola esplicita. Non prova che il modello avrà successo, né che tutti gli usi futuri siano rappresentati. Un piccolo set può descrivere un problema preciso pur restando insufficiente per concludere su una classe rara.

Se usi gli errori del test finale per migliorare il sistema, conserva quel test come storico e prepara una nuova conferma indipendente. Per un modello preaddestrato i cui dati originali sono sconosciuti, la tua partizione non può certificare l'assenza di esposizione precedente. Documenta questo limite invece di definire il set del tutto vergine.

Domande pratiche

Bisogna sempre riservare il 20% dei dati al test?

No. La quota utile dipende dal numero di unità indipendenti e dai casi da coprire. Verifica i gruppi, le categorie importanti e la precisione della conclusione attesa; una percentuale da sola non garantisce un test informativo.

Un identificatore diverso basta a escludere i duplicati?

No. Due esportazioni possono avere identificatori diversi pur contenendo lo stesso testo o varianti dello stesso dossier. Controlla il contenuto e la provenienza, poi tieni gli esempi legati nella partizione corrispondente alla tua regola di raggruppamento.

Posso riutilizzare il mio test dopo aver corretto il modello grazie ai suoi errori?

Puoi conservarlo per seguire lo storico, ma ha partecipato allo sviluppo. Per confermare un miglioramento su dati tenuti a parte, usa un nuovo insieme indipendente e annuncia chiaramente il ruolo di ciascuno.