本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
監控屬性漂移的參數
Amazon SageMaker Clarify 可解釋性監視器會重複使用 分析組態中使用的參數子集分析組態檔案。下列參數必須在 JSON 檔案中提供,且路徑必須在 ConfigUri
參數中提供ModelExplainabilityAppSpecification
。
-
"version"
–(選用) 組態檔案的結構描述版本。如果未提供,則會使用最新的支援版本。 -
"headers"
–(選用) 資料集中的功能名稱清單。可解釋性分析不需要標籤。 -
"methods"
– 用於分析和報告的方法及其參數的清單。如果省略了任何區段,則不列入計算。-
"shap"
– (選用) SHAP值計算的區段。-
"baseline"
– (選用) 資料列清單 (至少一個) 或 Amazon Simple Storage Service Amazon S3 物件 URI。在核心SHAP演算法中用作基準資料集 (也稱為背景資料集)。此格式應與資料集格式相同。每一列應該只包含功能欄 (或值)。在將每一列傳送至模型之前,省略必須排除的任何欄。 -
"num_samples"
– 核心SHAP演算法中使用的範例數目。此數字會決定產生的合成資料集大小來計算SHAP值。如果未提供, SageMaker Clarify 任務會根據功能計數選擇值。 -
"agg_method"
– 全域SHAP值的彙總方法。有效值如下:-
"mean_abs"
– 所有執行個體的絕對SHAP值平均值。 -
"median"
– 所有執行個體SHAP的值中位數。 -
"mean_sq"
– 所有執行個體的平方SHAP值平均值。
-
-
"use_logit"
–(選用) 布林值,指出 logit 函式是否要套用至模型預測。如果"use_logit"
是
,則SHAP值具有 log-odds 單位。預設值為true
false
。 -
"save_local_shap_values"
– (選用) 布林值,指示本機SHAP值是否儲存在輸出位置。使用true
以儲存。使用false
不要儲存。預設值為false
。
-
-
-
"predictor"
– (即時端點為選用,批次轉換為必要) 模型參數的區段,如果"shap"
和"post_training_bias"
區段存在,則為必要。-
"model_name"
– 由CreateModel
建立的模型名稱API,容器模式為SingleModel
。 -
"instance_type"
– 陰影端點的執行個體類型。 -
"initial_instance_count"
– 陰影端點的執行個體計數。 -
"content_type"
–(選用) 用於透過陰影端點取得推論的模型輸入格式。有效值"text/csv"
適用於 CSV、"application/jsonlines"
適用於 JSON Lines、application/x-parquet
適用於 Apache Parquet,以及application/x-image
啟用 Computer Vision 可解釋性。預設值與dataset_type
格式相同。 -
"accept_type"
–(選用) 用於透過陰影端點取得推論的模型輸出格式。有效值"text/csv"
適用於 CSV,"application/jsonlines"
適用於 JSON Lines。如果省略, SageMaker Clarify 會使用擷取資料的回應資料類型。 -
"content_template"
–(選用) 用來建構資料集執行個體之模型輸入的範本字串。只有在"content_type"
為"application/jsonlines"
時才會使用。該範本應只有一個預留位置$features
,它在執行期時被功能清單取代。例如,假設"content_template":"{\"myfeatures\":$features}"
執行個體 (無標籤) 為1,2,3
,則模型輸入會變成JSON行'{"myfeatures":[1,2,3]}'
。 -
"label_headers"
–(選用) 資料集中"label"
接收的值清單。將模型端點或批次轉換工作傳回的分數與其對應的標籤值相關聯。如果有提供,則分析報告會使用標題,而不是像“label0”
的預留位置。
-
其他參數應在 EndpointInput
(適用於即時端點) 或 BatchTransformInput
(適用於批次轉換任務) ModelExplainabilityJobInput
中提供API。
-
FeaturesAttribute
– 如果端點或批次工作輸入資料格式為"application/jsonlines"
,則此參數是必要項目。如果資料集格式為 JSON Lines,則JMESPath它是用來尋找特徵資料欄。 -
ProbabilityAttribute
– 模型輸出中機率的索引或JMESPath位置。例如,如果模型輸出是具有標籤和機率清單的JSON行,則會選取對應至最大機率的標籤進行偏差運算。
CSV 和JSON行資料集的範例JSON組態檔案
以下是用於設定CSV和JSON排列資料集以監控特徵屬性漂移JSON的檔案範例。
CSV 資料集
考慮有三個數值特徵欄的資料集,如下列範例所示。
0.5814568701544718, 0.6651538910132964, 0.3138080342665499 0.6711642728531724, 0.7466687034026017, 0.1215477472819713 0.0453256543003371, 0.6377430803264152, 0.3558625219713576 0.4785191813363956, 0.0265841045263860, 0.0376935084990697
假設模型輸出有兩欄,其中第一個是預測標籤,第二個是機率,如下列範例所示。
1, 0.5385257417814224
下列範例JSON組態檔案顯示如何設定此CSV資料集。
{ "headers": [ "feature_1", "feature_2", "feature_3" ], "methods": { "shap": { "baseline": [ [0.4441164946610942, 0.5190374448171748, 0.20722795300473712] ], "num_samples": 100, "agg_method": "mean_abs" } }, "predictor": { "model_name": "my_model", "instance_type": "ml.m5.xlarge", "initial_instance_count": 1 } }
預測標籤由 "ProbabilityAttribute"
參數選取。使用從零開始的編號,因此 1 表示模型輸出的第二欄。
"EndpointInput": { ... "ProbabilityAttribute": 1 ... }
JSON 行資料集
考慮有四個功能欄和一個標籤欄的資料集,其中第一個功能和標籤是二進位,如下列範例所示。
{"features":[0, 0.5814568701544718, 0.6651538910132964, 0.3138080342665499], "label":0} {"features":[1, 0.6711642728531724, 0.7466687034026017, 0.1215477472819713], "label":1} {"features":[0, 0.0453256543003371, 0.6377430803264152, 0.3558625219713576], "label":1} {"features":[1, 0.4785191813363956, 0.0265841045263860, 0.0376935084990697], "label":1}
模型輸入與資料集格式相同,模型輸出為JSON行,如下列範例所示。
{"predicted_label":1, "probability":0.5385257417814224}
在下列範例中,JSON組態檔案會顯示如何設定此JSON行資料集。
{ "headers": [ "feature_1", "feature_2", "feature_3" ], "methods": { "shap": { "baseline": [ {"features":[0.4441164946610942, 0.5190374448171748, 0.20722795300473712]} ], "num_samples": 100, "agg_method": "mean_abs" } }, "predictor": { "model_name": "my_model", "instance_type": "ml.m5.xlarge", "initial_instance_count": 1, "content_template":"{\"features\":$features}" } }
然後,EndpointInput
中的 "features"
參數值 (針對即時端點) 或 BatchTransformInput
(針對批次轉換工作) 用於訂位資料集中的功能,而 "probability"
參數值會從模型輸出中選取機率值。
"EndpointInput": { ... "FeaturesAttribute": "features", "ProbabilityAttribute": "probability", ... }