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