Type de mesure d'ajustement personnalisé pour configurer l'ajustement automatique

Utilisez l'option de type de mesure personnalisée pour configurer l'ajustement automatique.

Utilisez l'option de mesure d'ajustement personnalisé pour utiliser l'une des mesures de déploiement de modèle émises par la ressource de déploiement de modèle afin de créer une interrogation MQL, qui peut ensuite être utilisée pour configurer l'ajustement automatique. Cette approche vous permet de créer des interrogations plus sophistiquées, telles que la jointure de plusieurs interrogations à l'aide de AND et OR, à l'aide de différentes fonctions d'agrégation et l'intégration d'une fenêtre d'évaluation de votre choix. En utilisant cette option, vous obtenez un meilleur contrôle sur les conditions de mise à l'échelle, permettant une configuration plus personnalisée et plus précise.

Lors de la formulation d'une interrogation MQL, incluez {resourceId = "MODEL_DEPLOYMENT_OCID"} dans l'interrogation, comme indiqué dans les exemples fournis. Lors du traitement de la demande, le service remplace le mot clé de paramètre fictif MODEL_DEPLOYMENT_OCID par l'OCID de la ressource réelle. Cela permet au service d'extraire le jeu exact de mesures associées à la ressource.

Test des interrogations MQL de mesure personnalisée

Suivez ces étapes pour tester et exécuter les interrogations.

  1. Suivez les étapes sous Consultation des mesures de déploiement de modèle pour voir les mesures.
  2. Sélectionnez le graphique de mesure pour la mesure à utiliser.
  3. Sélectionner des options.
  4. Naviguez jusqu'à Voir l'interrogation dans l'explorateur MQL.
  5. Sélectionnez Modifier les interrogations.
  6. Sélectionnez Mode avancé.
  7. Dans l'éditeur de code Query, mettez à jour et testez l'interrogation pour les opérations de redimensionnement et de redimensionnement.
    Utilisez ces interrogations testées pour créer des déploiements de modèle avec des capacités d'ajustement automatique.

Exemple d'interrogations

Voici des exemples d'interrogations pour les mesures que vous pouvez utiliser pour activer l'ajustement automatique.
Note

Ces interrogations sont fournies à titre de référence et peuvent être personnalisées en fonction du cas d'utilisation spécifique. Toutefois, ces interrogations peuvent également être utilisées sans modification.
Exemples d'interrogations pour les mesures de déploiement de modèle
Mesure Interrogation Description
PredictRequestCount
Évolutivité horizontale
PredictRequestCount[1m]{resourceId
 = "MODEL_DEPLOYMENT_OCID"}.grouping().sum() > 100
Ajuster dans
PredictRequestCount[1m]{resourceId
 = "MODEL_DEPLOYMENT_OCID"}.grouping().sum() < 5
Si aucun appel de prédiction n'est effectué, aucune mesure n'est émise. Dans de tels cas, il devient nécessaire d'incorporer la fonction absent() dans l'interrogation d'alarme. Voici un exemple d'interrogation pour les scénarios où les appels de prédiction sont minimes ou inexistants :
PredictRequestCount[1m]{resourceId
 = "MODEL_DEPLOYMENT_OCID"}.grouping().absent() == 1 
|| 
PredictRequestCount[1m]{resourceId
 = "MODEL_DEPLOYMENT_OCID"}.grouping().sum() < 2

Utilisez la mesure et les interrogations fournies pour l'ajustement en réponse à la prévision du volume de la demande.

Si le nombre total de demandes de prédiction pour le déploiement de modèle spécifique dépasse 100 dans une fenêtre de temps d'une minute et que cette condition persiste pendant la durée d'attente spécifiée, une opération d'augmentation est déclenchée.

De même, si le nombre cumulé est inférieur à 5, ou s'il n'y a aucune demande, et que cette situation se poursuit pendant la durée en attente, la condition commence une opération d'augmentation.

PredictLatency
Évolutivité horizontale
PredictLatency[1m]{resourceId
 = "MODEL_DEPLOYMENT_OCID"}.groupBy(result).percentile(.99) > 120
Ajuster dans
PredictLatency[1m]{resourceId
 = "MODEL_DEPLOYMENT_OCID"}.groupBy(result).percentile(.99) < 20

Appliquez cette mesure et ces interrogations pour faciliter l'ajustement en fonction des latences des demandes de prédiction.

L'interrogation évalue le 99e centile de PredictLatency pour un déploiement de modèle spécifique sur une période de 1 minute. Si cette valeur de latence du 99e centile dépasse 120 millisecondes et persiste pendant la durée en attente, la condition est satisfaite, ce qui déclenche une opération d'augmentation.

Inversement, si le 99e centile est inférieur à 20 millisecondes pour la durée en attente, une opération de réduction est démarrée.

PredictResponse - Taux de réussite
Évolutivité horizontale
(PredictResponse[1m]{resourceId = "MODEL_DEPLOYMENT_OCID",
 result = "Success"}.grouping().mean() * 100) 
/ PredictResponse[1m]{resourceId
 = "MODEL_DEPLOYMENT_OCID"}.grouping().mean() < 95
Ajuster dans
(PredictResponse[1m]{resourceId = "MODEL_DEPLOYMENT_OCID",
 result = "Success"}.grouping().mean() * 100) 
/ PredictResponse[1m]{resourceId
 = "MODEL_DEPLOYMENT_OCID"}.grouping().mean() > 95

Utilisez cette mesure et ces interrogations pour mettre en oeuvre une mise à l'échelle basée sur le taux de réussite des réponses prédites.

L'interrogation MQL évalue le pourcentage de réussite de PredictResponses par rapport à tous les PredictResponses dans un intervalle de 1 minute pour un déploiement de modèle spécifique.

Si ce pourcentage est inférieur à 95 et persiste pendant la durée en attente, la condition déclenche une opération d'augmentation. Inversement, si le pourcentage est supérieur à 95 pour la durée en attente, la condition démarre une opération de réduction.

Création d'un déploiement de modèle avec ajustement automatique à l'aide d'une mesure personnalisée

Voyez comment créer un déploiement de modèle avec une politique d'ajustement automatique à l'aide d'une mesure personnalisée.

    1. Dans la page Déploiements de modèle, sélectionnez Créer un déploiement de modèle. Si vous avez besoin d'aide pour trouver la liste des déploiements de modèle, voir Liste des déploiements de modèle.
    2. Suivez les étapes sous Création d'un déploiement de modèle pour configurer le déploiement de modèle.
    3. Sous Configuration d'ajustement automatique, sélectionnez Activer l'ajustement automatique.
      Plusieurs listes et champs sont affichés pour vous permettre de configurer l'ajustement automatique.
    4. Sélectionnez Personnalisé dans la liste Type de mesure d'ajustement.
    5. Alimentez les interrogations de mesure personnalisées d'augmentation et les interrogations de mesure personnalisées d'augmentation avec les interrogations MQL.
      Important

      Inclure
      {resourceId = "MODEL_DEPLOYMENT_OCID"}
      dans chaque requête. L'OCID de la ressource réelle est utilisé au lieu de "MODEL_DEPLOYMENT_OCID" lors de l'exécution de l'interrogation.
    6. Sélectionnez Créer.
  • Utilisez la commande oci data-science model-deployment create et les paramètres requis pour créer un déploiement de modèle :

    oci data-science model-deployment create --required-param-name variable-name ... [OPTIONS]
    Par exemple, déployez un modèle :
    oci data-science model-deployment create \
    --compartment-id <MODEL_DEPLOYMENT_COMPARTMENT_OCID> \
    --model-deployment-configuration-details file://<MODEL_DEPLOYMENT_CONFIGURATION_FILE> \
    --project-id <PROJECT_OCID> \
    --display-name <MODEL_DEPLOYMENT_NAME>
    Utilisez ce fichier de configuration JSON de déploiement de modèle :
    {
      "deploymentType": "SINGLE_MODEL",
      "modelConfigurationDetails": {
        "modelId": "ocid1.datasciencemodel.oc1.iad.amaaaaaav66vvnias2wuzfkwmkkmxficse3pty453vs3xtwlmwvsyrndlx2q",
        "instanceConfiguration": {
          "instanceShapeName": "VM.Standard.E4.Flex",
          "modelDeploymentInstanceShapeConfigDetails": {
            "ocpus": 1,
            "memoryInGBs": 16
          }
        },
        "scalingPolicy": {
          "policyType": "AUTOSCALING",
          "coolDownInSeconds": 650,
          "isEnabled": true,
          "autoScalingPolicies": [
            {
              "autoScalingPolicyType": "THRESHOLD",
              "initialInstanceCount": 1,
              "maximumInstanceCount": 2,
              "minimumInstanceCount": 1,
              "rules": [
                {
                  "metricExpressionRuleType": "CUSTOM_EXPRESSION",
                  "scaleInConfiguration": {
                    "scalingConfigurationType": "QUERY",
                    "pendingDuration": "PT5M",
                    "instanceCountAdjustment": 1,
                    "query": "MemoryUtilization[1m]{resourceId = 'MODEL_DEPLOYMENT_OCID'}.grouping().mean() < 10"
                  },
                  "scaleOutConfiguration": {
                    "scalingConfigurationType": "QUERY",
                    "pendingDuration": "PT3M",
                    "instanceCountAdjustment": 1,
                    "query": "MemoryUtilization[1m]{resourceId = 'MODEL_DEPLOYMENT_OCID'}.grouping().mean() > 65"
                  }
                }
              ]
            }
          ]
        },
        "bandwidthMbps": 10,
        "maximumBandwidthMbps": 20
      }
    }

    Pour la liste complète des paramètres et des valeurs pour les commandes de l'interface de ligne de commande, voir Informations de référence sur les commandes de l'interface de ligne de commande.

  • Utilisez l'opération CreateModelDeployment pour créer un déploiement de modèle à l'aide du type de mesure d'ajustement personnalisé.