Share via


如何使用管線 UI 對 Azure Machine Learning 管線失敗進行偵錯

提交管線之後,您會在 Azure Machine Learning 工作區中看到管線作業的連結。 連結會將您放在 Azure Machine Learning 工作室的管線作業頁面中,您可以在其中檢查結果並針對管線作業進行偵錯。

本文介紹如何使用管線作業頁面來偵錯機器學習管線失敗。

重要

本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本會在沒有服務等級協定的情況下提供,不建議用於實際執行工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

使用大綱快速尋找節點

在 [管線作業詳細資料] 頁面中,畫布左側有一個外框,其中顯示管線作業的整體結構。 將滑鼠暫留在任何資料列上,您可以選取 [尋找] 按鈕,在畫布中找出該節點。

Screenshot showing outline and locate in the canvas.

您可以篩選失敗或已完成的節點,並僅依元件或資料集進行篩選以便進一步搜尋。 左窗格會顯示相符的節點,其中包含狀態、持續時間和建立時間等詳細資訊。

Screenshot showing the quick filter by in outline > search.

您也可以替篩選的節點排序。

Screenshot of sorting search result in outline > search.

檢查元件的記錄和輸出

如果您的管線失敗或卡在節點上,請先檢視記錄。

  1. 您可以選取特定節點,然後開啟右窗格。

  2. 選取 [輸出+記錄] 索引標籤,您可以探索此節點的所有輸出和記錄。

    user_logs 資料夾包含使用者程式碼所產生記錄檔的相關資訊。 預設會開啟此資料夾,並選取 std_log.txt 記錄檔。 程式碼的記錄 (例如 print 陳述式) 會顯示在 std_log.txt 中。

    system_logs 資料夾包含 Azure Machine Learning 所產生的記錄。 深入了解檢視和下載診斷記錄

    Screenshot of how to check node logs.

    如果您沒有看到這些資料夾,這是因為計算執行時間更新尚未發行至計算叢集,您可以先查看 azureml-logs 資料夾下的 70_driver_log.txt

比較不同的管線,以針對失敗或其他非預期的問題找出原因 (預覽)

管線比較可識別多個作業之間的差異 (包括拓撲、元件屬性和作業屬性)。 例如,您可以比較成功的管線和失敗的管線,以協助您找出哪些修改讓管線失敗。

您可以使用管線比較來協助偵錯的兩個主要案例:

  • 藉由比較失敗的管線作業與已完成的管線作業來進行偵錯。
  • 藉由比較管線中失敗的節點與類似的已完成節點來進行偵錯。

若要啟用此功能:

  1. 瀏覽至 Azure Machine Learning 工作室 UI。
  2. 在畫面右上方的圖示中,選取 [管理預覽功能] (擴音器圖示)。
  3. 在 [受控預覽功能] 面板中,開啟 [比較管線作業以偵錯失敗或未預期的問題] 功能。

Screenshot of manage preview features toggled on.

如何藉由比較失敗的管線作業與已完成的管線作業來進行偵錯

在反覆式模型開發期間,您可能會有基準管線,然後進行一些修改,例如變更參數、資料集或計算資源等。如果您的新管線失敗,您可以使用管線比較來識別已變更的項目,方法是將其與基準管線進行比較,這有助於找出失敗的原因。

比較管線與其父代

偵錯時應該檢查的第一個事項,是找出失敗的節點並檢查記錄。

例如,您可能會收到錯誤訊息,顯示您的管線因記憶體不足而失敗。 如果您的管線是從已完成的父代管線複製,您可以使用管線比較來查看變更的項目。

  1. 選取 [顯示資料譜系]

  2. 選取 [已從下列位置複製] 下的連結。 這會使用父代管線開啟新的瀏覽器索引標籤。

    Screenshot showing the cloned from link, with the previous step, the lineage button highlighted.

  3. 選取失敗的管線和父代管線上的 [新增至比較]。 這樣會在比較候選清單中新增它們。

    Screenshot showing the comparison list with a parent and child pipeline added.

比較拓撲

將兩個管線新增至比較清單之後,您有兩個選項:[比較詳細資料] 與 [比較圖表]。 [比較圖表] 可讓您比較管線拓撲。

[比較圖表] 會顯示管線 A 與 B 之間的圖表拓撲變更。管線 A 中的特殊節點會以紅色醒目提示,並標示為「僅限 A」。 管線 B 中的特殊節點會以綠色表示,並標示為「僅限 B」。 共用節點呈現灰色。 如果共用節點上有差異,則已變更的項目會顯示在節點頂端。

詳細資料頁面中有三個具有可檢視摘要的變更類別:參數變更、輸入來源、管線元件。 當管線元件變更時,這表示內部有拓撲變更或內部節點參數變更,您可以選取管線元件節點上的資料夾圖示來向下挖掘詳細資料。 檢視比較圖表中的彩色節點,即可偵測其他變更。

Screenshot showing the parameter changed and the component information tab.

比較管線中繼資訊和屬性

如果您調查資料集差異,並發現資料或拓撲似乎不是失敗的根本原因,您也可以檢查管線詳細資料,例如管線參數、輸出或執行設定。

[比較圖表] 是用來比較管線拓撲,[比較詳細資料] 是用來比較管線屬性連結中繼資訊或設定。

若要存取詳細資料比較,請移至比較清單,選取 [比較詳細資料],或選取管線比較頁面上的 [顯示比較詳細資料]

您會看到 [管線屬性] 和 [執行屬性]

  • 管線屬性包括管線參數、執行和輸出設定等等。
  • 執行屬性包括作業狀態、提交時間和持續時間等等。

下列螢幕擷取畫面顯示使用詳細資料比較的範例,其中預設計算設定可能是失敗的原因。

Screenshot showing the comparison overview of the default compute.

若要快速檢查拓撲比較,請選取管線名稱,然後選取 [比較圖表]

Screenshot of detail comparison with compare graph highlighted.

如何藉由比較管線中失敗的節點與類似的已完成節點來進行偵錯

如果您只在管線中更新節點屬性且未變更任何項目,則可以藉由將節點與從相同元件提交的作業進行比較來偵錯該節點。

尋找要進行比較的作業

  1. 藉由檢視從相同元件提交的所有執行,以找出要進行比較的成功作業。
    1. 以滑鼠右鍵按一下失敗的節點,然後選取 [檢視作業]。 這會提供所有作業的清單。

      Screenshot that shows a failed node with view jobs highlighted.

    2. 選擇已完成的作業作為比較目標。

  2. 找到要進行比較的失敗和已完成作業之後,請將這兩個作業新增至比較候選清單。
    1. 以滑鼠右鍵按一下失敗的節點,然後選取 [新增至比較]
    2. 針對已完成的作業,請移至其父代管線,並找到已完成的作業。 然後選取 [新增至比較]
  3. 兩個作業位於比較清單中之後,請選取 [比較詳細資料] 以顯示差異。

共用比較結果

若要共用比較結果,請選取 [共用] 並複製連結。 例如,您可能會發現資料集差異會導致失敗,但您不是資料集專家,您可以與小組的資料工程師共用比較結果。

Screenshot showing the share button and the link you should copy.

下一步

在本文中,您已了解如何偵錯管線失敗。 若要深入了解如何使用管線,請參閱下列文章: