Créer une tâche d'évaluation continue

Une tâche d'évaluation continue définit la manière dont le service d'ajout d'étiquettes aux données AI Platform effectue une évaluation continue sur la version de modèle que vous avez déployée sur AI Platform Prediction. Lorsque vous créez une tâche d'évaluation pour une version de modèle, deux actions se produisent :

  • Lorsque la version de modèle diffuse des prédictions en ligne, les entrées et les sorties de certaines de ces prédictions sont enregistrées dans une table BigQuery.
  • À intervalle régulier, la tâche d'évaluation continue s'exécute et effectue les tâches suivantes :
    1. La tâche crée un ensemble de données au service d'ajout d'étiquettes aux données contenant toutes les nouvelles lignes de la table BigQuery depuis la dernière exécution.
    2. (Facultatif) La tâche envoie une demande d'ajout d'étiquettes pour permettre aux évaluateurs manuels de fournir des étiquettes de vérité terrain pour les prédictions.
    3. La tâche calcule un ensemble de métriques d'évaluation que vous pouvez afficher dans Google Cloud Console.

Avant de commencer

Avant de commencer, vous devez déployer dans AI Platform Prediction une version du modèle qui réponde aux exigences spécifiques du modèle. Vous devez également activer certaines API Google Cloud. Consultez la page Avant de commencer l'évaluation continue pour savoir comment répondre à ces exigences.

Configurer les options de base

Dans les sections suivantes, nous allons voir comment accéder à la page de création d'une tâche et configurer les détails de base de votre tâche d'évaluation.

Pour créer une tâche d'évaluation pour une version de modèle, accédez à la page correspondant à la version de ce modèle dans la console Google Cloud et ouvrez la page de création de tâche :

  1. Ouvrez la page Modèles AI Platform dans la console Google Cloud :

    Accéder à la page "Modèles AI Platform"

  2. Cliquez sur le nom du modèle contenant la version du modèle pour laquelle vous souhaitez créer une tâche d'évaluation.

  3. Cliquez sur le nom de la version du modèle pour laquelle vous souhaitez créer une tâche d'évaluation. Une tâche d'évaluation ne peut pas y être déjà associée.

  4. Cliquez sur l'onglet Évaluation. Cliquez ensuite sur Configurer la tâche d'évaluation.

Spécifier la description, l'objectif du modèle, les étiquettes et le pourcentage d'échantillonnage

