本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
進階訓練組態
取樣率組態
取樣率會定義記錄感應器讀數的頻率 (例如,每秒一次,或每分鐘一次)。此設定會直接影響訓練資料的精細程度,並影響模型擷取感應器行為中短期變化的能力。
請造訪 對訓練和推論之間的高頻率資料和一致性進行抽樣 以了解最佳實務。
設定目標取樣率
您可以選擇性地在訓練組態TargetSamplingRate中指定 ,以控制資料取樣的頻率。支援的值如下:
PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H
這些是 ISO 8601 持續時間格式,代表下列時間格式:
-
PT1S= 1 秒 -
PT1M= 1 分鐘 -
PT1H= 1 小時
選擇在資料解析和訓練效率之間取得適當平衡的取樣率。提供下列費率:
-
較高的取樣率 (
PT1S) 可提供更精細的詳細資訊,但可能會增加資料量和訓練時間。 -
較低的取樣率 (
PT10M、PT1H) 可減少資料大小和成本,但可能會錯過短期異常。
處理時間戳記不一致
AWS IoT SiteWise 在訓練期間, 會自動補償多個資料串流之間的時間戳記不一致。即使輸入訊號未及時完全對齊,這可確保一致的模型行為。
請造訪 對訓練和推論之間的高頻率資料和一致性進行抽樣 以了解最佳實務。
啟用取樣
將下列程式碼新增至 anomaly-detection-training-payload.json。
透過在訓練動作承載TargetSamplingRate中新增 來設定取樣,並使用資料的取樣率。允許的值為:PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H。
{ "exportDataStartTime": StartTime, "exportDataEndTime": EndTime, "targetSamplingRate": "TargetSamplingRate" }
範例 取樣率組態的 :
{ "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360, "targetSamplingRate": "PT1M" }
標記您的資料
標記資料時,您必須定義代表異常設備行為期間的時間間隔。此標記資訊會以 CSV 檔案的形式提供,其中每一列都會指定設備未正常運作的時間範圍。
每一列包含兩個時間戳記:
-
開始時間,指出認為異常行為何時開始。
-
結束時間,代表第一次觀察到失敗或問題的時間。
此 CSV 檔案存放在 Amazon S3 儲存貯體中,並在模型訓練期間使用,以協助系統從已知的異常行為範例學習。下列範例顯示標籤資料應如何顯示為 .csv 檔案。檔案沒有標頭。
範例 CSV 檔案的 :
2024-06-21T00:00:00.000000,2024-06-21T12:00:00.000000 2024-07-11T00:00:00.000000,2024-07-11T12:00:00.000000 2024-07-31T00:00:00.000000,2024-07-31T12:00:00.000000
第 1 列代表 2024 年 6 月 21 日的維護事件,有 12 小時的時段 (從 2024-06-21T00:00:00.000000Z到 2024-06-21T12:00:00.000000Z), AWS IoT SiteWise 讓 尋找異常行為。
第 2 列代表 2024 年 7 月 11 日的維護事件,有 12 小時的時段 (從 2024-07-11T00:00:00.000000Z到 2024-07-11T12:00:00.000000Z), AWS IoT SiteWise 讓 尋找異常行為。
第 3 列代表 2024 年 7 月 31 日的維護事件,有 12 小時的時段 (從 2024-07-31T00:00:00.000000Z到 2024-07-31T12:00:00.000000Z) AWS IoT SiteWise 供 尋找異常行為。
AWS IoT SiteWise 會使用所有這些時段來訓練和評估模型,以識別這些事件的異常行為。請注意,並非所有事件都可偵測,且結果高度取決於基礎資料的品質和特性。
如需抽樣最佳實務的詳細資訊,請參閱 最佳實務。
資料標記步驟
-
根據標記資料先決條件中的標記先決條件來設定 Amazon S3 儲存貯體。
-
將檔案上傳至您的標籤儲存貯體。
-
將下列項目新增至
anomaly-detection-training-payload.json。-
在 檔案的
labelInputConfiguration區段中提供位置。labels-bucket將 取代為儲存貯體名稱,並將 取代files-prefix為 file(s) 路徑或任何部分的字首。位置中的所有檔案都會剖析,並 (成功) 用作標籤檔案。
-
{ "exportDataStartTime":StartTime, "exportDataEndTime":EndTime, "labelInputConfiguration": { "bucketName": "label-bucket", "prefix": "files-prefix" } }
範例 標籤組態的 :
{ "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360, "labelInputConfiguration": { "bucketName": "anomaly-detection-customer-data-278129555252-iad", "prefix": "Labels/model=b2d8ab3e-73af-48d8-9b8f-a290bef931b4/asset[d3347728-4796-4c5c-afdb-ea2f551ffe7a]/Lables.csv" } }
評估模型
AWS IoT SiteWise 訓練模型的指標模型診斷是在個別事件中評估模型效能。在訓練期間, 會為輸入資料集中的每一列 AWS IoT SiteWise 產生異常分數和感應器貢獻診斷。較高的異常分數表示發生異常事件的可能性較高。
當您使用 ExecuteAction API 和AWS/ANOMALY_DETECTION_TRAINING動作類型訓練模型時,可以使用 Pointwise 診斷。
若要設定模型評估,
-
根據標記資料先決條件中的標記先決條件來設定 Amazon S3 儲存貯體。
-
將下列項目新增至
anomaly-detection-training-payload.json。-
針對用於評估模型效能的視窗中的資料,提供
evaluationStartTime和evaluationEndTime(兩者皆以 epoch 秒為單位)。 -
提供 Amazon S3 儲存貯體位置 (
resultDestination),以便寫入評估診斷。
-
注意
模型評估間隔 (dataStartTime 到 dataEndtime) 必須重疊或連續於訓練間隔。不允許任何差距。
{ "exportDataStartTime":StartTime, "exportDataEndTime":EndTime, "modelEvaluationConfiguration": { "dataStartTime":evaluationStartTime, "dataEndTime":evaluationEndTime"resultDestination": { "bucketName": "s3BucketName", "prefix": "bucketPrefix" } } }
範例 模型評估組態的 :
{ "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360, "modelEvaluationConfiguration": { "dataStartTime": 1722789360, "dataEndTime": 1725174000, "resultDestination": { "bucketName": "anomaly-detection-customer-data-278129555252-iad", "prefix": "Evaluation/asset[d3347728-4796-4c5c-afdb-ea2f551ffe7a]/1747681026-evaluation_results.jsonl" } } }
產生模型指標
模型指標可讓您全面了解訓練過的異常偵測模型的效能和品質。訓練程序會自動產生這些指標,並將其發佈到您指定的 Amazon S3 儲存貯體,以便在重新訓練工作流程中輕鬆進行分析、模型比較和提升決策。
了解模型指標
訓練程序會自動產生模型指標,並提供下列詳細資訊:
-
模型效能:提供標籤資料時的精確度、召回率和 AUC 等量化測量
-
資料品質:所使用訓練資料的相關資訊和涵蓋的期間
-
事件偵測:已識別異常和已標記事件的統計資料
-
模型比較:重新訓練期間不同模型版本之間的比較指標
設定模型指標目的地
若要啟用模型指標產生,請設定發佈指標的 Amazon S3 目的地。
-
根據 設定 Amazon S3 儲存貯體模型評估先決條件。
-
將以下內容新增至您的訓練動作承載,以指定應存放模型指標的位置:
{ "trainingMode": "TRAIN_MODEL", "exportDataStartTime":StartTime, "exportDataEndTime":EndTime, "modelMetricsDestination": { "bucketName": "bucket-name", "prefix": "prefix" } }範例 模型指標組態範例
{ "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360, "modelMetricsDestination": { "bucketName": "anomaly-detection-metrics-bucket-123456789012-iad", "prefix": "ModelMetrics/computation-model-id/asset-id/training-metrics.json" } }
設定模型指標以重新訓練
當您設定重新訓練排程時,需要模型指標目的地,才能啟用全面的模型效能追蹤和比較:
{ "trainingMode": "START_RETRAINING_SCHEDULER", "modelMetricsDestination": { "bucketName": "bucket-name", "prefix": "prefix" }, "retrainingConfiguration": { "lookbackWindow": "P180D", "promotion": "SERVICE_MANAGED", "retrainingFrequency": "P30D", "retrainingStartDate": "StartDate" } }
參數
bucketName-
存放模型指標的 Amazon S3 儲存貯體
prefix-
用於組織模型指標檔案的 Amazon S3 字首/路徑
模型指標結構
模型指標會以 JSON 檔案的形式儲存在 Amazon S3 儲存貯體中,結構如下:
{ "labeled_ranges": [], "labeled_event_metrics": { "num_labeled": 0, "num_identified": 0, "total_warning_time_in_seconds": 0 }, "predicted_ranges": [], "unknown_event_metrics": { "num_identified": 0, "total_duration_in_seconds": 0 }, "data_start_time": "2023-11-01", "data_end_time": "2023-12-31", "labels_present": false, "model_version_metrics": { "precision": 1.0, "recall": 1.0, "mean_fractional_lead_time": 0.7760964912280702, "auc": 0.5971207364893062 } }
關鍵指標
labeled_ranges-
在訓練期間提供標記異常的時間範圍
labeled_event_metrics-
有關模型識別已知標記事件的程度的統計資料
num_labeled-
訓練資料中標記的事件總數
num_identified-
模型正確識別的標記事件數量
total_warning_time_in_seconds-
模型在已標記事件的警告狀態中花費的總時間
predicted_ranges-
模型在評估期間預測異常的時間範圍
unknown_event_metrics-
有關未標記資料中偵測到異常的統計資料
data_start_time / data_end_time-
訓練資料涵蓋的時間範圍
labels_present-
布林值,指出訓練期間是否使用已標記的資料
model_version_metrics-
用於模型比較的其他版本特定指標
標記模型的進階指標
當您在訓練期間提供標記的資料時,Amazon S3 檔案中會包含額外的效能指標:
-
召回:與您在相同期間標記的事件 AWS IoT SiteWise 正確識別的事件比例。例如,您可能已標記 10 個事件,但 AWS IoT SiteWise 只識別其中 9 個。在這種情況下,召回率為 90%。
-
精確度:真陽性與已識別事件總數的比例。例如,如果 AWS IoT SiteWise 識別 10 個事件,但其中只有 7 個事件對應至您標記的事件,則精確度為 70%。
-
MeanFractionalLeadTime:測量平均 AWS IoT SiteWise 偵測每個事件的速度 (相對於事件的長度)。例如,您設施的典型事件可能持續 10 小時。平均而言,模型可能需要 3 小時才能識別事件。在此情況下,平均分數前置時間為 0.7。
-
AUC:曲線下面積 (AUC) 測量機器學習模型預測正面範例比負面範例更高分數的能力。介於 0 和 1 之間的值,表示模型在資料集中分隔類別的能力有多好。值 1 表示它能夠完美地分隔類別。
模型提升和指標
在重新訓練工作流程期間,存放在 Amazon S3 中的指標可實現明智的模型提升決策:
受管模式 (自動提升)
-
系統會使用 Amazon S3 儲存的資料,在新舊模型版本之間自動比較指標
-
根據改善的效能指標提升模型
-
提升決策包括與指標一起存放的特定原因代碼:
-
AUTO_PROMOTION_SUCCESSFUL:新的模型指標優於目前的版本 -
MODEL_METRICS_DIDNT_IMPROVE:新的模型效能未改善 -
POOR_MODEL_QUALITY_DETECTED:新模型的品質評估不佳
-
手動模式 (客戶控制提升)
-
您可以從 Amazon S3 下載和分析詳細指標,以做出提升決策
-
所有歷史模型版本及其指標仍可在 Amazon S3 中存取
-
您可以使用 Amazon S3 儲存的指標來建置自訂儀表板和分析工具