Sistemi di ML di produzione: addestramento statico e dinamico
In termini generali, puoi addestrare un modello in due modi:
Addestramento statico (anche
chiamato addestramento offline) indica che si addestra un modello
solo una volta. Poi potrai pubblicare lo stesso modello addestrato per un po' di tempo.
Addestramento dinamico (anche
chiamata addestramento online), significa che si addestra un modello
o almeno di frequente. Di solito pubblichi la maggior parte
addestrato di recente.
Tabella 1. Vantaggi e svantaggi principali.
Addestramento statico
Addestramento dinamico
Vantaggi
Più semplice. Dovrai sviluppare e testare il modello una sola volta.
Maggiore adattabilità. Il modello starà al passo con le
modifiche alla relazione tra caratteristiche ed etichette.
Svantaggi
A volte più inattivo. Se la relazione tra caratteristiche e
le etichette cambiano nel tempo, le previsioni del tuo modello diminuiranno.
Più lavoro. Devi creare, testare e rilasciare un nuovo prodotto
anche se questi numeri
aumentano costantemente.
Se il set di dati non cambia davvero nel tempo, scegli l'addestramento statico
è più economico da creare e mantenere rispetto all'addestramento dinamico. Tuttavia, i set di dati
tendono a cambiare nel tempo, anche quelle con caratteristiche che ritieni
costante come, diciamo, il livello del mare. Il concetto è fondamentale: anche con le
devi comunque monitorare i dati di input per cambiarli.
Ad esempio, considera un modello addestrato per prevedere la probabilità che gli utenti
acquisteranno fiori. A causa della pressione del tempo, il modello viene addestrato una sola volta
utilizzando un set di dati sul comportamento di acquisto dei fiori nei mesi di luglio e agosto.
Il modello funziona bene per diversi mesi, ma poi fa previsioni pessime
a San Valentino perché
il comportamento degli utenti durante il periodo floreale delle festività cambia drasticamente.
Per un'esplorazione più dettagliata dell'addestramento statico e dinamico, consulta
Gestione dei progetti ML
più avanti in questo corso.
Esercizi: verifica le tue conoscenze
Quali due delle seguenti affermazioni sono vere riguardo
l'addestramento statico (offline)?
Il modello rimane aggiornato man mano che arrivano nuovi dati.
In realtà, se esegui l'addestramento offline, il modello non ha modo di
incorporare nuovi dati man mano che arrivano. Questo può portare a modelli
mancato aggiornamento, se la distribuzione da cui stai cercando di apprendere
cambiamenti nel tempo.
Puoi verificare il modello prima di applicarlo in produzione.
Sì, l'addestramento offline offre un'ampia opportunità di verificare il modello
delle prestazioni prima di introdurre il modello in produzione.
L'addestramento offline richiede un minore monitoraggio dei job di addestramento
rispetto alla formazione online.
In generale, i requisiti di monitoraggio durante l'addestramento sono più modesti
per l'addestramento offline, che ti isola da molte attività
diverse considerazioni. Tuttavia, più spesso addestra il modello,
maggiore è l'investimento nel monitoraggio. Dovrai
Vuoi anche eseguire regolarmente la convalida
per assicurarti che le modifiche al codice
(e le sue dipendenze) non influiscono negativamente sulla qualità del modello.
È necessario un pochissimo monitoraggio dei dati di input
durante l'inferenza.
In modo controintuitivo, devi monitorare i dati di input al momento
nel tempo. Se le distribuzioni di input cambiano, il modello
le previsioni potrebbero diventare inaffidabili. Immagina, ad esempio, un modello
addestrati solo sui dati relativi all'abbigliamento estivo che vengono improvvisamente utilizzati per
prevedono il comportamento di acquisto di abbigliamento in inverno.
Quale una delle seguenti affermazioni è vera?
la formazione dinamica (online)?
Il modello rimane aggiornato man mano che arrivano nuovi dati.
Questo è il vantaggio principale della formazione online. puoi evitare molte
di inattività, consentendo l'addestramento del modello con nuovi dati
in cui arriva il momento.
Occorre effettuare un minimo monitoraggio dei job di addestramento.
In realtà, devi monitorare continuamente i job di addestramento per
sono integri e che funzionano come previsto. Dovrai inoltre
dell'infrastruttura di supporto, come la possibilità di eseguire il rollback
a uno snapshot precedente nel caso in cui
si verifichi un problema durante l'addestramento,
come un job con bug o il danneggiamento dei dati di input.
È necessario un pochissimo monitoraggio dei dati di input
durante l'inferenza.
Proprio come un modello statico offline, è importante anche
monitorare gli input per i modelli aggiornati in modo dinamico. Stai
probabilmente non è a rischio di grandi effetti della stagionalità, ma all'improvviso
modifiche sostanziali agli input (come un'origine dati upstream che
verso il basso) può comunque causare previsioni inaffidabili.