Les étapes suivantes décrivent les détails de configuration de base que vous devez spécifier dans le formulaire de création de tâche :

  1. Ajoutez une description pour la tâche d'évaluation dans le champ Description de la tâche.

  2. Indiquez le type de tâche que votre modèle de machine learning doit effectuer dans le champ Objectif du modèle. En savoir plus sur les types de modèles de machine learning compatibles avec l'évaluation continue.

    • Si votre modèle effectue une classification, indiquez s'il s'agit d'une classification à étiquette unique ou d'une classification multi-étiquettes dans le champ Type de classification.
    • Si votre modèle effectue une détection d'objets image, spécifiez une valeur pour le paramètre IoU ("intersection over union", ratio entre l'aire d'intersection et l'aire d'union) comprise entre 0 et 1. Ce paramètre définit le degré de similitude requis entre les cadres de délimitation de prédiction de votre modèle et ceux de la vérité terrain, afin qu'ils puissent être considérés comme une prédiction correcte.
  3. Dans le champ Chemin d'accès au fichier d'étiquettes de prédiction, spécifiez le chemin d'accès à un fichier CSV dans Cloud Storage contenant les étiquettes possibles pour les prédictions de votre modèle. Ce fichier définit un ensemble de spécifications d'annotation pour votre modèle. Découvrez comment structurer ce fichier.

  4. Dans le champ Pourcentage d'échantillons quotidiens, spécifiez le pourcentage de prédictions diffusées par votre version de modèle que vous souhaitez exporter vers BigQuery et analyser dans le cadre de l'évaluation continue.

    De plus, spécifiez une valeur Limite d'échantillons quotidiens pour définir le nombre maximal de prédictions que vous souhaitez échantillonner au cours d'une période d'évaluation unique.

    Par exemple, vous pouvez choisir d'échantillonner 10 % des prédictions pour une évaluation continue. Toutefois, si vous obtenez beaucoup de prédictions pour un jour donné, vous devez vous assurer de ne jamais échantillonner plus de 100 prédictions pour la tâche d'évaluation du jour. (Un grand nombre de prédictions peut demander aux évaluateurs manuels un temps d'étiquetage important et engendrer des coûts d'ajout d'étiquettes aux données plus importants que prévu.)

Spécifier votre table BigQuery

Dans le champ Table BigQuery, vous devez spécifier le nom d'une table BigQuery dans laquelle le service d'ajout d'étiquettes aux données peut stocker des prédictions échantillonnées à partir de votre version de modèle.

Si vous spécifiez le nom d'une table qui n'existe pas encore, le service d'ajout d'étiquettes aux données crée une table avec le schéma approprié.

Vous devez fournir le nom complet de la table au format suivant : bq://YOUR_PROJECT_ID.YOUR_DATASET_NAME.YOUR_TABLE_NAME

  • YOUR_PROJECT_ID doit être l'ID du projet dans lequel vous créez une tâche d'évaluation.
  • YOUR_DATASET_NAME peut être n'importe quel nom d'ensemble de données BigQuery valide. L'ensemble de données n'a pas besoin d'exister pour le moment.
  • YOUR_TABLE_NAME peut être n'importe quel nom de table BigQuery valide.

Si la table que vous spécifiez existe déjà, elle doit être associée au schéma approprié pour l'évaluation continue :

fieldNameTypeMode
modelSTRINGOBLIGATOIRE
model_versionSTRINGOBLIGATOIRE
timeTIMESTAMPOBLIGATOIRE
raw_dataCHAÎNEOBLIGATOIRE
raw_predictionCHAÎNEPEUT ÊTRE VIDE
groundtruthCHAÎNEPEUT ÊTRE VIDE

La table ne doit pas contenir de colonnes supplémentaires.

Spécifier des clés de prédiction

Vous devez spécifier les clés de certains champs de votre saisie afin que le service d'ajout d'étiquettes aux données puisse extraire les informations nécessaires des fichiers JSON d'entrée et de sortie des prédictions brutes, stockés dans votre table BigQuery. Assurez-vous que votre version de modèle accepte les entrées et renvoie les prédictions au format requis. Indiquez ensuite les clés appropriées :

  • Clé de données : clé d'un champ des données de saisie de prédiction de votre version de modèle qui contient les données utilisées pour la prédiction. Si vous activez l'ajout manuel d'étiquettes, le service d'ajout d'étiquettes aux données fournit ces données aux évaluateurs manuels afin de fournir des étiquettes de vérité terrain. Il s'en sert également pour créer des comparatifs lorsque vous affichez les métriques d'évaluation dans la console Google Cloud.

    Si votre version de modèle effectue la classification de texte ou la classification générale, vous devez fournir cette clé. Si votre version de modèle effectue la classification d'images ou la détection d'objets image et accepte les images encodées en base64 comme entrée de prédiction, vous devez également fournir cette clé.

  • Clé de référence des données : clé d'un champ des données de saisie de prédiction de votre version de modèle qui contient un chemin d'accès Cloud Storage vers une image. Le service d'ajout d'étiquettes aux données charge cette image et l'utilise aux mêmes fins que la clé de données.

    Ne fournissez cette clé que si votre version de modèle effectue la classification d'images ou la détection d'objets image, et accepte les chemins d'accès aux images dans Cloud Storage comme données de saisie de prédiction. Vous devez définir au moins une clé entre la clé de données et la clé de référence des données.

  • Clé d'étiquette de prédiction : clé d'un champ des données de sortie de prédiction de votre version de modèle qui contient un tableau d'étiquettes prédites. Le service d'ajout d'étiquettes aux données compare ces valeurs aux valeurs de vérité terrain afin de calculer des métriques d'évaluation, telles que les matrices de confusion.

    Ce champ est obligatoire.

  • Clé de score de prédiction : clé d'un champ des données de sortie de prédiction de votre version de modèle qui contient un tableau de scores prédits. Le service d'ajout d'étiquettes aux données utilise ces valeurs associées aux étiquettes de prédiction et de vérité terrain pour calculer les métriques d'évaluation, comme les courbes de précision/rappel.

    Ce champ est obligatoire.

  • Clé de cadre de délimitation : clé d'un champ des données de sortie de prédiction de votre version de modèle qui contient un tableau de cadres de délimitation. Cette clé est obligatoire pour évaluer la détection d'objets image.

    Ne fournissez cette clé que si votre version de modèle effectue la détection d'objets image.

.

Exemples de clés de prédiction

La section suivante fournit des exemples sur la méthode pour fournir des clés de prédiction pour différents types de modèles :

Classification d'images

Exemple d'encodage en base64

Supposons que votre version de modèle accepte l'entrée suivante :

{
  "instances": [
    {
      "image_bytes": {
        "b64": "iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAhUlEQVR4AWOAgZeONnHvHcXiGJDBqyDTXa+dVC888oy51F9+eRdY8NdWwYz/RyT//znEsAjEt277+syt5VMJw989DM/+H2MI/L8tVBQk4d38xcWp7ctLhi97ZCZ0rXV6yLA4b6dH59sjTq3fnji1fp4AsWS5j7PXstRg+/b3gU7N351AQgA8+jkf43sjaQAAAABJRU5ErkJggg=="
      }
    }
  ]
}

Supposons également que le résultat suivant soit renvoyé :

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

Vous devez alors fournir les clés suivantes :

  • Clé de données : image_bytes/b64
  • Clé d'étiquette de prédiction : sentiments
  • Clé de score de prédiction : confidence

Exemple de référence Cloud Storage

Supposons que votre version de modèle accepte l'entrée suivante :

{
  "instances": [
    {
      "image_path": "gs://cloud-samples-data/datalabeling/image/flower_1.jpeg"
    }
  ]
}

Supposons également que le résultat suivant soit renvoyé :

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

Vous devez alors fournir les clés suivantes :

  • Clé de référence des données : image_path
  • Clé d'étiquette de prédiction : sentiments
  • Clé de score de prédiction : confidence

Classification de texte

Supposons que votre version de modèle accepte l'entrée suivante :

{
  "instances": [
    {
      "text": "If music be the food of love, play on;"
    }
  ]
}

Supposons également que le résultat suivant soit renvoyé :

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

Vous devez alors fournir les clés suivantes :

  • Clé de données : text
  • Clé d'étiquette de prédiction : sentiments
  • Clé de score de prédiction : confidence

Classification générale

Supposons que votre version de modèle accepte l'entrée suivante :

{
  "instances": [
    {
      "weather": [
        "sunny",
        72,
        0.22
      ]
    }
  ]
}

Supposons également que le résultat suivant soit renvoyé :

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

Vous devez alors fournir les clés suivantes :

  • Clé de données : weather
  • Clé d'étiquette de prédiction : sentiments
  • Clé de score de prédiction : confidence

Détection d'objets image

Exemple d'encodage en base64

Supposons que votre version de modèle accepte l'entrée suivante :

{
  "instances": [
    {
      "image_bytes": {
        "b64": "iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAhUlEQVR4AWOAgZeONnHvHcXiGJDBqyDTXa+dVC888oy51F9+eRdY8NdWwYz/RyT//znEsAjEt277+syt5VMJw989DM/+H2MI/L8tVBQk4d38xcWp7ctLhi97ZCZ0rXV6yLA4b6dH59sjTq3fnji1fp4AsWS5j7PXstRg+/b3gU7N351AQgA8+jkf43sjaQAAAABJRU5ErkJggg=="
      }
    }
  ]
}

Supposons également que le résultat suivant soit renvoyé :

{
  "predictions": [
    {
      "bird_locations": [
        {
          "top_left": {
            "x": 53,
            "y": 22
          },
          "bottom_right": {
            "x": 98,
            "y": 150
          }
        }
      ],
      "species": [
        "rufous hummingbird"
      ],
      "probability": [
        0.77
      ]
    }
  ]
}

Vous devez alors fournir les clés suivantes :

  • Clé de données : image_bytes/b64
  • Clé d'étiquette de prédiction : species
  • Clé de score de prédiction : probability
  • Clé de cadre de délimitation : bird_locations

Exemple de référence Cloud Storage

Supposons que votre version de modèle accepte l'entrée suivante :

{
  "instances": [
    {
      "image_path": "gs://cloud-samples-data/datalabeling/image/flower_1.jpeg"
    }
  ]
}

Supposons également que le résultat suivant soit renvoyé :

{
  "predictions": [
    {
      "bird_locations": [
        {
          "top_left": {
            "x": 53,
            "y": 22
          },
          "bottom_right": {
            "x": 98,
            "y": 150
          }
        }
      ],
      "species": [
        "rufous hummingbird"
      ],
      "probability": [
        0.77
      ]
    }
  ]
}

Vous devez alors fournir les clés suivantes :

  • Clé de référence des données : image_path
  • Clé d'étiquette de prédiction : species
  • Clé de score de prédiction : probability
  • Clé de cadre de délimitation : bird_locations

Spécifier la méthode de la vérité terrain

L'évaluation continue consiste à comparer les prédictions de votre modèle de machine learning avec des étiquettes de vérité terrain annotées par des évaluateurs manuels. Sélectionnez la manière dont vous souhaitez créer des étiquettes de vérité terrain en choisissant l'une de ces Méthodes de la vérité terrain :

  • Service d'étiquettes géré par Google : si vous sélectionnez cette option, le service d'ajout d'étiquettes aux données envoie les nouvelles données échantillonnées aux évaluateurs manuels à chaque exécution de la tâche, pour qu'ils ajoutent des étiquettes à l'aide des données de vérité terrain. La tarification du service d'ajout des étiquettes aux données s'applique. Si vous choisissez cette option, vous devez fournir des instructions au format PDF pour l'ajout d'étiquettes à vos données de saisie de prédiction. Découvrez comment rédiger des instructions de bonne qualité.

  • Fournir vos propres étiquettes : si vous sélectionnez cette option, vous devez ajouter vous-même des étiquettes de vérité terrain à la table BigQuery de votre tâche d'évaluation. Vous devez ajouter des étiquettes de vérité terrain pour toutes nouvelles données de saisie de prédiction échantillonnées avant la prochaine exécution de la tâche d'évaluation. Par défaut, la tâche d'évaluation s'exécute tous les jours à 10 h UTC. Vous devez donc ajouter chaque jour des étiquettes de vérité terrain pour les nouvelles lignes de la table BigQuery ajoutées avant cette heure. Dans le cas contraire, ces données ne sont pas évaluées, et une erreur s'affiche dans la console Google Cloud.

    Il s'agit de la seule option disponible si votre version de modèle effectue une classification générale.

Créer votre tâche

Cliquez sur le bouton Créer pour créer votre tâche d'évaluation. Les données de saisie et de sortie de prédiction doivent commencer à être échantillonnées immédiatement dans votre table BigQuery à partir de votre version de modèle.

Étapes suivantes

Découvrez comment consulter les métriques d'évaluation.