La trappola del disallineamento tra training e serving
Scopra cosa accade quando i dati al momento del serving non corrispondono più a quelli di training.
La trappola del disallineamento tra training e serving è una lezione MLOps Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento MLOps Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso MLOps Academy include 4 lezioni in totale.
Che cosa significa skew
Il training-serving skew si verifica quando i dati osservati dal modello in produzione non corrispondono più ai dati da cui ha appreso durante l’addestramento. 📉
Perché è un problema
Il modello presume che i dati di serving assomiglino a quelli di addestramento. Quando questa supposizione viene meno, le predizioni peggiorano silenziosamente, anche se non si verifica alcun arresto. Questo è lo skew.
Percorsi di codice diversi
Una causa classica sono i due percorsi di codice: uno script prepara i dati di addestramento e un altro prepara le richieste reali. Le piccole differenze tra i due generano skew.
Una discrepanza visibile
Qui, durante l’addestramento, si applica la scalatura usando una media, mentre durante il serving se ne usa un’altra. Il modello riceve quindi numeri su cui non è mai stato addestrato e la sua scalatura non è corretta.
# training
x = (raw - 50.0) / 10.0
# serving (wrong!)
x = (raw - 0.0) / 10.0Feature obsolete
Lo skew compare anche quando una feature è aggiornata durante l’addestramento ma obsoleta durante il serving, ad esempio quando una media viene calcolata ieri invece che in questo momento.
Lo stesso bug su entrambi i lati
La correzione più sicura consiste nel condividere una sola funzione per entrambi i percorsi. Se esiste un bug, almeno sarà presente in modo identico nell’addestramento e nel serving, impedendo la comparsa di skew.
def make_features(raw):
return (raw - 50.0) / 10.0
# call from training AND servingSkew dello schema
Lo schema skew si verifica quando una colonna cambia tipo o nome tra addestramento e serving, ad esempio quando un int diventa una stringa. Il modello la interpreta silenziosamente in modo errato.
L’ordine delle feature è importante
Molti modelli leggono le feature in base alla posizione, non al nome. Scambiare due colonne durante il serving produce una pericolosa discrepanza nell’ordine, difficile da individuare.
Individuarlo con dei controlli
Una semplice protezione consiste nel verificare che l’input di serving abbia le stesse colonne su cui il modello è stato addestrato. Si individui lo skew all’ingresso, non nella dashboard.
assert list(request.columns) == model.feature_names_in_.tolist()I feature store aiutano
Un feature store calcola le feature una volta sola e le fornisce sia all’addestramento sia all’inferenza, eliminando alla radice un’intera categoria di bug dovuti allo skew.
Registrare e confrontare
Si registri un campione degli input reali di serving e se ne confrontino le statistiche con quelle del set di addestramento. Una differenza tra medie o intervalli è un primo avviso di skew.
Verifica rapida
Quale scelta elimina meglio il training-serving skew?
Riepilogo
Lo skew è una discrepanza silenziosa tra i dati di addestramento e quelli di serving. Si condivida il codice delle feature, si controllino gli schemi e si registrino gli input reali per mantenere il modello affidabile. ✅
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «La trappola del disallineamento tra training e serving» è gratuita?
Sì — il testo completo di «La trappola del disallineamento tra training e serving» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso MLOps Academy, passa a CoddyKit PRO. Il corso MLOps Academy include 4 lezioni in totale.
Cosa imparerò in «La trappola del disallineamento tra training e serving»?
Scopra cosa accade quando i dati al momento del serving non corrispondono più a quelli di training. Eserciti MLOps Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare MLOps Academy?
Non è richiesta alcuna esperienza precedente. MLOps Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «La trappola del disallineamento tra training e serving»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione MLOps Academy?
Sì. Ogni lezione MLOps Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- La trappola del disallineamento tra training e serving
- Errori silenziosi: nessun crash, risposte errate
- Quando il mondo cambia sotto il Suo modello
- Il problema della riproducibilità