Comment utiliser l’interface utilisateur de pipeline pour déboguer des échecs de pipeline Azure Machine Learning

Après l’envoi d’un pipeline, un lien vers le travail de pipeline s’affiche dans votre espace de travail Azure Machine Learning. Le lien vous place dans la page de travail du pipeline dans Azure Machine Learning studio, dans laquelle vous pouvez vérifier le résultat et déboguer votre travail de pipeline.

Cet article explique comment utiliser la page de travail de pipeline pour déboguer des échecs de pipeline Machine Learning.

Important

Les éléments marqués (préversion) dans cet article sont actuellement en préversion publique. La préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail en production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Utilisation du plan pour trouver rapidement un nœud

Dans la page des détails du travail de pipeline, il y a un plan à gauche du canevas qui montre la structure générale de votre travail de pipeline. En pointant sur une ligne, vous pouvez sélectionner le bouton « Localiser » pour localiser le nœud dans le canevas.

Capture d’écran montrant un plan et la localisation dans le canevas.

Vous pouvez filtrer les nœuds ayant échoué ou qui sont terminés, et filtrer uniquement par composants ou jeux de données pour une recherche plus approfondie. Le volet de gauche affiche les nœuds correspondants avec plus d’informations, notamment l’état, la durée et l’heure de création.

Capture d’écran montrant Filtre rapide par dans Plan > Recherche.

Vous pouvez également trier les nœuds filtrés.

Capture d’écran du tri des résultats de recherche dans Plan > Recherche.

Consulter les journaux et les sorties de composant

Si votre pipeline échoue ou est bloqué sur un nœud, commencez par consulter les journaux.

  1. Vous pouvez sélectionner le nœud spécifique et ouvrir le volet droit.

  2. Sélectionnez l’onglet Sorties+journaux où vous pouvez explorer toutes les sorties et tous les journaux de ce nœud.

    Le dossier user_logs contient des informations sur les journaux générés par le code utilisateur. Ce dossier est ouvert par défaut, et le journal std_log.txt est sélectionné. Les journaux de votre code (par exemple, les instructions print) apparaissent dans std_log.txt.

    Le dossier system_logs contient les journaux générés par Azure Machine Learning. En savoir plus sur l’affichage et le téléchargement des journaux de diagnostic.

    Capture d’écran sur la façon de vérifier des journaux des nœuds.

    Si vous ne voyez pas ces dossiers, c’est parce que la mise à jour au moment de l’exécution du calcul n’est pas encore publiée sur le cluster de calcul, et vous pouvez d’abord examiner 70_driver_log.txt dans le dossier azureml-logs.

Comparaison des différents pipelines pour déboguer les échecs ou autres problèmes inattendus (préversion)

La comparaison de pipelines identifie les différences (y compris la topologie, les propriétés de composant et les propriétés de travail) entre plusieurs travaux. Par exemple, vous pouvez comparer un pipeline qui a réussi et un pipeline qui a échoué, ce qui vous aide à trouver les modifications qui font échouer votre pipeline.

il existe deux scénarios majeurs dans lesquels vous pouvez utiliser la comparaison de pipelines pour faciliter le débogage :

  • Déboguer votre travail de pipeline ayant échoué en le comparant à un travail terminé.
  • Déboguer votre nœud défaillant dans un pipeline en le comparant à un nœud terminé similaire.

Pour activer cette fonctionnalité :

  1. Accédez à l’interface utilisateur Azure Machine Learning Studio.
  2. Sélectionnez Gérer les fonctionnalités d’aperçu (icône mégaphone) parmi les icônes situées en haut à droite de l’écran.
  3. Dans le panneau Fonctionnalité managée en préversion, activez la fonctionnalité Comparer les travaux de pipeline pour déboguer des problèmes inattendus ou des échecs.

Capture d’écran de l’option Gérer les fonctionnalités d’évaluation activée.

Comment déboguer votre travail de pipeline ayant échoué en le comparant à un travail terminé

Pendant le développement d’un modèle itératif, vous pouvez avoir un pipeline de base de référence, puis effectuer certaines modifications comme la modification d’un paramètre, d’un jeu de données ou d’une ressource de calcul, etc. Si votre nouveau pipeline a échoué, vous pouvez utiliser la comparaison de pipeline pour identifier ce qui a changé en le comparant au pipeline de référence, ce qui peut vous aider à déterminer la raison de son échec.

Comparer un pipeline avec son parent

La première chose que vous devez vérifier lors du débogage consiste à localiser le nœud défaillant et à vérifier les journaux.

Par exemple, vous pouvez obtenir un message d’erreur indiquant que votre pipeline a échoué en raison d’une mémoire insuffisante. Si votre pipeline est cloné à partir d’un pipeline parent terminé, vous pouvez utiliser la comparaison de pipelines pour voir ce qui a changé.

  1. Sélectionnez Afficher la traçabilité.

  2. Sélectionnez le lien sous « Cloné à partir de ». Un nouvel onglet de navigateur s’ouvre avec le pipeline parent.

    Capture d'écran montrant le lien Cloné à partir de, avec l'étape précédente et le bouton de traçabilité en évidence.

  3. Sélectionnez Ajouter pour comparer au pipeline ayant échoué et au pipeline parent. Cela les ajoute à la liste des candidats de comparaison.

    Capture d’écran montrant la liste de comparaison avec un pipeline parent et enfant ajouté.

Comparer la topologie

Une fois les deux pipelines ajoutés à la liste de comparaison, vous disposez de deux options : Comparer les détails et Comparer le graphique. Comparer le graphique vous permet de comparer la topologie de pipeline.

Comparer le graphique vous montre les modifications de topologie de graphique entre les pipelines A et B. Les nœuds spéciaux du pipeline A sont mis en surbrillance en rouge et marqués avec « A uniquement ». Les nœuds spéciaux dans le pipeline B sont en vert et marqués avec « B uniquement ». Les nœuds partagés sont en gris. S’il existe des différences sur les nœuds partagés ; ce qui a été modifié s’affiche en haut du nœud.

Il existe trois catégories de modifications avec des résumés visibles dans la page de détails, la modification de paramètre, la source d’entrée et le composant de pipeline. Lorsque le composant de pipeline est modifié, cela signifie qu’il y a une modification de topologie à l’intérieur ou un changement de paramètre de nœud interne, vous pouvez sélectionner l’icône de dossier sur le nœud du composant de pipeline pour explorer les détails. D’autres modifications peuvent être détectées en affichant les nœuds de couleur dans le graphique de comparaison.

Capture d’écran montrant le paramètre modifié et l’onglet Informations sur le composant.

Comparer les méta-informations et les propriétés du pipeline

Si vous examinez la différence de jeu de données et que vous constatez que les données ou la topologie ne semblent pas être la cause racine de l’échec, vous pouvez également vérifier les détails du pipeline, comme les paramètres de paramètre de pipeline, de sortie ou d’exécution.

Comparer le graphique est utilisé pour comparer la topologie de pipeline, Comparer les détails est utilisé pour comparer les méta-informations ou les paramètres des propriétés de pipeline.

Pour accéder à la comparaison des détails, accédez à la liste de comparaison, sélectionnez Comparer les détails ou sélectionnez Afficher les détails de la comparaison dans la page de comparaison du pipeline.

Vous verrez Propriétés du pipeline et Propriétés d’exécution.

  • Les propriétés du pipeline incluent les paramètres de pipeline, les paramètres d’exécution et de sortie, etc.
  • Les propriétés d’exécution incluent l’état du travail, l’heure et la durée d’envoi, etc.

La capture d’écran suivante montre un exemple d’utilisation de la comparaison des détails, où le paramètre de calcul par défaut peut avoir été la raison de l’échec.

Capture d’écran montrant la vue d’ensemble de la comparaison du calcul par défaut.

Pour vérifier rapidement la comparaison de topologie, sélectionnez le nom du pipeline, puis Comparer le graphique.

Capture d’écran de la comparaison de détails avec le graphique de comparaison mis en surbrillance.

Comment déboguer votre nœud ayant échoué dans un pipeline en le comparant à un nœud terminé similaire

Si vous avez uniquement mis à jour les propriétés du nœud et que rien n’a changé dans le pipeline, vous pouvez déboguer le nœud en le comparant aux travaux envoyés à partir du même composant.

Rechercher le travail à comparer

  1. Recherchez un travail réussi à comparer en affichant toutes les exécutions envoyées à partir du même composant.
    1. Sélectionnez avec le bouton droit le nœud ayant échoué, puis Afficher les travaux. Vous obtenez ainsi une liste de tous les travaux.

      Capture d’écran montrant un nœud ayant échoué avec affichage des travaux mis en évidence.

    2. Choisissez un travail terminé comme cible de comparaison.

  2. Une fois que vous avez trouvé un travail ayant échoué et un ayant terminé à comparer, ajoutez les deux à la liste des candidats de comparaison.
    1. Pour le nœud ayant échoué, sélectionnez avec le bouton droit et sélectionnez Ajouter à la comparaison.
    2. Pour le travail terminé, accédez à son pipeline parent et recherchez le travail terminé. Sélectionnez ensuite Ajouter à la comparaison.
  3. Une fois les deux travaux dans la liste de comparaison, sélectionnez Comparer les détails pour afficher les différences.

Partager les résultats de la comparaison

Pour partager les résultats de votre comparaison, sélectionnez Partager et copiez le lien. Par exemple, vous pouvez découvrir que la différence de jeu de données peut entraîner l’échec, mais si vous n’êtes pas un spécialiste des jeux de données, vous pouvez partager le résultat de la comparaison avec un ingénieur données de votre équipe.

Capture d’écran montrant le bouton Partager et le lien que vous devez copier.

Étapes suivantes

Dans cet article, vous avez découvert le débogage des échecs de pipeline. Pour en savoir plus sur l’utilisation du pipeline, consultez les articles suivants :