Détecter les anomalies des équipements avec Amazon Lookout for Equipment - AWS IoT SiteWise

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Détecter les anomalies des équipements avec Amazon Lookout for Equipment

Note

La détection des anomalies n'est disponible que dans les régions où Amazon Lookout for Equipment est disponible.

Vous pouvez intégrer AWS IoT SiteWise Amazon Lookout for Equipment pour obtenir des informations sur votre équipement industriel grâce à la détection des anomalies et à la maintenance prédictive des équipements industriels. Lookout for Equipment est un service d'apprentissage automatique (ML) pour la surveillance des équipements industriels qui détecte le comportement anormal des équipements et identifie les défaillances potentielles. Lookout for Equipment vous permet de mettre en œuvre des programmes de maintenance prédictive et d'identifier les processus sous-optimaux liés aux équipements. Pour plus d'informations sur Lookout for Equipment, consultez l'article Qu'est-ce qu'Amazon Lookout for Equipment ? dans le guide de l'utilisateur d'Amazon Lookout for Equipment.

Lorsque vous créez une prédiction pour entraîner un modèle d'apprentissage automatique afin de détecter le comportement anormal de l'équipement, vous envoyez les valeurs AWS IoT SiteWise des propriétés des actifs à Lookout for Equipment pour entraîner un modèle d'apprentissage automatique afin de détecter le comportement anormal de l'équipement. Pour définir une définition de prédiction sur un modèle d'actif, vous devez spécifier les rôles IAM nécessaires pour que Lookout for Equipment accède à vos données et les propriétés à envoyer à Lookout for Equipment et à envoyer les données traitées à Amazon S3. Pour plus d’informations, consultez Création de modèles de ressources.

Pour intégrer AWS IoT SiteWise Lookout for Equipment à Lookout for Equipment, vous devez suivre les étapes de haut niveau suivantes :

  • Ajoutez une définition de prédiction sur un modèle d'actif qui décrit les propriétés que vous souhaitez suivre. La définition de prédiction est un ensemble réutilisable de mesures, de transformations et de métriques qui est utilisé pour créer des prédictions sur les actifs basées sur ce modèle d'actif.

  • Entraînez la prédiction en fonction des données historiques que vous fournissez.

  • Planifier l'inférence, qui indique à AWS IoT SiteWise quelle fréquence une prédiction spécifique doit être exécutée.

Une fois l'inférence planifiée, le modèle Lookout for Equipment surveille les données qu'il reçoit de votre équipement et recherche les anomalies de comportement de l'équipement. Vous pouvez consulter et analyser les résultats dans SiteWise Monitor, à l'aide des opérations de l'API AWS IoT SiteWise GET ou de la console Lookout for Equipment. Vous pouvez également créer des alarmes à l'aide des détecteurs d'alarme du modèle d'équipement pour vous avertir en cas de comportement anormal de l'équipement.

Ajouter une définition de prédiction (console)

Pour commencer à envoyer les données collectées par AWS IoT SiteWise Lookout for Equipment, vous devez ajouter AWS IoT SiteWise une définition de prédiction à un modèle d'actif.

