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.
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 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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/08/13 (UTC).
[]
[]
{
"lastModified": "Dernière mise à jour le 2024/08/13 (UTC).",
"confidential": False
}