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:

Figura 4. Nell'inferenza statica, un modello genera previsioni,
            che vengono poi memorizzate nella cache su un server.
. Figura 4. Nell'inferenza statica, un modello genera previsioni, che vengono poi memorizzate nella cache su un server.

 

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.

Figura 5. Nell'inferenza dinamica, un modello deduce le previsioni su
            domanda.
. Figura 5. Nell'inferenza dinamica, un modello deduce le previsioni on demand.

 

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.