Pour ajouter une définition de prédiction à un modèle AWS IoT SiteWise d'actif
  1. Accédez à la console AWS IoT SiteWise.

  2. Dans le volet de navigation, choisissez Models et sélectionnez le modèle de ressource auquel vous souhaitez ajouter la définition de prédiction.

  3. Choisissez Prédictions.

  4. Choisissez Ajouter une définition de prédiction.

  5. Définissez les détails de la définition de la prédiction.

    1. Entrez un nom unique et une description pour la définition de votre prédiction. Choisissez le nom avec soin, car une fois que vous avez créé la définition de prédiction, vous ne pouvez pas le modifier.

    2. Créez ou sélectionnez un rôle d'autorisation IAM qui permet de AWS IoT SiteWise partager les données de vos actifs avec Amazon Lookout for Equipment. Le rôle doit respecter les politiques IAM et de confiance suivantes. Pour obtenir de l'aide sur la création du rôle, voir Création d'un rôle à l'aide de politiques de confiance personnalisées (console).

      Politique IAM

      { "Version": "2012-10-17", "Statement": [{ "Sid": "L4EPermissions", "Effect": "Allow", "Action": [ "lookoutequipment:CreateDataset", "lookoutequipment:CreateModel", "lookoutequipment:CreateInferenceScheduler", "lookoutequipment:DescribeDataset", "lookoutequipment:DescribeModel", "lookoutequipment:DescribeInferenceScheduler", "lookoutequipment:ListInferenceExecutions", "lookoutequipment:StartDataIngestionJob", "lookoutequipment:StartInferenceScheduler", "lookoutequipment:UpdateInferenceScheduler", "lookoutequipment:StopInferenceScheduler" ], "Resource": [ "arn:aws:lookoutequipment:Region:Account_ID:inference-scheduler/IoTSiteWise_*", "arn:aws:lookoutequipment:Region:Account_ID:model/IoTSiteWise_*", "arn:aws:lookoutequipment:Region:Account_ID:dataset/IoTSiteWise_*" ] }, { "Sid": "L4EPermissions2", "Effect": "Allow", "Action": [ "lookoutequipment:DescribeDataIngestionJob" ], "Resource": "*" }, { "Sid": "S3Permissions", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:ListBucket", "s3:PutObject", "s3:GetObject" ], "Resource": ["arn:aws:s3:::iotsitewise-*"] }, { "Sid": "IAMPermissions", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::Account_ID:role/Role_name" } ] }

      Politique d’approbation

      { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "iotsitewise.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "Account_ID" }, "ArnEquals": { "aws:SourceArn": "arn:aws:iotsitewise:Region:Account_ID:asset/*" } } }, { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "Account_ID" }, "ArnEquals": { "aws:SourceArn": "arn:aws:lookoutequipment:Region:Account_ID:*" } } } ] }
    3. Choisissez Suivant.

  6. Sélectionnez les attributs de données (mesures, transformations et métriques) que vous souhaitez envoyer à Lookout for Equipment.

    1. (Facultatif) Sélectionnez les mesures.

    2. (Facultatif) Sélectionnez les transformations.

    3. (Facultatif) Sélectionnez les métriques.

    4. Choisissez Suivant.

  7. Passez en revue vos sélections. Pour ajouter la définition de prédiction au modèle de ressource, sur la page de résumé, choisissez Ajouter une définition de prédiction.

Vous pouvez également modifier ou supprimer une définition de prédiction existante à laquelle sont associées des prédictions actives.

Entraînement d'une prédiction (console)

Après avoir ajouté une définition de prédiction à un modèle d'actifs, vous pouvez entraîner les prédictions relatives à vos actifs.

Pour entraîner une prédiction dans AWS IoT SiteWise
  1. Accédez à la console AWS IoT SiteWise.

  2. Dans le volet de navigation, choisissez Assets, puis sélectionnez l'actif que vous souhaitez surveiller.

  3. Choisissez Prédictions.

  4. Sélectionnez les prédictions que vous souhaitez entraîner.

  5. Sous Actions, choisissez Commencer l'entraînement, puis procédez comme suit :

    1. Sous Détails de la prédiction, sélectionnez un rôle d'autorisation IAM qui permet de AWS IoT SiteWise partager les données de vos actifs avec Lookout for Equipment. Si vous devez créer un nouveau rôle, choisissez Créer un nouveau rôle.

    2. Pour les paramètres des données d'entraînement, entrez une plage temporelle des données d'entraînement pour sélectionner les données à utiliser pour entraîner la prédiction.

    3. (Facultatif) Sélectionnez le taux d'échantillonnage des données après le post-traitement.

    4. (Facultatif) Pour les étiquettes de données, fournissez un compartiment Amazon S3 et un préfixe contenant vos données d'étiquetage. Pour plus d'informations sur les données d'étiquetage, consultez la section Étiquetage de vos données dans le guide de l'utilisateur d'Amazon Lookout for Equipment.

    5. Choisissez Suivant.

  6. (Facultatif) Si vous souhaitez que la prédiction soit active dès la fin de l'entraînement, sous Paramètres avancés, sélectionnez Activer automatiquement la prédiction après l'entraînement, puis procédez comme suit :

    1. Sous Données d'entrée, pour Fréquence de téléchargement des données, définissez la fréquence à laquelle les données sont téléchargées, et pour Temps de décalage, définissez la quantité de mémoire tampon à utiliser.

    2. Choisissez Suivant.

  7. Passez en revue les détails de la prédiction et choisissez Enregistrer et démarrer.

Démarrer ou arrêter l'inférence sur une prédiction (console)

Note

Les frais de Lookout for Equipment s'appliquent aux inférences planifiées avec les données transférées AWS IoT SiteWise entre Lookout for Equipment et Lookout for Equipment. Pour plus d'informations, consultez les tarifs d'Amazon Lookout for Equipment.

Si vous avez ajouté une prédiction « blookoutequipment : CreateDataset », mais que vous n'avez pas choisi de l'activer après l'entraînement, vous devez l'activer pour qu'elle puisse commencer à surveiller vos actifs.

Pour démarrer l'inférence d'une prédiction
  1. Accédez à la console AWS IoT SiteWise.

  2. Dans le volet de navigation, choisissez Assets, puis sélectionnez l'actif auquel la prédiction est ajoutée.

  3. Choisissez Prédictions.

  4. Sélectionnez les prédictions que vous souhaitez activer.

  5. Sous Actions, choisissez Démarrer l'inférence, puis procédez comme suit :

    1. Sous Données d'entrée, pour Fréquence de téléchargement des données, définissez la fréquence à laquelle les données sont téléchargées, et pour Temps de décalage, définissez la quantité de mémoire tampon à utiliser.

    2. Choisissez Enregistrer et commencez.

Pour arrêter l'inférence pour une prédiction
  1. Accédez à la console AWS IoT SiteWise.

  2. Dans le volet de navigation, choisissez Assets, puis sélectionnez l'actif auquel la prédiction est ajoutée.

  3. Choisissez Prédictions.

  4. Sélectionnez les prédictions que vous souhaitez arrêter.

  5. Sous Actions, choisissez Arrêter l'inférence.

Ajouter une définition de prédiction (CLI)

Pour définir une définition de prédiction sur un modèle d'actif nouveau ou existant, vous pouvez utiliser le AWS Command Line Interface (AWS CLI). Après avoir défini la définition de prédiction sur le modèle d'actif, vous entraînez et planifiez l'inférence pour une prédiction sur un actif AWS IoT SiteWise afin de détecter les anomalies avec Lookout for Equipment.

Prérequis

Pour effectuer ces étapes, vous devez avoir créé un modèle d'actif et au moins un actif. Pour plus d’informations, consultez Création d'un modèle d'actifs (AWS CLI) et Création d'un actif (AWS CLI).

Si vous débutez dans ce AWS IoT SiteWise domaine, vous devez appeler l'opération CreateBulkImportJob API pour y importer les valeurs des propriétés des actifs AWS IoT SiteWise, qui seront utilisées pour entraîner le modèle. Pour plus d’informations, consultez Création d'une tâche d'importation en bloc (AWS CLI).

Pour ajouter une définition de prédiction
  1. Créez un fichier, appelé asset-model-payload.json. Suivez les étapes décrites dans ces autres sections pour ajouter les détails de votre modèle d'actif au fichier, mais ne soumettez pas de demande de création ou de mise à jour du modèle d'actif.

  2. Ajoutez un modèle composite Lookout for Equipment assetModelCompositeModels () au modèle d'actif en ajoutant le code suivant.

    • PropertyRemplacez-le par l'ID des propriétés que vous souhaitez inclure. Pour obtenir ces identifiants, appelez DescribeAssetModel.

    • RoleARNRemplacez-le par l'ARN d'un rôle IAM qui permet à Lookout for Equipment d'accéder AWS IoT SiteWise à vos données.

    { ... "assetModelCompositeModels": [ { "name": "L4Epredictiondefinition", "type": "AWS/L4E_ANOMALY", "properties": [ { "name": "AWS/L4E_ANOMALY_RESULT", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_RESULT", "unit": "none", "type": { "measurement": {} } }, { "name": "AWS/L4E_ANOMALY_INPUT", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_INPUT", "type": { "attribute": { "defaultValue": "{\"properties\": [\"Property1\", \"Property2\"]}" } } }, { "name": "AWS/L4E_ANOMALY_PERMISSIONS", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_PERMISSIONS", "type": { "attribute": { "defaultValue": "{\"roleArn\": \"RoleARN\"}" } } }, { "name": "AWS/L4E_ANOMALY_DATASET", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_DATASET", "type": { "attribute": {} } }, { "name": "AWS/L4E_ANOMALY_MODEL", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_MODEL", "type": { "attribute": {} } }, { "name": "AWS/L4E_ANOMALY_INFERENCE", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_INFERENCE", "type": { "attribute": {} } }, { "name": "AWS/L4E_ANOMALY_TRAINING_STATUS", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_TRAINING_STATUS", "type": { "attribute": { "defaultValue": "{}" } } }, { "name": "AWS/L4E_ANOMALY_INFERENCE_STATUS", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_INFERENCE_STATUS", "type": { "attribute": { "defaultValue": "{}" } } } ] }
  3. Créez le modèle d'actif ou mettez à jour le modèle d'actif existant. Effectuez l’une des actions suivantes :

    • Pour créer le modèle d'actif, exécutez la commande suivante :

      aws iotsitewise create-asset-model --cli-input-json file://asset-model-payload.json
    • Pour mettre à jour le modèle d'actif existant, exécutez la commande suivante. asset-model-idRemplacez-le par l'ID du modèle d'actif que vous souhaitez mettre à jour.

      aws iotsitewise update-asset-model \ --asset-model-id asset-model-id \ --cli-input-json file://asset-model-payload.json

Après avoir exécuté la commande, notez le assetModelId dans la réponse.

Entraînement d'une prédiction et démarrage de l'inférence (CLI)

Maintenant que la définition de la prédiction est définie, vous pouvez entraîner les actifs en fonction de celle-ci et commencer l'inférence. Si vous souhaitez affiner votre prédiction sans commencer l'inférence, passez directement àEntraînement d'une prédiction (CLI). Pour entraîner la prédiction et commencer à inférer sur l'actif, vous aurez besoin assetId de celui de la ressource cible.

Pour entraîner et démarrer l'inférence de la prédiction
  1. Exécutez la commande suivante pour trouver le assetModelCompositeModelId dessousassetModelCompositeModelSummaries. asset-model-idRemplacez-le par l'ID du modèle d'actif que vous avez créé dansMettre à jour un modèle d'actif ou de composant (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Exécutez la commande suivante pour trouver actionDefinitionId l'TrainingWithInferenceaction. Remplacez asset-model-idpar l'ID utilisé à l'étape précédente et remplacez asset-model-composite-model-idpar l'ID renvoyé à l'étape précédente.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Créez un fichier appelé train-start-inference-prediction.json et ajoutez-y le code suivant, en remplaçant le suivant :

    • asset-idavec l'ID de l'actif cible

    • action-definition-idavec l'identifiant de l' TrainingWithInference action

    • StartTimeavec le début des données d'entraînement, fournies en secondes

    • EndTimeavec les données de fin d'entraînement, fournies en secondes d'époque

    • TargetSamplingRateavec le taux d'échantillonnage des données après post-traitement par Lookout for Equipment. Les valeurs autorisées sont :PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H.

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4ETrainingWithInference\":{\"trainingWithInferenceMode\":\"START\",\"trainingPayload\":{\"exportDataStartTime\":StartTime,\"exportDataEndTime\":EndTime},\"targetSamplingRate\":\"TargetSamplingRate\"},\"inferencePayload\":{\"dataDelayOffsetInMinutes\":0,\"dataUploadFrequency\":\"PT5M\"}}}" } }
  4. Exécutez la commande suivante pour démarrer l'entraînement et l'inférence :

    aws iotsitewise execute-action --cli-input-json file://train-start-inference-prediction.json

Entraînement d'une prédiction (CLI)

Maintenant que la définition de la prédiction est définie, vous pouvez entraîner les actifs en fonction de celle-ci. Pour entraîner la prédiction sur l'actif, vous aurez besoin assetId de celui de la ressource cible.

Pour entraîner la prédiction
  1. Exécutez la commande suivante pour trouver le assetModelCompositeModelId dessousassetModelCompositeModelSummaries. asset-model-idRemplacez-le par l'ID du modèle d'actif que vous avez créé dansMettre à jour un modèle d'actif ou de composant (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Exécutez la commande suivante pour trouver actionDefinitionId l'Trainingaction. Remplacez asset-model-idpar l'ID utilisé à l'étape précédente et remplacez asset-model-composite-model-idpar l'ID renvoyé à l'étape précédente.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Créez un fichier appelé train-prediction.json et ajoutez-y le code suivant, en remplaçant le suivant :

    • asset-idavec l'ID de l'actif cible

    • action-definition-idavec l'identifiant de l'action de formation

    • StartTimeavec le début des données d'entraînement, fournies en secondes

    • EndTimeavec les données de fin d'entraînement, fournies en secondes d'époque

    • (Facultatif) BucketName avec le nom du compartiment Amazon S3 qui contient vos données d'étiquette

    • (Facultatif) Prefix avec le préfixe associé au compartiment Amazon S3.

    • TargetSamplingRateavec le taux d'échantillonnage des données après post-traitement par Lookout for Equipment. Les valeurs autorisées sont :PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H.

      Note

      Incluez à la fois le nom et le préfixe du compartiment, ou aucun des deux.

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4ETraining\": {\"trainingMode\":\"START\",\"exportDataStartTime\": StartTime, \"exportDataEndTime\": EndTime, \"targetSamplingRate\":\"TargetSamplingRate\"}, \"labelInputConfiguration\": {\"bucketName\": \"BucketName\", \"prefix\": \"Prefix\"}}}" } }
  4. Exécutez la commande suivante pour démarrer l'entraînement :

    aws iotsitewise execute-action --cli-input-json file://train-prediction.json

Avant de pouvoir commencer l'inférence, vous devez suivre une formation. Pour vérifier le statut de la formation, effectuez l'une des opérations suivantes :

  • Depuis la console, accédez à l'actif sur lequel porte la prédiction.

  • À partir du AWS CLI, appelez BatchGetAssetPropertyValue en utilisant le propertyId nom de la trainingStatus propriété.

Démarrer ou arrêter l'inférence sur une prédiction (CLI)

Une fois la prédiction établie, vous pouvez commencer l'inférence pour demander à Lookout for Equipment de commencer à surveiller vos actifs. Pour démarrer ou arrêter l'inférence, vous aurez besoin assetId de la ressource cible.

Pour démarrer l'inférence
  1. Exécutez la commande suivante pour trouver le assetModelCompositeModelId dessousassetModelCompositeModelSummaries. asset-model-idRemplacez-le par l'ID du modèle d'actif que vous avez créé dansMettre à jour un modèle d'actif ou de composant (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Exécutez la commande suivante pour trouver actionDefinitionId l'Inferenceaction. Remplacez asset-model-idpar l'ID utilisé à l'étape précédente et remplacez asset-model-composite-model-idpar l'ID renvoyé à l'étape précédente.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Créez un fichier appelé start-inference.json et ajoutez-y le code suivant, en remplaçant le suivant :

    • asset-idavec l'ID de l'actif cible

    • action-definition-idavec l'ID de l'action d'inférence de départ

    • Offsetavec la quantité de mémoire tampon à utiliser

    • Frequencyavec la fréquence à laquelle les données sont téléchargées

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4EInference\": {\"inferenceMode\":\"START\",\"dataDelayOffsetInMinutes\": Offset, \"dataUploadFrequency\": \"Frequency\"}}" }}
  4. Exécutez la commande suivante pour démarrer l'inférence :

    aws iotsitewise execute-action --cli-input-json file://start-inference.json
Pour arrêter l'inférence
  1. Exécutez la commande suivante pour trouver le assetModelCompositeModelId dessousassetModelCompositeModelSummaries. asset-model-idRemplacez-le par l'ID du modèle d'actif que vous avez créé dansMettre à jour un modèle d'actif ou de composant (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Exécutez la commande suivante pour trouver actionDefinitionId l'Inferenceaction. Remplacez asset-model-idpar l'ID utilisé à l'étape précédente et remplacez asset-model-composite-model-idpar l'ID renvoyé à l'étape précédente.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Créez un fichier appelé stop-inference.json et ajoutez-y le code suivant, en remplaçant le suivant :

    • asset-idavec l'ID de l'actif cible

    • action-definition-idavec l'ID de l'action d'inférence de départ

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4EInference\":{\"inferenceMode\":\"STOP\"}}" }}
  4. Exécutez la commande suivante pour arrêter l'inférence :

    aws iotsitewise execute-action --cli-input-json file://stop-inference.json