Gérer les modèles et les tâches

Pendant l'entraînement et le déploiement des modèles, et l'obtention des prédictions, vous devez gérer des ressources sur Google Cloud Platform. Cette page vous explique comment manier les modèles, les versions et les tâches.

Nommer les ressources AI Platform Prediction

Vous devez spécifier un nom pour chaque tâche que vous créez. Les règles de dénomination sont les mêmes pour les trois types de ressources. Chaque nom :

  • ne doit contenir que des lettres, des chiffres et des traits de soulignement ;
  • est sensible à la casse ;
  • doit commencer par une lettre ;
  • ne doit pas dépasser 128 caractères ;
  • doit être unique dans son espace de noms (le projet pour les modèles et les tâches, et le modèle parent pour les versions).

Il est recommandé de créer des noms faciles à distinguer dans les listes de ressources telles que les journaux de tâches. Voici quelques suggestions :

  • Attribuez à toutes les tâches du même modèle un nom composé du nom du modèle et d'un index de tâche (par exemple, l'horodatage de création de la tâche).
  • Nommez les modèles de façon à les identifier facilement à partir de l'ensemble de données qu'ils utilisent (census_wide_deep est généralement préférable à my_new_model, par exemple).
  • Il est préférable que les versions soient facilement lisibles. Plutôt que d'utiliser un horodatage ou une valeur unique du même type, nous vous recommandons d'employer des indicateurs de version simples, comme v1.

Gérer les modèles

Les ressources de votre modèle dans AI Platform Prediction sont des conteneurs logiques pour les mises en œuvre individuelles d'un modèle de machine learning. Ces ressources sont les plus simples à utiliser, car elles ne nécessitent pas d'opérations complexes, ni l'attribution ou la gestion de ressources supplémentaires.

Le tableau suivant récapitule les opérations sur les modèles et répertorie les interfaces qui permettent de les exécuter :

Opération Interfaces Remarques
create projects.models.create
gcloud ai-platform models create
Créer un modèle sur la page Modèles AI Platform Prediction
delete projects.models.delete

La suppression d'un modèle est une opération de longue durée.

Le modèle ne doit être associé à aucune version pour pouvoir être supprimé.

gcloud ai-platform models delete
Supprimer dans la liste Modèles ou sur la page Informations sur le modèle
get projects.models.get

Les informations obtenues sont décrites dans la documentation de référence de la ressource Model.

gcloud ai-platform models describe
Page Informations sur le modèle (accessible via un lien de la liste Modèles)
list projects.models.list
gcloud ai-platform models list
Page Modèles AI Platform Prediction.

Gérer les versions

Les versions sont des itérations spécifiques de vos modèles. Le noyau d'une version de modèle est constitué d'un fichier TensorFlow SavedModel.

Le tableau suivant récapitule les opérations sur les versions et répertorie les interfaces qui permettent de les exécuter :

Opération Interfaces Remarques
create projects.models.versions.create

La création d'une version consiste à déployer un SavedModel dans AI Platform Prediction. Reportez-vous au guide de déploiement de modèles pour en savoir plus.

gcloud ai-platform versions create
Créer une version sur la page Informations sur le modèle (accessible via un lien de la liste Modèles)
delete projects.models.versions.delete

La suppression d'un modèle est une opération de longue durée.

La version par défaut d'un modèle ne peut être supprimée que s'il s'agit de la seule version lui étant assignée.

gcloud ai-platform versions delete
Supprimer dans la liste de versions de la page Informations sur le modèle.
get projects.models.versions.get

Les informations obtenues sont décrites dans la documentation de référence de la ressource Version.

gcloud ai-platform versions describe
Page Détails de la version (accessible via un lien de la liste Versions sur la page Informations sur le modèle).
list projects.models.versions.list
gcloud ai-platform versions list
Liste de versions sur la page Informations sur le modèle.
setDefault projects.models.versions.setDefault

Il s'agit de la seule façon d'assigner une nouvelle version par défaut à un modèle. Une fois la première version créée, les suivantes ne sont pas, à leur création, des versions par défaut.

