Systèmes de ML de production: inférence statique ou dynamique

L'inférence est le processus faire des prédictions en appliquant un modèle entraîné exemples sans étiquette. De manière générale, un modèle peut déduire des prédictions de deux manières différentes:

  • Inférence statique (également appelée inférence hors ligne ou inférence par lot) signifie que le modèle effectue des prédictions sur un Exemples courants sans étiquette puis met ces prédictions en cache quelque part.
  • Inférence dynamique (également appelée inférence en ligne ou l'inférence) signifie que le modèle n'effectue des prédictions qu'à la demande, par exemple lorsqu'un client demande une prédiction.

Pour prendre un exemple extrême, imaginez un modèle très complexe prend une heure pour déduire une prédiction. Ce serait probablement une excellente situation pour l'inférence statique:

Figure 4. Dans l'inférence statique, un modèle génère des prédictions,
            qui sont ensuite mis en cache sur un serveur.
Figure 4 : Dans l'inférence statique, un modèle génère des prédictions, qui sont ensuite mis en cache sur un serveur.

 

Supposons que ce même modèle complexe utilise à tort l'inférence dynamique au lieu de l'inférence statique. Si de nombreux clients demandent des prédictions en même temps, la plupart d'entre eux ne recevront pas cette prédiction avant des heures ou des jours.

Prenons maintenant un modèle qui effectue des inférences rapidement, peut-être en 2 millisecondes, à l'aide d'une un minimum relatif de ressources de calcul. Dans cette situation, les clients peuvent recevoir des prédictions rapidement et efficacement grâce à l'inférence dynamique, suggérées dans la Figure 5.

Figure 5. Dans l'inférence dynamique, un modèle déduit des prédictions
            de la demande.
Figure 5 : Dans le cadre d'une inférence dynamique, un modèle déduit des prédictions à la demande.

 

Inférence statique

L'inférence statique offre certains avantages et inconvénients.

Avantages

  • Le coût de l'inférence est limité.
  • Peut vérifier les prédictions avant de les déployer.

Inconvénients

  • Ne peut servir que des prédictions mises en cache. Il est donc possible que le système ne soit pas et peut inférer des prédictions pour des exemples d'entrées inhabituels.
  • La latence de mise à jour se mesure probablement en heures, voire en jours.

Inférence dynamique

L'inférence dynamique présente certains avantages et inconvénients.

Avantages

  • peut inférer une prédiction pour n'importe quel élément au fur et à mesure de son arrivée, est idéal pour les prédictions de longue traîne (moins fréquent).

Inconvénients

  • Calcul intensif et sensible à la latence. Cette combinaison peut limiter la complexité ; c'est-à-dire que vous devrez peut-être créer un modèle plus simple inférer des prédictions plus rapidement qu'avec un modèle complexe.
  • Les besoins de surveillance sont plus intenses.

Exercices: tester vos connaissances

Quelles sont les trois affirmations suivantes, parmi lesquelles ? est-il vrai pour l'inférence statique ?
Le modèle doit créer des prédictions pour toutes les entrées possibles.
Oui, le modèle doit effectuer des prédictions pour toutes les entrées possibles. les stocker dans un cache ou une table de conversion. Si l'ensemble des éléments prédits par le modèle est limité, l'inférence statique peut être un bon choix. Toutefois, pour les entrées de format libre, comme les requêtes utilisateur ayant un long d'éléments inhabituels ou rares, l'inférence statique ne peut pas fournir pour une couverture complète.
Le système peut vérifier les prédictions déduites avant de diffuser de l'IA générative.
Oui, il s'agit d'un aspect utile de l'inférence statique.
Pour une entrée donnée, le modèle peut inférer une prédiction plus rapidement que l'inférence dynamique.
Oui, l'inférence statique permet presque toujours de réaliser des prédictions plus rapidement que l'inférence dynamique.
Vous pouvez réagir rapidement aux changements qui affectent le monde.
Non, il s'agit d'un inconvénient de l'inférence statique.
Parmi les propositions suivantes, laquelle correspond à l'une des affirmations suivantes ? est-il vrai pour l'inférence dynamique ?
Vous pouvez fournir des prédictions pour tous les éléments possibles.
Oui, c'est l'un des atouts de l'inférence dynamique. Toute demande que reçoit un score. L'inférence dynamique gère les requêtes (ceux qui comportent de nombreux éléments rares), comme l'espace des phrases possibles écrites dans des critiques de films.
Vous pouvez vérifier les prédictions sont utilisés.
En général, il n'est pas possible de vérifier tous les éléments les prédictions avant de les utiliser, car les prédictions à la demande. Vous pouvez toutefois surveiller agréger les qualités de prédiction pour fournir contrôle qualité, mais celles-ci ne déclencheront une alarme qu'après l'incendie s'est déjà propagé.
Lorsque vous effectuez une inférence dynamique, vous n'avez pas à vous inquiéter sur la latence des prédictions (temps de latence pour renvoyer les prédictions). autant que lors de l'inférence statique.
La latence des prédictions est souvent une préoccupation majeure pour l'inférence dynamique. Malheureusement, vous ne pouvez pas nécessairement résoudre les problèmes de latence des prédictions en ajoutant des serveurs d'inférence.