進階訓練組態 - AWS IoT SiteWise

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

進階訓練組態

取樣率組態

取樣率會定義記錄感應器讀數的頻率 (例如,每秒一次,或每分鐘一次)。此設定會直接影響訓練資料的精細程度,並影響模型擷取感應器行為中短期變化的能力。

請造訪 對訓練和推論之間的高頻率資料和一致性進行抽樣 以了解最佳實務。

設定目標取樣率

您可以選擇性地在訓練組態TargetSamplingRate中指定 ,以控制資料取樣的頻率。支援的值如下:

PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H

這些是 ISO 8601 持續時間格式,代表下列時間格式:

  • PT1S = 1 秒

  • PT1M = 1 分鐘

  • PT1H = 1 小時

選擇在資料解析訓練效率之間取得適當平衡的取樣率。提供下列費率:

  • 較高的取樣率 (PT1S) 可提供更精細的詳細資訊,但可能會增加資料量和訓練時間。

  • 較低的取樣率 (PT10MPT1H) 可減少資料大小和成本,但可能會錯過短期異常。

處理時間戳記不一致

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.000000Z2024-06-21T12:00:00.000000Z), AWS IoT SiteWise 讓 尋找異常行為。

2 列代表 2024 年 7 月 11 日的維護事件,有 12 小時的時段 (從 2024-07-11T00:00:00.000000Z2024-07-11T12:00:00.000000Z), AWS IoT SiteWise 讓 尋找異常行為。

3 列代表 2024 年 7 月 31 日的維護事件,有 12 小時的時段 (從 2024-07-31T00:00:00.000000Z2024-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

    • 針對用於評估模型效能的視窗中的資料,提供 evaluationStartTimeevaluationEndTime(兩者皆以 epoch 秒為單位)。

    • 提供 Amazon S3 儲存貯體位置 (resultDestination),以便寫入評估診斷。

注意

模型評估間隔 (dataStartTimedataEndtime) 必須重疊或連續於訓練間隔。不允許任何差距。

{ "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 目的地。

  1. 根據 設定 Amazon S3 儲存貯體模型評估先決條件

  2. 將以下內容新增至您的訓練動作承載,以指定應存放模型指標的位置:

    { "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 儲存的指標來建置自訂儀表板和分析工具