gcloud ai-platform versions set-default
Définir en tant que version par défaut dans la liste de versions sur la page Informations sur le modèle.

Gérer les tâches

AI Platform Prediction peut gérer deux types de tâches : l'entraînement et la prédiction par lots. Les détails spécifiques à chaque type sont différents, mais l'opération de base reste la même.

Le tableau suivant récapitule les opérations relatives aux tâches et répertorie les interfaces qui permettent de les exécuter :

Opération Interfaces Remarques
create projects.jobs.create

Le processus de création de tâche est décrit en détail dans les guides sur l'entraînement et la prédiction par lot.

gcloud ai-platform jobs submit training

gcloud ai-platform jobs submit prediction

Aucune mise en œuvre dans la console.
cancel projects.jobs.cancel

Annule une tâche en cours d'exécution.

gcloud ai-platform jobs cancel

Correspond à Annuler sur la page Informations sur la tâche.
get projects.jobs.get Les informations obtenues sont décrites dans la documentation de référence de la ressource Jobs.

gcloud ai-platform jobs describe

Page Détails de la tâche (accessible via un lien de la liste Tâches).
list projects.jobs.list Seules les tâches créées au cours des 90 derniers jours sont affichées.

gcloud ai-platform jobs list

Liste Tâches.

Gérer les opérations asynchrones

La plupart des opérations de gestion des ressources AI Platform Prediction renvoient un résultat le plus rapidement possible et fournissent une réponse complète. Il existe toutefois deux types d'opérations asynchrones que vous devez connaître : les tâches et les opérations de longue durée.

Lorsque vous lancez une opération asynchrone, vous voulez généralement savoir quand elle se termine. Le processus d'obtention de l'état est différent pour les tâches et les opérations de longue durée :

Obtenir l'état d'une tâche

Pour obtenir l'état d'une tâche, vous pouvez utiliser la méthode projects.jobs.get. Cette méthode est également fournie par l'interface gcloud ai-platform jobs describe et sur la page Tâches dans Google Cloud Console. Quelle que soit la façon dont l'état est obtenu, les informations sont basées sur les membres de la ressource de type Job. Vous savez que la tâche est terminée lorsque Job.state dans la réponse correspond à l'une de ces valeurs :

  • SUCCEEDED
  • FAILED
  • CANCELLED

Obtenir l'état d'une opération de longue durée

AI Platform Prediction comprend trois opérations de longue durée :

  • Création de version
  • Suppression de modèle
  • Suppression de version

Parmi ces opérations de longue durée, seule la création de version peut prendre un peu plus de temps. La suppression de modèles et de versions s'effectue généralement quasiment en temps réel.

Si vous créez une version à l'aide de Google Cloud CLI ou de la console Google Cloud, l'interface vous informe automatiquement lorsque l'opération est terminée. Si vous créez une version à l'aide de l'API, vous pouvez suivre vous-même l'état de l'opération comme suit :

  1. Appelez la méthode projects.models.versions.create. Dans l'objet Operation de la réponse obtenue, copiez le nom d'opération attribué par le service. La clé correspondant à la valeur du nom est "name".

  2. Interrogez régulièrement l'état de l'opération au moyen de la méthode projects.operations.get.

    1. À l'aide du nom de l'opération obtenu à la première étape, créez une chaîne de nom au format suivant :

      'projects/my_project/operations/operation_name'
      

      Le message de réponse contient un objet Operation.

    2. Vérifiez la valeur de la clé "done". Il s'agit d'un indicateur booléen traduisant l'achèvement de l'opération. Si la valeur correspond à "vrai" (true), l'opération est terminée.

  3. Une fois l'opération terminée, l'objet Operation inclut l'une des deux clés suivantes :

    • La clé "response" apparaît si l'opération a réussi. Sa valeur doit correspondre à google.protobuf.Empty, car aucune des opérations de longue durée AI Platform Prediction ne contient d'objet de réponse.

    • La clé "error" apparaît en cas d'erreur. Sa valeur correspond à un objet Status.

Étapes suivantes