Afficher l'architecture du modèle avec Cloud Logging

Cette page explique comment utiliser Cloud Logging pour afficher les détails d'un modèle AutoML Tables. Stackdriver Logging permet d'afficher les hyperparamètres du modèle final, ainsi que les hyperparamètres et les valeurs d'objet utilisés lors de l'entraînement et le réglage du modèle.

Vous pouvez également afficher les journaux généraux de AutoML Tables dans votre projet.

Données enregistrées

Les messages de journalisation générés par AutoML Tables fournissent les informations suivantes :

  • Les hyperparamètres du modèle final en tant que paires clé-valeur.
  • Les hyperparamètres utilisés lors des essais de réglage, ainsi qu'une valeur d'objectif.

Par défaut, les journaux sont supprimés après 30 jours.

Avant de commencer

Autorisations requises pour cette tâche

Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :

  • logging.logServiceIndexes.list sur le projet
  • logging.logServices.list sur le projet

Afficher les journaux d'entraînement

Accéder aux journaux du modèle depuis la console Google Cloud

Les journaux des hyperparamètres finaux et des hyperparamètres des essais de réglage sont accessibles directement dans AutoML Tables.

  1. Accédez à la page AutoML Tables dans la console Google Cloud.

    Accéder à la page AutoML Tables

  2. Ouvrez l'onglet Modèles dans le volet de navigation de gauche, puis cliquez sur le nom du modèle pour l'ouvrir.

  3. Sélectionnez l'onglet "Modèles".

    Détails du modèle, affichant les liens "Modèle" et "Essais"

  4. Pour afficher les journaux des hyperparamètres finaux, cliquez sur Model.

  5. Pour afficher les hyperparamètres des essais de réglage, cliquez sur Trials.

  6. Développez la charge utile comme indiqué ci-dessous :

    Journaux des modèles développés

Lire les journaux de l'architecture d'un modèle

La structure des journaux d'activité est décrite dans la documentation des types de LogEntry.

Les journaux de modèles AutoML Tables comprennent, entre autres, les champs suivants :

  • automl_tables comme valeur du champ log_type
  • jsonPayload qui contient les détails spécifiques de l'entrée de journal
  • timestamp qui décrit la date de création du modèle

Contenu de la charge utile

Le contenu d'une entrée de journal est fourni au format d'objet JSON et stocké dans le champ jsonPayload. Le champ jsonPayload contient les informations suivantes :

Champ Type Description
modelStructure JSON

Description de la structure des modèles AutoML Tables. Ce champ contient un ou plusieurs champs modelParameters contenant les hyperparamètres de chaque modèle utilisé. Lorsque plusieurs modèles sont utilisés, les modèles sont combinés pour composer le modèle final.

Pour en savoir plus, consultez la liste des hyperparamètres.

trainingObjectivePoint JSON Objectif d'optimisation utilisé pour l'entraînement des modèles. Cette entrée inclut un horodatage et une valeur d'objectif au moment où l'entrée de journal a été enregistrée.

Liste des hyperparamètres

Les données d'hyperparamètres fournies dans les journaux diffèrent pour chaque type de modèle. Les sections suivantes décrivent les hyperparamètres pour chaque type de modèle.

Modèles AdaNet

  • Type de modèle : AdaNet
  • AdaNet Lambda
  • Type de complexité
  • Nombre initial de couches
  • Type de la dernière couche (logits ou prelogits)
  • Taille de la couche d'augmentation
  • Apprentissage par poids des combinaisons (True ou False)
  • Apprentissage par résiduels (True ou False)
  • Boosting des itérations
  • Optimiseur (adagrad ou adam)

    Documentation de référence Open Source pour Python

Modèles AdaNet AutoEnsemble

  • Type de modèle : AdaNet AutoEnsembler
  • Nombre de couches cachées
  • Taille de la couche cachée
  • Couche d'abandon
  • Force de régularisation N1
  • Force de régularisation L2
  • Force de rétrécissement de régularisation L2
  • Complexité de l'arborescence
  • Profondeur d'arbre maximale
  • Biais central (True ou False)
  • Mode d'augmentation (layer ou tree)
  • Boosting des itérations
  • Optimiseur DNN (adagrad ou adam)

    Documentation de référence Open Source pour Python

Modèles linéaires DNN

Modèles en arbre de décision à boosting de gradient

