Sistemi di ML di produzione: inferenza statica e dinamica
L'inferenza è il processo di
fare previsioni applicando un modello
esempi senza etichetta.
In termini generali, un modello può dedurre le previsioni in uno dei due modi seguenti:
Inferenza statica (chiamata anche inferenza offline o
inferenza batch) significa che il modello fa previsioni su un gruppo di
esempi non etichettati comuni
quindi memorizza nella cache le previsioni da qualche parte.
Inferenza dinamica (chiamata anche inferenza online o informazioni in tempo reale
l'inferenza) significa che il modello esegue solo previsioni on demand,
ad esempio quando un client richiede una previsione.
Per fare un esempio estremo, immagina un modello molto complesso che
impiega un'ora per dedurre una previsione.
Probabilmente questa sarebbe una situazione eccellente per l'inferenza statica:
Supponiamo che questo stesso modello complesso utilizzi erroneamente l'inferenza dinamica anziché
un'inferenza statica. Se contemporaneamente molti clienti
chiedono previsioni,
la maggior parte non riceverà la previsione per ore o giorni.
Consideriamo ora un modello che deduce rapidamente, magari in 2 millisecondi utilizzando una
il minimo relativo di risorse di calcolo. In questa situazione, i clienti possono
ricevere previsioni in modo rapido ed efficiente attraverso l'inferenza dinamica,
come suggerito nella Figura 5.
Inferenza statica
L'inferenza statica offre alcuni vantaggi e svantaggi.
Vantaggi
Non devi preoccuparti troppo del costo di inferenza.
Può eseguire la verifica successiva delle previsioni prima del push.
Svantaggi
Può fornire solo previsioni memorizzate nella cache, pertanto il sistema potrebbe non essere
in grado di fornire previsioni per esempi di input insoliti.
La latenza degli aggiornamenti viene probabilmente misurata in ore o giorni.
Inferenza dinamica
L'inferenza dinamica offre determinati vantaggi e svantaggi.
Vantaggi
Può dedurre una previsione su qualsiasi nuovo elemento quando arriva, che
è ideale per le previsioni long tail (meno comuni).
Svantaggi
Ad alta intensità di calcolo e sensibile alla latenza. Questa combinazione può limitare il modello
complessità; Potresti dover creare un modello più semplice
dedurre le previsioni più rapidamente di quanto potrebbe fare un modello complesso.
Le esigenze di monitoraggio sono più impegnative.
Esercizi: verifica le tue conoscenze
Quali tre delle seguenti quattro affermazioni sono
sull'inferenza statica?
Il modello deve creare previsioni per tutti gli input possibili.
Sì, il modello deve fare previsioni per tutti i possibili input e
e archiviarli in una cache o
una tabella di ricerca.
Se l'insieme di cose che il modello prevede è limitato,
l'inferenza statica potrebbe essere una buona scelta.
Tuttavia, per gli input in formato libero come le query degli utenti con una
di oggetti insoliti o rari, l'inferenza statica non può fornire
e una copertura completa.
Il sistema può verificare le previsioni dedotte prima della pubblicazione
che li rappresentano.
Sì, questo è un aspetto utile dell'inferenza statica.
Per un determinato input, il modello può elaborare una previsione più rapidamente
rispetto all'inferenza dinamica.
Sì, l'inferenza statica può quasi sempre fornire le previsioni più velocemente
rispetto all'inferenza dinamica.
Puoi reagire rapidamente ai cambiamenti nel mondo.
No, questo è uno svantaggio dell'inferenza statica.
Quale una delle seguenti affermazioni è
sull'inferenza dinamica?
Puoi fornire previsioni per tutti i possibili elementi.
Sì, è una forza di inferenza dinamica. Qualsiasi richiesta che
riceve un punteggio. L'inferenza dinamica gestisce la long-tail
distribuzioni (quelle con molti elementi rari), come lo spazio delle
possibili frasi scritte nelle recensioni dei film.
Puoi eseguire la verifica post-verifica delle previsioni prima
.
In generale, non è possibile effettuare una
verifica successiva di tutti i dati
le previsioni prima che vengano utilizzate, in quanto
on demand. Puoi, tuttavia, monitorare
qualità di previsione aggregate per fornire un certo livello di
controllo qualità, tuttavia segnaleranno gli allarmi antincendio solo dopo
l'incendio si è già diffuso.
Quando esegui l'inferenza dinamica, non devi preoccuparti
sulla latenza della previsione (il tempo di attesa per la restituzione delle previsioni)
molto simile a quando esegui l'inferenza statica.
La latenza della previsione è spesso un problema reale nell'inferenza dinamica.
Sfortunatamente, non è necessariamente possibile risolvere i problemi di latenza della previsione
aggiungendo più server di inferenza.