Verwenden der Pipeline-Benutzeroberfläche zum Debuggen von Azure Machine Learning-Pipelinefehlern

Nachdem Sie eine Pipeline übermittelt haben, wird ein Link zum Pipelineauftrag in Ihrem Azure Machine Learning-Arbeitsbereich angezeigt. Über den Link gelangen Sie auf die Seite "Pipelineauftrag" in Azure Machine Learning Studio, auf der Sie das Ergebnis überprüfen und Ihren Pipelineauftrag debuggen können.

In diesem Artikel wird erläutert, wie Sie mithilfe der Seite "Pipelineauftrag" Machine Learning-Pipelinefehler debuggen.

Wichtig

Die in diesem Artikel markierten Elemente (Vorschau) sind aktuell als öffentliche Vorschau verfügbar. Die Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Verwenden der Gliederung zum schnellen Auffinden von Knoten

Auf der Detailseite für Pipelineaufträge befindet sich links neben der Canvas eine Gliederung, die die Gesamtstruktur Ihres Pipelineauftrags zeigt. Wenn Sie auf eine beliebige Zeile zeigen, können Sie die Schaltfläche „Suchen“ auswählen, um diesen Knoten im Canvas zu suchen.

Screenshot: Gliederung und Suchen auf der Canvas

Sie können fehlerhafte oder abgeschlossene Knoten filtern und für die weitere Suche nur nach Komponenten oder Datasets filtern. Der linke Bereich zeigt die übereinstimmenden Knoten mit weiteren Informationen an, darunter Status, Dauer und Zeitpunkt der Erstellung.

Screenshot: „Schnellfilter nach“ unter „Gliederung“ > „Suche“

Sie können die gefilterten Knoten außerdem sortieren.

Screenshot: Sortieren der Suchergebnisse unter „Gliederung“ > „Suche“

Überprüfen von Protokollen und Ausgaben der Komponente

Wenn Ihre Pipeline fehlschlägt oder an einem Knoten nicht fortgesetzt wird, zeigen Sie zuerst die Protokolle an.

  1. Sie können den spezifischen Knoten auswählen und den rechten Bereich öffnen.

  2. Wenn Sie die Registerkarte Ausgaben+Protokolle auswählen, können Sie alle Ausgaben und Protokolle für diesen Knoten einsehen.

    Der Ordner user_logs enthält Informationen über die vom Benutzercode erzeugte Protokolle. Dieser Ordner ist standardmäßig geöffnet, und das std_log.txt-Protokoll ist ausgewählt. In std_log.txt werden die Protokolle Ihres Codes (z. B. Druckanweisungen) angezeigt.

    Der Ordner system_logs enthält die von Azure Machine Learning generierten Protokolle. Informieren Sie sich ausführlicher über das Anzeigen und Herunterladen von Diagnoseprotokollen.

    Screenshot: Überprüfen von Knotenprotokollen.

    Falls diese Ordner nicht angezeigt werden, wurde das Runtimeupdate noch nicht für den Computecluster freigegeben. Sie können sich zunächst die Datei 70_driver_log.txt im Ordner azureml-logs ansehen.

Vergleichen verschiedener Pipelines zum Debuggen von Fehlern oder anderen unerwarteten Problemen (Vorschau)

Der Pipelinevergleich identifiziert die Unterschiede (einschließlich Topologie, Komponenteneigenschaften und Auftragseigenschaften) zwischen mehreren Aufträgen. Sie können z. B. eine erfolgreiche Pipeline mit einer fehlerhaften Pipeline vergleichen, um herauszufinden, welche Änderungen bei Ihrer Pipeline Fehler auslösen.

In diesen beiden Hauptszenarien können Sie sich mit dem Pipelinevergleich das Debuggen erleichtern:

  • Debuggen Sie Ihren fehlerhaften Pipelineauftrag, indem Sie ihn mit einem abgeschlossenen Auftrag vergleichen.
  • Debuggen Sie den fehlerhaften Knoten in einer Pipeline, indem Sie ihn mit einem ähnlichen abgeschlossenen Knoten vergleichen.