Modèles en réseau de neurones feedforward

  • Type de modèle : nn
  • Taille de la couche cachée
  • Taux d'abandon
  • Activer la représentation vectorielle continue de données numériques (True ou False)
  • Activer L1 (True ou False)
  • Activer L2 (True ou False)
  • Activer la représentation vectorielle continue L1 (True ou False)
  • Activer la représentation vectorielle continue L2 (True ou False)
  • Activer layerNorm (True ou False)
  • Activer batchNorm (True ou False)
  • Nombre de couches cachées
  • Nombre de couches croisées
  • Ignorer les connexions de type dense, disable, concat ou slice_or_padding)
  • Normaliser la colonne numérique (True ou False)

Exemples d'entrées de journal

L'exemple suivant présente une entrée de journal de l'architecture du modèle final concernant le modèle nn, comme indiqué par le paramètre model_type. Si plusieurs modèles ont été utilisés pour créer le modèle final, les hyperparamètres de chaque modèle s'affichent sous forme d'entrée dans le tableau modelParameters, indexés par position (0, 1, 2, etc.).

{
 insertId: "qx7z0ifhtjpkv"
 jsonPayload: {
  @type: "type.googleapis.com/google.cloud.automl.master.TuningTrial"
  modelStructure: {
   modelParameters: [
    0: {
      Dropout rate: 0.75
      Embedding numerical embedding: "True"
      Enable L1: "False"
      Enable L2: "False"
      Enable batchNorm: "True"
      Enable embedding L1: "False"
      Enable embedding L2: "False"
      Enable layerNorm: "False"
      Hidden layer size: 16
      Normalize numerical column: "True"
      Number of cross layers: "1"
      Number of hidden layers: "2"
      Skip connections type: "dense"
      Model type: "nn"
    }
   ]
  }
  trainingObjectivePoint: {
   createTime: "2019-10-15T04:52:00Z"
   value: 0.002069325
  }
 }
 labels: {
  log_type: "automl_tables"
 }
 logName: "projects/project-id/logs/automl.googleapis.com%2Ftuning"
 receiveTimestamp: "2019-10-15T10:46:06.916277805Z"
 resource: {
  labels: {
   job_id: "109476078648557568"
   project_id: "project-id"
   region: "us-central1"
  }
  type: "cloudml_job"
 }
 severity: "INFO"
 timestamp: "2019-10-15T10:46:06.916277805Z"
}

L'exemple ci-dessous montre une entrée de journal de l'architecture du modèle lors du réglage.

{
 insertId: "nl7815f7p0cjb"
 jsonPayload: {
  @type: "type.googleapis.com/google.cloud.automl.master.TuningTrial"
  modelStructure: {
   modelParameters: [
    0: {
     hyperparameters: {
      Boosting iterations: "2"
      Grow layer size: "30"
      Initial number of layers: "1"
      Last layer type: "prelogits"
      Learn residuals: "False"
      Model type: "AdaNet"
      Optimizer: "adam"
      }
    }
   ]
  }
  trainingObjectivePoint: {
   createTime: "2019-10-13T20:42:25Z"
   value: 0.0000011595778
  }
 }
 labels: {
  log_type: "automl_tables"
 }
 logName: "projects/project-id/logs/automl.googleapis.com%2Ftuning"
 receiveTimestamp: "2019-10-13T21:20:08.189302731Z"
 resource: {
  labels: {
   job_id: "2804289077287845888"
   project_id: "project-id"
   region: "us-central1"
  }
  type: "cloudml_job"
 }
 severity: "INFO"
 timestamp: "2019-10-13T21:20:08.189302731Z"
}

Afficher les journaux généraux de AutoML Tables

Vous pouvez afficher les journaux d'activité de votre projet via l'explorateur de journaux de la console Google Cloud:

  1. Accédez à la page Journalisation de la console Google Cloud.
  2. Dans l'explorateur de journaux, sélectionnez et filtrez votre type de ressource dans le premier menu déroulant.
  3. Sélectionnez automl.googleapis.com/tuning dans le menu déroulant Tous les journaux pour afficher les journaux de AutoML Tables.

Exporter les journaux

Vous pouvez exporter vos journaux vers BigQuery, Cloud Storage ou Cloud Pub/Sub.

Consultez la section Configurer l'exportation des journaux dans la documentation de Stackdriver Logging pour en savoir plus sur l'exportation des journaux d'activité.