本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 SageMaker Clarify 進行公平性、模型可解釋性和偏差偵測
您可以使用 Amazon SageMaker Clarify 來了解公平性和模型可解釋性,以及解釋和偵測模型中的偏差。您可以設定 SageMaker Clarify 處理任務來計算偏差指標和特徵屬性,並產生模型可解釋性的報告。 SageMaker Clarify 處理任務是使用專門的 SageMaker Clarify 容器映像實作。下頁說明 SageMaker Clarify 的運作方式,以及如何開始使用分析。
什麼是機器學習預測的公平性和模型可解釋性?
機器學習 (ML) 模型有助於在金融服務、醫療保健、教育和人力資源等領域做出決策。政策制定者、監管機構和倡導者已提高對 ML 和資料驅動系統帶來的道德和政策挑戰的意識。Amazon SageMaker Clarify 可協助您了解為何您的 ML 模型做出特定預測,以及在訓練或推論期間,此偏差是否會影響此預測。 SageMaker Clarify 也提供工具,可協助您建立偏差較少且更易於理解的機器學習模型。 SageMaker Clarify 也可以產生模型治理報告,供您提供給風險與合規團隊和外部監管機構。透過 SageMaker Clarify,您可以執行下列動作:
-
偵測 中的偏差,並協助解釋模型預測。
-
識別訓練前資料的偏差類型。
-
識別訓練後資料的偏差類型,這些偏差可能在訓練期間或模型正在生產時出現。
SageMaker Clarify 有助於解釋模型如何使用特徵屬性進行預測。它還可以監控生產中的推論模型,以同時識別偏差和特徵屬性偏離。此資訊可在下列區域中協助您:
-
法規 – 政策制定者和其他監管機構可能會對使用 ML 模型輸出的決策的歧視影響有所疑慮。例如,ML 模型可能會編碼偏差並影響自動化決策。
-
業務 – 受監管的網域可能需要對 ML 模型如何進行預測的可靠解釋。模型可解釋性對於依賴可靠性、安全性和合規性的產業而言尤其重要。這些可能包括金融服務、人力資源、醫療保健和自動化運輸。例如,貸款應用程式可能需要提供說明,說明 ML 模型如何對貸款主管、預測者和客戶做出特定預測。
-
資料科學 – 資料科學家和 ML 工程師可以在可以判斷模型是否根據吵雜或不相關的功能進行推論時,對 ML 模型進行偵錯和改善。他們也可以了解模型可能遇到的模型和失敗模式的限制。
如需部落格文章,其中說明如何建構和建置完整的機器學習模型,以用於將 SageMaker Clarify 整合到 SageMaker 管道的詐騙汽車宣告,請參閱 Architect,並使用 AWS:Amazon end-to-end示範建置完整的機器學習生命週期 SageMaker
評估 ML 生命週期中公平性和可解釋性的最佳實務
公平作為程序 - 偏差和公平的概念取決於其應用。偏差的測量和偏差指標的選擇,可能受到社會、法律和其他非技術考量的引導。成功採用具備公平意識的 ML 方法,包括建立共識並實現主要利益相關者之間的協作。這些可能包括產品、政策、法務、工程、AI/ML 團隊、最終使用者和社群。
ML 生命週期中設計時的公平性和可解釋性 – 在 ML 生命週期的每個階段考慮公平性和可解釋性。這些階段包括問題形成、資料集建構、演算法選擇、模型訓練程序、測試程序、部署,以及監控和意見回饋。具備正確的工具進行此分析非常重要。建議您在 ML 生命週期期間提出下列問題:
-
此模型是否鼓勵會產生越來越不公平結果的意見回饋循環?
-
演算法是否為問題的道德解決方案?
-
訓練資料是否代表不同群組?
-
標籤或特徵是否存在偏差?
-
是否需要修改資料以減輕偏差?
-
目標函數中是否需要包含公平性限制?
-
模型是否已使用相關的公平性指標進行評估?
-
使用者之間是否有不相等的影響?
-
該模型是否部署在未接受訓練或評估的人口上?
SageMaker 說明和偏差文件指南
在訓練模型之前和之後,可能會發生偏差,並在資料中測量偏差。 SageMaker Clarify 可以在訓練後提供模型預測的說明,以及部署到生產環境的模型的說明。 SageMaker Clarify 也可以監控生產環境中的模型,以找出其基準解釋屬性中的任何偏離,並在需要時計算基準。使用 SageMaker Clarify 說明和偵測偏差的文件結構如下:
-
如需設定偏差和可解釋性處理任務的相關資訊,請參閱 設定 SageMaker Clarify 處理任務。
-
如需在用於訓練模型之前偵測預先處理資料中偏差的資訊,請參閱 預先訓練資料偏差。
-
如需偵測訓練後資料和模型偏差的資訊,請參閱 訓練後資料和模型偏差。
-
如需在訓練後解釋模型預測之模型無關特徵屬性方法的相關資訊,請參閱 模型可解釋性。
-
如需監控特徵貢獻偏離模型訓練期間所建立基準的資訊,請參閱 生產中模型的功能屬性漂移。
-
如需有關監控生產中基準偏離模型的資訊,請參閱 生產中模型的偏差偏離。
-
如需如何從 SageMaker端點即時取得說明的資訊,請參閱 搭配 SageMaker Clarify 的線上可解釋性。
SageMaker 釐清處理任務的運作方式
您可以使用 SageMaker Clarify 來分析資料集和模型的可解釋性和偏差。 SageMaker Clarify 處理任務使用 SageMaker Clarify 處理容器與包含輸入資料集的 Amazon S3 儲存貯體互動。您也可以使用 SageMaker Clarify 來分析部署到 SageMaker 推論端點的客戶模型。
下圖顯示 SageMaker Clarify 處理任務如何與您的輸入資料互動,以及選擇性地與客戶模型互動。此互動取決於所執行的分析的特定類型。 SageMaker Clarify 處理容器會從 S3 儲存貯體取得用於分析的輸入資料集和組態。對於某些分析類型,包括特徵分析, SageMaker Clarify 處理容器必須將請求傳送至模型容器。然後,它會從模型容器傳送的回應中擷取模型預測。之後, SageMaker Clarify 處理容器會計算分析結果並將其儲存至 S3 儲存貯體。
您可以在機器學習工作流程生命週期的多個階段執行 SageMaker Clarify 處理任務。 SageMaker Clarify 可協助您運算下列分析類型:
-
訓練前偏差指標。這些指標可協助您了解資料中的偏差,以便處理該偏差,並在更公平的資料集上訓練模型。如需訓練前偏差指標的相關資訊訓練前偏差指標,請參閱 。若要執行任務以分析訓練前偏差指標,您必須將資料集和分析JSON組態檔案提供給 分析組態檔案。
-
訓練後偏差指標。這些指標可協助您了解演算法、超參數選擇引入的任何偏差,或任何流程中稍早不明顯的偏差。如需有關訓練後偏差指標的詳細資訊,請參閱 訓練後資料和模型偏差指標。除資料和標籤之外, SageMaker Clarify 還會使用模型預測來識別偏差。若要執行任務來分析訓練後偏差指標,您必須提供資料集和分析JSON組態檔案。組態應包括模型或端點名稱。
-
Shapley 值,可協助您了解功能對模型預測的影響。如需有關 Shapley 值的詳細資訊,請參閱 使用塑形值的特徵屬性。此功能需要訓練過的模型。
-
部分相依性圖表 (PDPs),可協助您了解如果您變更一個特徵的值,預測的目標變數會改變多少。如需 的詳細資訊PDPs,請參閱部分相依性圖表 (PDPs) 分析此功能需要經過訓練的模型。
SageMaker Clarify 需要模型預測來計算訓練後偏差指標和特徵屬性。您可以提供端點,或者 SageMaker Clarify 會使用模型名稱建立暫時端點,也稱為陰影端點 。 SageMaker Clarify 容器會在運算完成後刪除陰影端點。在高層級上, SageMaker Clarify 容器會完成下列步驟:
-
驗證輸入和參數。
-
建立陰影端點 (如果有提供模型名稱)。
-
將輸入資料集載入資料框架。
-
如有必要,可從端點取得模型預測。
-
計算偏差指標和功能屬性。
-
刪除陰影端點。
-
產生分析結果。
SageMaker Clarify 處理任務完成後,分析結果將儲存在您在任務的處理輸出參數中指定的輸出位置。這些結果包括具有偏差指標和全域特徵屬性JSON的檔案、視覺化報告,以及本機特徵屬性的其他檔案。您可以從輸出位置下載結果並查看。
如需有關偏差指標、可解釋性和如何解譯指標的詳細資訊,請參閱了解 Amazon SageMaker Clarify 如何協助偵測偏差
範例筆記本
下列各節包含筆記本,可協助您開始使用 SageMaker Clarify、將其用於特殊任務,包括分散式任務中的任務,以及電腦視覺。
開始使用
下列範例筆記本示範如何使用 SageMaker Clarify 來開始可解釋性和模型偏差任務。這些任務包括建立處理任務、訓練機器學習 (ML) 模型,以及監控模型預測:
-
使用 Amazon SageMaker Clarify 進行可解釋性和偏差偵測
– 使用 SageMaker Clarify 建立處理任務來偵測偏差並解釋模型預測。 -
監控偏差偏離和特徵屬性偏離 Amazon SageMaker Clarify
– 使用 Amazon SageMaker Model Monitor 監控偏差偏離和特徵屬性偏離隨時間的變化。 -
如何將JSON資料行格式的資料集讀取
為 SageMaker Clarify 處理任務。 -
緩解偏差、訓練另一個無偏差的模型,並將其放入模型登錄
檔 – 使用 Synthetic Minority Over-sampling Technique (SMOTE) 和 SageMaker Clarify 來緩解偏差、訓練另一個模型,然後將新模型放入模型登錄檔。此範例筆記本也會說明如何將新的模型成品,包括資料、程式碼和模型中繼資料,放入模型登錄檔中。此筆記本是系列的一部分,示範如何將 SageMaker Clarify 整合到 Architect 中所述的 SageMaker 管道中,並使用部落格文章建置完整的機器學習生命週期。 AWS
特殊案例
下列筆記本說明如何將 SageMaker Clarify 用於特殊案例,包括您自己的容器內和自然語言處理任務:
-
使用 SageMaker Clarify 的公平性和可解釋性 (自帶容器)
– 建置您自己的模型和容器,可與 SageMaker Clarify 整合,以測量偏差並產生可解釋性分析報告。此範例筆記本也會介紹金鑰術語,並示範如何透過 SageMaker Studio Classic 存取報告。 -
使用 SageMaker Clarify Spark 分散式處理進行公平性和可解釋性
– 使用分散式處理來執行 SageMaker Clarify 任務,以測量資料集的訓練前偏差和模型的訓練後偏差。此範例筆記本也會示範如何取得模型輸出上輸入功能重要性的說明,以及透過 SageMaker Studio Classic 存取可解釋性分析報告。 -
SageMaker Clarify 的可解釋性 - 部分相依性圖表 (PDP)
– 使用 SageMaker Clarify 來產生PDPs和存取模型可解釋性報告。 -
使用 SageMaker Clarify Natural 語言處理 (NLP) 可解釋性說明文字情緒分析
– 使用 SageMaker Clarify 進行文字情緒分析。
這些筆記本已經過驗證,可在 Amazon SageMaker Studio Classic 中執行。如果您需要如何在 Studio Classic 中開啟筆記本的指示,請參閱 建立或開啟 Amazon SageMaker Studio Classic Notebook。如果系統提示您選擇核心,請選擇 Python 3 (資料科學)。