

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 자산 전반의 센서에서 이상 탐지 활성화
<a name="anom-detection-sensors-across-asset"></a>

## 계산 모델 생성(AWS CLI)
<a name="create-computation-model-across-assets"></a>

계산 모델을 생성하려면 AWS 명령줄 인터페이스(AWS CLI)를 사용합니다. 계산 모델을 정의한 후 내 자산에서 이상 탐지를 수행하도록 모델을 훈련하고 추론을 예약합니다 AWS IoT SiteWise.

다음 단계에서는이 프로세스를 설명합니다.

1. 이상 탐지를 설정하려면 [UpdateAssetModel(AWS CLI)](https://docs.aws.amazon.com/cli/latest/reference/iotsitewise/update-asset-model.html)을 사용하고 다음 요구 사항을 충족합니다.

   1. `DOUBLE` 또는 `INTEGER` 데이터 형식의 입력 속성이 하나 이상 있습니다. 측정 또는 변환 속성이며 모델을 훈련하는 데 사용됩니다.

   1. `STRING` 데이터 유형의 결과 속성입니다. 측정 속성이어야 하며 이상 탐지 결과를 저장합니다.

1. 다음 콘텐츠`anomaly-detection-computation-model-payload.json`가 포함된 파일을 생성합니다.
**참고**  
를 데이터 소스`assetProperty`로 직접 제공하여 계산 모델을 생성합니다.

   ```
   {
       "computationModelName": "name of ComputationModel",
       "computationModelConfiguration": {
           "anomalyDetection": {
               "inputProperties": "${properties}",
               "resultProperty": "${p3}"
           }
       },
       "computationModelDataBinding": {
           "properties": {
               "list": [
                   {
                       "assetProperty": { 
                           "assetId": "asset-id",
                           "propertyId": "input-property-id-1"
                       }
                   },
                   {
                       "assetProperty": { 
                           "assetId": "asset-id",
                           "propertyId": "input-property-id-2"
                       }
                   }
               ]
           },
           "p3": {
               "assetProperty": { 
                   "assetId": "asset-id",
                   "propertyId": "results-property-id"
               }
           }
       }
   }
   ```

1. 다음 명령을 실행하여 계산 모델을 생성합니다.

   ```
   aws iotsitewise create-computation-model \
       --cli-input-json file://anomaly-detection-computation-model-payload.json
   ```

## ExecuteAction API 페이로드 준비
<a name="create-action-payload-across-assets"></a>

 훈련 및 추론을 실행하는 다음 단계는 [ExecuteAction](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteAction.html) API를 사용하여 수행됩니다. 훈련과 추론 모두 JSON 작업 페이로드 구성으로 구성됩니다. [ExecuteAction](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteAction.html) API를 호출할 때 작업 페이로드를 `stringValue`페이로드와 함께 값으로 제공해야 합니다.

 페이로드는 API 요구 사항을 엄격하게 준수해야 합니다. 특히 값은 **제어 문자**가 없는 **플랫 문자열**이어야 합니다(예: 줄 바꿈, 탭 또는 캐리지 리턴). 다음 옵션은 유효한 작업 페이로드를 제공하는 두 가지 신뢰할 수 있는 방법을 제공합니다.

### 옵션 1: 클린 페이로드 파일 사용
<a name="clean-payload-file-across-assets"></a>

다음 절차에서는 클린 페이로드 파일의 단계를 설명합니다.

1. 파일을 정리하여 제어 문자를 제거합니다.

   ```
   tr -d '\n\r\t' < original-action-payload.json > training-or-inference-action-payload.json
   ```

1. 파일을 사용하여 작업을 실행합니다`@=file://...`.

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=<MODEL_ID> \
       --action-definition-id <ACTION_DEFINITION_ID> \
       --action-payload stringValue@=file://training-or-inference-action-payload.json
   ```

### 옵션 2: 이스케이프된 따옴표가 있는 인라인 문자열
<a name="inline-string-quotes-across-assets"></a>

다음 단계에서는 페이로드를 인라인으로 제공하고 중간 파일을 피하는 단계를 설명합니다.
+ JSON 문자열 내에 이스케이프 처리된 큰따옴표(`\"`)를 사용합니다.
+ 전체 `StringValue=..` 표현식을 큰따옴표로 묶습니다.

**Example 이스케이프된 작업 페이로드의 :**  

```
aws iotsitewise execute-action \
    --target-resource computationModelId=<MODEL_ID> \
    --action-definition-id <ACTION_DEFINITION_ID> \
    --action-payload "stringValue={\"exportDataStartTime\":1717225200,\"exportDataEndTime\":1722789360,\"targetSamplingRate\":\"PT1M\"}"
```

## 모델 훈련(AWS CLI)
<a name="start-training-cli-across-assets"></a>

1. 다음 명령을 실행하여 `AWS/ANOMALY_DETECTION_TRAINING` 작업의 `actionDefinitionId`를 찾습니다. 를 이전 단계에서 반환된 ID`computation-model-id`로 바꿉니다.

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. 라는 파일을 생성하고 다음 값을 `anomaly-detection-training-payload.json` 추가합니다.
**참고**  
 페이로드는를 준수해야 합니다[옵션 1: 클린 페이로드 파일 사용](#clean-payload-file-across-assets).

   1. `StartTime` 에포크 초 단위로 제공되는 훈련 데이터의 시작과 함께 제공됩니다.

   1. `EndTime` 에포크 초 단위로 제공되는 훈련 데이터가 끝납니다.

   1. 선택적으로를 구성할 수 있습니다[고급 추론 구성](advanced-inference-configurations.md).

      1. (선택 사항) 및 데이터의 `TargetSamplingRate` 샘플링 속도.

      1. (선택 사항) 모델 훈련 개선을 위해 비정상적인 동작이 발생한 기간을 `LabelInputConfiguration` 지정합니다.

      1. (선택 사항) 훈련`ModelEvaluationConfiguration`이 완료된 후 지정된 시간 범위에서 추론을 실행하여 모델 성능을 평가합니다.

   ```
   {
     "exportDataStartTime": StartTime,
     "exportDataEndTime": EndTime
   }
   ```  
**Example 훈련 페이로드의 예:**  

   ```
   {
     "exportDataStartTime": 1717225200,
     "exportDataEndTime": 1722789360
   }
   ```

1. 다음 명령을 실행하여 훈련을 시작합니다(자산을 대상 리소스로 제공하지 않음). 명령에서 다음 파라미터를 교체합니다.

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --action-definition-id training-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-training-payload.json
   ```

1. 다음 명령을 실행하여 모델 훈련 프로세스의 상태를 확인합니다. 최신 실행 요약에는 실행 상태(`RUNNING`/`COMPLETED`/`FAILED`)가 표시됩니다.

   ```
   aws iotsitewise list-executions \
       --target-resource-type COMPUTATION_MODEL \
       --target-resource-id computation-model-id
   ```

1. 다음 명령을 실행하여 훈련된 최신 모델의 구성을 확인합니다. 이 명령은 하나 이상의 모델이 훈련을 성공적으로 완료한 경우에만 출력을 생성합니다.

   ```
   aws iotsitewise describe-computation-model-execution-summary \
       --computation-model-id computation-model-id
   ```

## 모델 재학습 시작 및 중지(AWS CLI)
<a name="start-stop-retraining-cli-model"></a>

 초기 모델 훈련 후 데이터 드리프트를 해결하고 시간 경과에 따른 모델 정확도를 유지하도록 자동 재훈련을 구성할 수 있습니다. 재훈련 스케줄러를 사용하면 구성 가능한 승격 모드를 사용하여 주기적 모델 업데이트를 설정할 수 있습니다.

### 재훈련 스케줄러 시작
<a name="start-retraining-scheduler-model"></a>

1. 에 언급된 것과 동일한 페이로드를 준비합니다[재훈련 스케줄러 시작](anom-detection-sensors-asset.md#start-retraining-scheduler).

1. 훈련 작업을 실행합니다(자산을 대상 리소스로 제공하지 않음). 명령에서 다음 파라미터를 교체합니다.

   1. `computation-model-id`를 대상 계산 모델의 ID로 바꿉니다.

   1. `training-action-definition-id`를 `AWS/ANOMALY_DETECTION_TRAINING` 작업의 ID로 바꿉니다.

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --action-definition-id training-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-start-retraining-payload.json
   ```

1. 다음 명령을 실행하여 재훈련 스케줄러 시작 프로세스의 상태를 확인합니다. 최신 실행 요약에는 실행 상태(`RUNNING`/`COMPLETED`/`FAILED`)가 표시됩니다.

   ```
   aws iotsitewise list-executions \
       --target-resource-type COMPUTATION_MODEL \
       --target-resource-id computation-model-id
   ```

### 재훈련 스케줄러 중지
<a name="stop-retraining-scheduler-model"></a>

1. 에 언급된 것과 동일한 페이로드를 준비합니다[재훈련 스케줄러 중지](anom-detection-sensors-asset.md#stop-retraining-scheduler).

1. 훈련 작업을 실행합니다(자산을 대상 리소스로 제공하지 않음). 명령에서 다음 파라미터를 교체합니다.

   1. `computation-model-id`를 대상 계산 모델의 ID로 바꿉니다.

   1. `training-action-definition-id`를 `AWS/ANOMALY_DETECTION_TRAINING` 작업의 ID로 바꿉니다.

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --action-definition-id training-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-stop-retraining-payload.json
   ```

1. 다음 명령을 실행하여 재훈련 중지 스케줄러 프로세스의 상태를 확인합니다. 최신 실행 요약에는 실행 상태(`RUNNING`/`COMPLETED`/`FAILED`)가 표시됩니다.

   ```
   aws iotsitewise list-executions \
       --target-resource-type COMPUTATION_MODEL \
       --target-resource-id computation-model-id
   ```

## 추론 시작 및 중지(AWS CLI)
<a name="start-stop-inference-across-assets"></a>

모델을 훈련한 후 추론을 시작합니다.이 추론은에 산업 자산의 이상 모니터링을 시작 AWS IoT SiteWise 하도록 지시합니다.

### 추론 시작
<a name="start-inference-across-assets"></a>

1. 다음 명령을 실행하여 `AWS/ANOMALY_DETECTION_INFERENCE` 작업의 `actionDefinitionId`를 찾습니다. 를 이전에 생성한 계산 모델의 실제 ID`computation-model-id`로 바꿉니다.

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. 파일을 `anomaly-detection-start-inference-payload.json` 생성하고 다음 코드를 추가합니다. 설명된 대로 다음 파라미터를 바꿉니다.
**참고**  
 페이로드는를 준수해야 합니다[옵션 1: 클린 페이로드 파일 사용](#clean-payload-file-across-assets).

   1. `DataUploadFrequency`: 이상 탐지를 수행하기 위해 추론 일정이 실행되는 빈도를 구성합니다. 허용되는 값은 `PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D`입니다.

      ```
      "inferenceMode": "START",
      "dataUploadFrequency": "DataUploadFrequency"
      ```

   1. (선택 사항) 지연 오프셋을 분 단위로 `DataDelayOffsetInMinutes` 표시합니다. 이 값을 0\$160분으로 설정합니다.

   1. (선택 사항)를 활성화할 모델 버전과 `TargetModelVersion` 함께 사용합니다.

   1. (선택 사항) 교대 근무 구성`weeklyOperatingWindow`으로를 구성합니다.

   1. 선택적으로를 구성할 수 있습니다[고급 추론 구성](advanced-inference-configurations.md).

      1. [고주파 추론(5분\$11시간)](advanced-inference-configurations.md#high-frequency-inferencing).

      1. [낮은 빈도의 추론(2시간\$11일)](advanced-inference-configurations.md#low-frequency-inferencing).

      1. [유연한 예약](advanced-inference-configurations.md#flexible-scheduling).

1. 다음 명령을 실행하여 추론을 시작합니다. 페이로드 파일에서 다음 파라미터를 바꿉니다.

   1. `computation-model-id`를 대상 계산 모델의 ID로 바꿉니다.

   1. `inference-action-definition-id`를 1단계의 `AWS/ANOMALY_DETECTION_INFERENCE` 작업 ID로 바꿉니다.

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --action-definition-id inference-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-inference-payload.json
   ```

1. 다음 명령을 실행하여 추론이 아직 실행 중인지 확인합니다. 추론이 활성화`TRUE`되면 `inferenceTimerActive` 필드가 로 설정됩니다.

   ```
   aws iotsitewise describe-computation-model-execution-summary \
       --computation-model-id computation-model-id
   ```

1. 다음 명령은 모든 추론 실행을 나열합니다.

   ```
   aws iotsitewise list-executions \
       --target-resource-type COMPUTATION_MODEL \
       --target-resource-id computation-model-id
   ```

1. 다음 명령을 실행하여 개별 실행을 설명합니다. 를 이전 5단계의 ID`execution-id`로 바꿉니다.

   ```
   aws iotsitewise describe-execution \
       --execution-id execution-id
   ```

### 추론 중지
<a name="stop-inference-across-assets"></a>

1. 다음 명령을 실행하여 `AWS/ANOMALY_DETECTION_INFERENCE` 작업의 `actionDefinitionId`를 찾습니다. 를 이전에 생성한 계산 모델의 실제 ID`computation-model-id`로 바꿉니다.

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. 파일을 `anomaly-detection-stop-inference-payload.json` 생성하고 다음 코드를 추가합니다.

   ```
   {
       "inferenceMode": "STOP"
   }
   ```
**참고**  
 페이로드는를 준수해야 합니다[옵션 1: 클린 페이로드 파일 사용](anom-detection-sensors-asset.md#clean-payload-file).

1. 다음 명령을 실행하여 추론을 중지합니다. 페이로드 파일에서 다음 파라미터를 바꿉니다.

   1. `computation-model-id`를 대상 계산 모델의 ID로 바꿉니다.

   1. `inference-action-definition-id`를 1단계의 `AWS/ANOMALY_DETECTION_INFERENCE` 작업 ID로 바꿉니다.  
**Example 추론 중지 명령의 :**  

   ```
   aws iotsitewise execute-action \
   --target-resource computationModelId=computation-model-id \
   --action-definition-id inference-action-definition-id \
   --action-payload stringValue@=file://anomaly-detection-stop-inference-payload.json
   ```