2017-06-20 1 views
0

J'ai déployé un modèle linéaire pour la classification sur Google Machine Learning Engine et je souhaite prédire de nouvelles données à l'aide de la prédiction en ligne. Lorsque j'ai appelé les API à l'aide de la bibliothèque cliente de l'API Google, il a fallu environ 0,5 seconde pour obtenir la réponse à une requête avec une seule instance. Je m'attendais à ce que la latence soit inférieure à 10 microsecondes (parce que le modèle est assez simple) et 0.5s était trop long. J'ai également essayé de faire des prédictions pour les nouvelles données hors ligne en utilisant la méthode predict_proba. Il a fallu 8,2 secondes pour marquer plus de 100 000 instances, ce qui est beaucoup plus rapide que l'utilisation du moteur Google ML. Y a-t-il un moyen de réduire la latence de la prédiction en ligne? Le modèle et le serveur qui ont envoyé la demande sont hébergés dans la même région.Problème de prédiction en ligne à latence élevée

Je souhaite effectuer des prédictions en temps réel (la réponse est renvoyée immédiatement après l'obtention de la requête par les API). Google ML Engine est-il adapté à cette fin?

+0

En plus de la réponse de Lak ci-dessous, il serait utile si vous avez déployé votre modèle avec --enable-logging. Les journaux contiennent des informations de latence par demande (accessibles dans la journalisation StackDriver). Il serait utile de voir ces journaux. – rhaertel80

+0

Nous aimerions vous aider à identifier les sources de latence. Cela vous ennuie d'envoyer votre projet/modèle/version à cloudml-feedback @. Note secondaire: vous pouvez augmenter le débit en incluant plusieurs instances par requête (la limite actuelle est de 1,5 Mo de charge utile). – rhaertel80

Répondre

0

Un peu plus d'informations serait utile:

  1. Pouvez-vous mesurer la latence du réseau de la machine que vous accédez au service GCP? La latence sera la plus faible si vous appelez depuis une instance de Compute Engine dans la même région que celle à laquelle vous avez déployé le modèle.

  2. Pouvez-vous poster votre indicatif?

  3. Est-ce la latence à la première demande ou à chaque demande?

Pour répondre à votre dernière question, oui, cloud ml engine est conçu pour prendre en charge des requêtes élevées par seconde.