AI Platform Prediction propose deux méthodes pour obtenir des prédictions à partir de modèles entraînés : la prédiction en ligne (parfois appelée prédiction HTTP) et la prédiction par lot. Dans les deux cas, vous transmettez des données d'entrée à un modèle de machine learning hébergé dans le cloud et obtenez des inférences pour chaque instance de données. Les différences sont indiquées dans le tableau suivant :
Prédiction en ligne | Prédiction par lot |
---|---|
Optimisé pour minimiser la latence des prédictions de service. | Optimisé pour gérer un volume élevé d'instances dans une tâche et pour exécuter des modèles plus complexes. |
Peut traiter une ou plusieurs instances par demande. | Peut traiter une ou plusieurs instances par demande. |
Les prédictions sont retournées dans le message de réponse. | Les prédictions sont écrites dans les fichiers de sortie dans un emplacement Cloud Storage que vous spécifiez. |
Données d'entrée transmises directement sous forme de chaîne JSON. | Les données d'entrée sont transmises indirectement sous forme d'un ou de plusieurs URI de fichiers dans des emplacements Cloud Storage. |
Réponse au plus vite. | Demande asynchrone. |
Les comptes avec les rôles IAM suivants peuvent demander des prédictions en ligne : |
Les comptes avec les rôles IAM suivants peuvent demander des prédictions par lot : |
S'exécute sur la version d'exécution et dans la région sélectionnée lors du déploiement du modèle. | Exécutable dans toutes les régions disponibles, à l'aide de la version d'exécution 2.1 ou d'une version antérieure. Cependant, vous devez utiliser les valeurs par défaut pour les versions de modèle déployées. |
Modèles déployés sur AI Platform Prediction. | Modèles déployés sur AI Platform Prediction ou stockés dans des emplacements accessibles de Google Cloud Storage. |
Configurable pour utiliser différents types de machines virtuelles pour les nœuds de prédiction. | Si vous exécutez un modèle déployé sur AI Platform Prediction, vous devez utiliser le type de machine mls1-c1-m2 . |
Peut diffuser des prédictions à partir d'un SavedModel TensorFlow ou d'une routine de prédiction personnalisée, ainsi que de modèles scikit-learn et XGBoost. | Peut diffuser des prédictions à partir d'un SavedModel TensorFlow. |
De 0,045147 $ à 0,151962 $ par nœud-heure (Amériques) Le prix dépend du type de machine sélectionné. | 0,0791205 $ par nœud-heure (Amériques). |
Les besoins de votre application déterminent le type de prédiction à utiliser.
Il est généralement préférable d'utiliser la prédiction en ligne pour formuler des demandes en réponse à une entrée d'application ou dans d'autres situations où une inférence rapide est nécessaire.
La prédiction par lots est idéale lors du traitement des données accumulées, lorsque vous n'avez pas besoin de résultats immédiats. Par exemple, une tâche périodique qui effectue des prédictions à partir de toutes les données collectées depuis la dernière tâche.
Vous devez également prendre votre décision en tenant compte des variations potentielles du coût de prédiction.
Latence de la prédiction par lot
Si vous utilisez un modèle simple et un petit ensemble d'instances d'entrée, vous constaterez que, pour terminer des demandes de prédiction identiques, il existe une différence considérable dans le temps nécessaire si on utilise la prédiction en ligne par rapport à la prédiction par lot. Une tâche par lot peut prendre plusieurs minutes pour terminer les prédictions qui seraient renvoyées presque instantanément par une demande en ligne. Ceci est un effet secondaire de la différence entre les infrastructures utilisées par les deux méthodes de prédiction. AI Platform Prediction alloue et initialise les ressources pour une tâche de prédiction par lot lorsque vous envoyez la requête. La prédiction en ligne est généralement prête à être traitée au moment de la requête.
Étape suivante
Lisez la présentation des prédictions pour plus d'informations sur les prédictions.
Sinon, vous pouvez directement effectuer des prédictions en ligne ou effectuer des prédictions par lot.