So aktivieren Sie diese Funktion:

  1. Navigieren Sie zur Benutzeroberfläche von Azure Machine Learning Studio.
  2. Wählen Sie unter den Symbolen rechts oben auf dem Bildschirm Vorschaufeatures verwalten (Megafonsymbol) aus.
  3. Aktivieren Sie im Bereich Verwaltete Previewfunktion das Feature Vergleichen von Pipelineaufträgen, um Fehler oder unerwartete Probleme zu debuggen.

Screenshot: Aktivierte verwaltete Previewfunktionen

Vorgehensweise: Debuggen Sie Ihren fehlerhaften Pipelineauftrag, indem Sie ihn mit einem abgeschlossenen Auftrag vergleichen

Während der iterativen Modellentwicklung verfügen Sie möglicherweise über eine Baselinepipeline und führen dann einige Änderungen durch, z. B. eines Parameters, Datasets oder einer Computeressource usw. Wenn bei Ihrer neuen Pipeline ein Fehler aufgetreten ist, können Sie mithilfe des Pipelinevergleichs mit der Baselinepipeline ermitteln, was sich geändert hat, und so herausfinden, warum der Fehler aufgetreten ist.

Vergleichen einer Pipeline mit ihrem übergeordneten Element

Beim Debuggen sollten Sie zuerst den fehlerhaften Knoten ausfindig machen und die Protokolle überprüfen.

Beispielsweise erhalten Sie möglicherweise eine Fehlermeldung, die darauf hinweist, dass bei Ihrer Pipeline aufgrund eines Mangels an Arbeitsspeicher ein Fehler aufgetreten ist. Wenn Ihre Pipeline aus einer abgeschlossenen übergeordneten Pipeline geklont wird, können Sie anhand des Pipelinevergleichs erkennen, was sich geändert hat.

  1. Wählen Sie Herkunft anzeigen aus.

  2. Wählen Sie den Link unter „Geklont von“ aus. Damit wird eine neue Browserregisterkarte mit der übergeordneten Pipeline geöffnet.

    Screenshot: geklonter Link mit hervorgehobener Schaltfläche „Herkunft anzeigen“ im vorherigen Schritt.

  3. Wählen Sie Hinzufügen zum Vergleichen für die fehlerhafte und die übergeordnete Pipeline aus. Damit werden sie der Vergleichskandidatenliste hinzugefügt.

    Screenshot: Vergleichsliste mit hinzugefügter über- und untergeordneter Pipeline.

Vergleichen der Topologie

Nachdem die beiden Pipelines der Vergleichsliste hinzugefügt wurden, stehen Ihnen zwei Optionen zur Verfügung: Details vergleichen und Graph vergleichen. Mit Graph vergleichen können Sie die Pipelinetopologie vergleichen.

Graph vergleichen zeigt die Änderungen der Graphtopologie zwischen Pipeline A und B. Die speziellen Knoten in Pipeline A sind rot hervorgehoben und mit „Nur A“ gekennzeichnet. Die speziellen Knoten in Pipeline B sind grün hervorgehoben und mit „Nur B“ gekennzeichnet. Die freigegebenen Knoten sind grau. Wenn Unterschiede auf den freigegebenen Knoten vorliegen, wird oben auf dem Knoten angezeigt, was geändert wurde.

Es gibt drei Kategorien von Änderungen, deren Zusammenfassungen auf der Detailseite, in Parameteränderung, Eingabequelle und Pipelinekomponente angezeigt werden. Wenn die Pipelinekomponente geändert wird, bedeutet dies, dass eine Topologieänderung innerhalb eines Knotens oder eine Änderung eines inneren Parameters eines Knotens vorliegt. Sie können das Ordnersymbol auf dem Knoten der Pipelinekomponente auswählen, um die Details zu untersuchen. Andere Änderungen können anhand der farbigen Knoten im Vergleichsgraph erkannt werden.

Screenshot: Geänderter Parameter und Registerkarte mit Komponenteninformationen.

Vergleichen von Pipelinemetainformationen und -eigenschaften

Wenn Sie den Datasetunterschied untersuchen und feststellen, dass Daten oder Topologie offenbar nicht die Grundursache des Fehlers sind, können Sie auch die Pipelinedetails wie Pipelineparameter, Ausgabe- oder Ausführungseinstellungen überprüfen.

Graph vergleichen wird zum Vergleichen der Pipelinetopologie verwendet. Details vergleichen wird zum Vergleichen von Pipelineeigenschaften-Linkmetainformationen oder -einstellungen verwendet.

Um auf den Detailvergleich zuzugreifen, wechseln Sie zur Vergleichsliste, und wählen Sie Details vergleichen aus, oder wählen Sie Vergleichsdetails anzeigen auf der Pipelinevergleichsseite aus.

Es werden Pipelineeigenschaften und Ausführungseigenschaften angezeigt.

  • Pipelineeigenschaften umfassen Pipelineparameter, Ausführungs- und Ausgabeeinstellungen usw.
  • Zu den Ausführungseigenschaften gehören Auftragsstatus, Sendezeit und -dauer usw.

Der folgende Screenshot zeigt ein Beispiel für die Verwendung des Detailvergleichs, bei dem die Standardcomputeeinstellung möglicherweise die Fehlerursache war.

Screenshot: Vergleichsübersicht des Standardcomputes.

Um den Topologievergleich schnell zu überprüfen, wählen Sie den Pipelinenamen und dann Graph vergleichen aus.

Screenshot des Detailvergleichs mit hervorgehobenem „Graph vergleichen“.

Vorgehensweise: Debuggen des fehlerhaften Knotens in einer Pipeline mittels Vergleich mit einem ähnlichen abgeschlossenen Knoten

Wenn Sie nur Knoteneigenschaften aktualisiert und nichts in der Pipeline geändert haben, können Sie den Knoten debuggen, indem Sie ihn mit den Aufträgen vergleichen, die von derselben Komponente übermittelt werden.

Suchen des Auftrags, mit dem verglichen werden soll

  1. Suchen Sie nach einem erfolgreichen Auftrag, mit dem verglichen werden soll, indem Sie alle Ausführungen anzeigen, die von derselben Komponente übermittelt wurden.
    1. Wählen Sie den fehlerhaften Knoten mit der rechten Maustaste aus, und wählen Sie Aufträge anzeigen aus. So erhalten Sie eine Liste aller Aufträge.

      Screenshot: fehlerhafter Knoten mit Hervorhebung von „Aufträge anzeigen“.

    2. Wählen Sie einen abgeschlossenen Auftrag als Vergleichsziel aus.

  2. Nachdem Sie einen fehlerhaften und einen abgeschlossenen Auftrag für den Vergleich gefunden haben, fügen Sie die beiden Aufträge der Liste der Vergleichskandidaten hinzu.
    1. Wählen Sie den fehlerhaften Knoten mit der rechten Maustaste aus, und wählen Sie Hinzufügen zum Vergleichen aus.
    2. Navigieren Sie für den abgeschlossenen Auftrag zu dessen übergeordneter Pipeline, und suchen Sie den abgeschlossenen Auftrag. Wählen Sie dann Hinzufügen zum Vergleichen aus.
  3. Sobald sich die beiden Aufträge in der Vergleichsliste befinden, wählen Sie Details vergleichen aus, um die Unterschiede anzuzeigen.

Freigeben der Vergleichsergebnisse

Um Ihre Vergleichsergebnisse freizugeben, wählen Sie Freigeben aus, und kopieren Sie den Link. Sie könnten z. B. vermuten, dass der Datasetunterschied zu einem Fehler führt, aber Sie sind kein Datasetspezialist. Sie können das Vergleichsergebnis für eine technische Fachkraft für Daten in Ihrem Team freigeben.

Screenshot: Schaltfläche „Freigeben“ und der Link, den Sie kopieren sollten.

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie Sie Pipelinefehler debuggen. Weitere Informationen zur Verwendung der Pipeline finden Sie in den folgenden Artikeln: