Réseau par défaut

Créez un déploiement de modèle dans le service de science des données à l'aide de la configuration de réseau par défaut. Vous pouvez choisir entre deux modes : l'un avec accès Internet activé et l'autre avec accès Internet désactivé.

La charge de travail se connecte à l'aide d'une carte VNIC secondaire à un réseau en nuage virtuel (VCN) et à un sous-réseau préconfigurés gérés par le service. Le sous-réseau fourni donne accès à d'autres services Oracle Cloud au moyen d'une passerelle de service, mais pas à l'Internet public. Si vous activez le réseau par défaut avec Internet, le sous-réseau fournit également un chemin facultatif vers l'Internet public au moyen d'une passerelle NAT gérée par OCI.

Si vous avez besoin d'accéder uniquement aux services OCI, nous vous recommandons d'utiliser cette option. Vous n'avez pas besoin de créer des ressources de réseau ni d'écrire des politiques pour les autorisations de réseau.

Vous pouvez créer et exécuter des déploiements de modèle de réseau par défaut à l'aide de la console, de la trousse SDK Python pour OCI, de l'interface de ligne de commande OCI ou de l'API du service de science des données.

    1. Dans la page de liste Projets, sélectionnez le projet qui contient les déploiements de modèle que vous voulez utiliser. Si vous avez besoin d'aide pour trouver la page de liste ou le projet, voir Liste des projets.
    2. Dans la page des détails du projet, sélectionnez Déploiements de modèle.
    3. Sélectionnez Créer un déploiement de modèle.
    4. Dans la page Créer un déploiement de modèle, entrez les informations suivantes.
      • Compartiment
      • Nom (Facultatif) : Entrez un nom unique pour le déploiement de modèle (255 caractères au maximum). Si vous n'indiquez pas de nom, un nom est automatiquement généré. Exemple : modeldeployment20200108222435
      • Description (Facultatif) : Entrez une description (limite de 400 caractères) pour le déploiement de modèle.
      • Clé de variable d'environnement personnalisée (Facultatif) : Entrez une clé de variable d'environnement personnalisée.
      • Valeur (Facultatif) : Entrez la valeur de la clé.
      • Modèles : Sélectionnez Sélectionner pour ouvrir le panneau Sélectionner des modèles, sélectionnez l'option appropriée, puis sélectionnez Soumettre pour fermer le panneau.
        Important

        Les artefacts de modèle qui dépassent 400 Go ne sont pas pris en charge pour le déploiement. Sélectionnez un artefact de modèle plus petit pour le déploiement.
        • Modèle unique : Recherchez le modèle avec Sélectionner un compartiment de modèle (spécifier le compartiment et le projet) ou Utilisation de l'OCID, puis sélectionnez le modèle dans la liste.
        • Groupes de modèles : Spécifiez le compartiment et le projet, puis sélectionnez le groupe de modèles dans la liste.
      • Modifiez la forme du service de calcul en sélectionnant Modifier la forme. Suivez ensuite ces étapes dans le panneau Sélectionner une forme de calcul.
        • Sélectionner un type d'instance.
        • Sélectionnez une série de formes.
        • Sélectionnez une des formes de calcul prises en charge dans la série. Sélectionnez la forme qui convient le mieux à l'utilisation souhaitée de la ressource.
        • Développez la forme sélectionnée pour configurer les OCPU et la mémoire.
          • Nombre d'OCPU
          • Montant de mémoire (Go) : Pour chaque OCPU, sélectionnez jusqu'à 64 Go de mémoire et un total maximal de 512 Go. La quantité minimale de mémoire autorisée est de 1 Go ou une valeur correspondant au nombre d'OCPU, selon la valeur la plus élevée.
          • Activer la forme extensible : Sélectionnez cette option si vous utilisez des machines virtuelles extensibles, puis pour Utilisation de référence par OCPU, sélectionnez le pourcentage d'OCPU que vous voulez généralement utiliser. Les valeurs prises en charge sont 12,5 % et 50 %. (Pour les déploiements de modèle, seule la valeur de 50 % est prise en charge.)
        • Sélectionnez Sélectionner une forme.
      • Nombre d'instances : Entrez le nombre d'instances sur lesquelles le déploiement réplique le modèle.
      • Configuration de l'ajustement automatique (Facultatif) : Sélectionnez Activer l'ajustement automatique et entrez les informations suivantes.
        • Nombre minimal d'instances
        • Nombre maximal d'instances
        • Période de stabilisation en secondes
        • Type de mesure d'ajustement

          Pour utiliser l'option de mesure d'ajustement personnalisé, sélectionnez Personnalisé, puis spécifiez les interrogations d'augmentation et de réduction.

          Important

          Incluez le texte suivant dans chaque interrogation MQL pour référencer l'OCID de la ressource : {resourceId = "MODEL_DEPLOYMENT_OCID"}
        • Seuil de scale-in en pourcentage
        • Seuil d'augmentation de matériel en pourcentage
        • Options avancées (Facultatif) : Ajustez automatiquement l'équilibreur de charge. Définissez la valeur de la bande passante maximale pour qu'elle soit supérieure à la valeur de la bande passante minimale et qu'elle ne dépasse pas deux fois la valeur de la bande passante minimale.
          • Nombre d'instances à retirer
          • Nombre d'instances à ajouter
      • Ressources de réseau : Sélectionnez l'option appropriée pour le réseau par défaut.
        • Réseau par défaut : Restreint le trafic vers les services Oracle uniquement. Le système utilise le réseau géré par le service existant. La charge de travail est attachée à l'aide d'une carte VNIC secondaire à un VCN et à un sous-réseau préconfigurés gérés par le service. Ce sous-réseau donne accès à l'Internet public par l'intermédiaire d'une passerelle NAT et à d'autres services Oracle Cloud par l'intermédiaire d'une passerelle de service.

          Si vous avez besoin d'un accès uniquement à l'Internet public et aux services OCI, nous vous recommandons d'utiliser cette option. Vous n'avez pas besoin de créer des ressources de réseau ni d'écrire des politiques pour les autorisations de réseau.

        • Réseau par défaut avec Internet : Autorise l'accès Internet sortant au moyen de la passerelle NAT du service de science des données.
          Note

          Vous ne pouvez pas utiliser le réseau par défaut avec Internet dans des domaines déconnectés et des locations de développement Oracle. Si votre location ou compartiment a une politique de zone de sécurité du service de science des données qui refuse l'accès au réseau public (par exemple, deny model_deploy_public_network—voir Politique de zone de sécurité du service de science des données), l'option d'accès à l'Internet public géré par le service est désactivée. Si vous essayez d'utiliser cette option, vous recevez une erreur 404 NotAuthorizedOrNotFound.
      • Type de point d'extrémité : Sélectionnez l'option pertinente.
        • Point d'extrémité public : Permet l'accès aux données à une instance gérée à partir d'un réseau en nuage virtuel (VCN).
        • Point d'extrémité privé : Spécifie le point d'extrémité privé à utiliser pour le déploiement de modèle. Les déploiements qui utilisent un réseau privé ou des points d'extrémité privés ne peuvent pas activer l'accès à Internet public géré par le service.
          • Compartiment du point d'extrémité privé
          • Point d'extrémité privé
      • Journalisation (Facultatif) : Sélectionnez Sélectionner pour ouvrir le panneau Sélectionner la journalisation, entrez les informations suivantes, puis sélectionnez Soumettre pour fermer le panneau.
        Note

        La journalisation nécessite un accès configuré ou une journalisation prédictive.
        • Pour les journaux d'accès, sélectionner un compartiment, un groupe de journaux et un nom de journal.
        • Pour les journaux de prévision, sélectionner un compartiment, un groupe de journaux et un nom de journal.
      • Définissez votre environnement BYOC (sous Utiliser une image de conteneur personnalisée) (Facultatif) : Sélectionnez Sélectionner pour ouvrir le panneau Définir votre environnement BYOC, entrez les informations suivantes et sélectionnez de nouveau Sélectionner pour fermer le panneau.
        • Compartiment de référentiel
        • Référentiel : Entrez le référentiel qui contient l'image personnalisée.
        • Image : Entrez l'image personnalisée à utiliser lors de l'exécution.
        • Digeste : Entrez le condensé de l'image. Par exemple : sha256:<digest>. Le condensé doit correspondre à l'image exacte que vous déployez.
        • Point d'entrée : Entrez un ou plusieurs fichiers de point d'entrée à exécuter au démarrage du conteneur, par exemple /opt/script/entrypoint.sh. N'utilisez pas de guillemets à la fin.
        • Port du serveur : Entrez le port du serveur Web d'inférence. La valeur par défaut est 8080. Intervalle valide : 1024-65535, sauf 24224, 8446, 8447.
        • Port de vérification de l'état : Entrez le port de la vérification de l'état du conteneur. La valeur par défaut est le port du serveur. Intervalle valide : 1024-65535, sauf 24224, 8446, 8447.
      • Mode de déploiement (sous Options avancées) (Facultatif) : Sélectionnez la bande passante d'équilibrage de charge en Mbps ou utilisez la valeur par défaut de 10 Mbps.

        Conseils pour l'équilibrage de charge

        Si vous connaissez la taille commune des données utiles et la fréquence des demandes par seconde, vous pouvez utiliser la formule suivante pour évaluer la bande passante de l'équilibreur de charge dont vous avez besoin. Nous vous recommandons d'ajouter un supplément de 20 % pour prendre en compte les erreurs d'estimation et le trafic de pointe sporadique.

        (Taille des données utiles en Ko) * (Demandes estimées par seconde) * 8 / 1 024

        Par exemple, si les données utiles sont de 1 024 Ko et que vous estimez 120 demandes par seconde, la bande passante recommandée pour l'équilibreur de charge serait (1024 * 120 * 8 / 1024) * 1,2 = 1152 Mbps.

        N'oubliez pas que la taille maximale des données utiles prise en charge est de 10 Mo lors du traitement des données utiles d'image.

        Si la taille des données utiles de la demande est supérieure à la bande passante affectée de l'équilibreur de charge défini, la demande est rejetée avec un code de statut 429.

      • Marqueurs (sous Options avancées) (Facultatif) : Ajoutez des marqueurs au déploiement de modèle. Si vous êtes autorisé à créer une ressource, vous pouvez également appliquer des marqueurs à structure libre à cette ressource. Pour appliquer un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur. Pour plus d'informations sur le marquage, voir Marqueurs de ressource. Si vous ne savez pas si vous devez appliquer des marqueurs, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des marqueurs plus tard.
    5. Sélectionnez Créer.
  • Vous pouvez utiliser l'interface de ligne de commande OCI pour créer un déploiement de modèle comme dans cet exemple.

    1. Déployez le modèle avec :
      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> \
      --category-log-details file://<OPTIONAL_LOGGING_CONFIGURATION_FILE> \
      --display-name <MODEL_DEPLOYMENT_NAME>
                                      
    2. Utilisez ce fichier de configuration JSON de déploiement de modèle :
      {
            "deploymentType": "SINGLE_MODEL",
            "modelConfigurationDetails": {
              "bandwidthMbps": <YOUR_BANDWIDTH_SELECTION>,
              "instanceConfiguration": {
                "instanceShapeName": "<YOUR_VM_SHAPE>"
              },
              "modelId": "<YOUR_MODEL_OCID>",
              "scalingPolicy": {
                  "instanceCount": <YOUR_INSTANCE_COUNT>,
                  "policyType": "FIXED_SIZE"
               }
           }
       }

      Si vous spécifiez une configuration d'environnement, vous devez inclure l'objet environmentConfigurationDetails comme dans cet exemple :

      
      {
        "modelDeploymentConfigurationDetails": {
          "deploymentType": "SINGLE_MODEL",
          "modelConfigurationDetails": {
            "modelId": "ocid1.datasciencemodel.oc1.iad........",
            "instanceConfiguration": {
              "instanceShapeName": "VM.Standard.E4.Flex",
              "modelDeploymentInstanceShapeConfigDetails": {
                "ocpus": 1,
                "memoryInGBs": 16
              }
            },
            "scalingPolicy": {
              "policyType": "FIXED_SIZE",
              "instanceCount": 1
            },
            "bandwidthMbps": 10
          },
          "environmentConfigurationDetails" : {
            "environmentConfigurationType": "OCIR_CONTAINER",
            "image": "iad.ocir.io/testtenancy/image_name:1.0.0",
            "imageDigest": "sha256:a9c8468cb671929aec7ad947b9dccd6fe8e6d77f7bcecfe2e10e1c935a88c2a5",
            "imageSignatureId": "ocid1.containerimagesignature.oc1.iad.0.ociodscprod.aaaaaaaavkjvrldo4etdpdas3o5vuom3t6anoixneey737cr57if7jhkh6nq",
            "entrypoint": [
              "python",
              "/opt/entrypoint.py"
            ],
            "serverPort": "5000",
            "healthCheckPort": "5000"
          },
          "streamConfigurationDetails": {
            "inputStreamIds": null,
            "outputStreamIds": null
          }
        }
      }
      Note

      Le champ imageSignatureId est facultatif.
    3. (Facultatif) Utilisez ce fichier de configuration JSON de journalisation :
      {
          "access": {
            "logGroupId": "<YOUR_LOG_GROUP_OCID>",
            "logId": "<YOUR_LOG_OCID>"
          },
          "predict": {
            "logGroupId": "<YOUR_LOG_GROUP_OCID>",
            "logId": "<YOUR_LOG_OCID>"
          }
      }
    4. (Facultatif) Utilisez cette option pour utiliser un conteneur personnalisé :
      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> \
      --category-log-details file://<OPTIONAL_LOGGING_CONFIGURATION_FILE> \
      --display-name <MODEL_DEPLOYMENT_NAME>
                                      
  • Utilisez l'opération CreateModelDeployment pour créer un déploiement de modèle.

Utilisation de la trousse SDK Python pour OCI

Nous avons développé un exemple de déploiement de modèle de trousse SDK Python pour OCI qui inclut l'authentification.

Important

Les artefacts supérieurs à 400 Go ne sont pas pris en charge pour le déploiement. Sélectionnez un artefact de modèle plus petit pour le déploiement.
Note

Vous devez mettre à niveau la trousse SDK pour OCI vers la version 2.3.0 ou ultérieure avant de créer un déploiement avec la trousse SDK Python. Utilisez la commande suivante :

pip install --upgrade oci

Utilisez cet exemple pour créer un déploiement de modèle qui utilise un conteneur personnalisé :

# create a model configuration details object
model_config_details = ModelConfigurationDetails(
    model_id=<model-id>,
    bandwidth_mbps=<bandwidth-mbps>,
    instance_configuration=<instance-configuration>,
    scaling_policy=<scaling-policy>
)
 
# create the container environment configiguration
environment_config_details = OcirModelDeploymentEnvironmentConfigurationDetails(
    environment_configuration_type="OCIR_CONTAINER",
    environment_variables={'key1': 'value1', 'key2': 'value2'},
    image="iad.ocir.io/testtenancy/ml_flask_app_demo:1.0.0",
    image_digest="sha256:243590ea099af4019b6afc104b8a70b9552f0b001b37d0442f8b5a399244681c",
    entrypoint=[
        "python",
        "/opt/ds/model/deployed_model/api.py"
    ],
    server_port=5000,
    health_check_port=5000
)
 
# create a model type deployment
single_model_deployment_config_details = data_science.models.SingleModelDeploymentConfigurationDetails(
    deployment_type="SINGLE_MODEL",
    model_configuration_details=model_config_details,
    environment_configuration_details=environment_config_details
)
 
# set up parameters required to create a new model deployment.
create_model_deployment_details = CreateModelDeploymentDetails(
    display_name=<deployment_name>,
    model_deployment_configuration_details=single_model_deployment_config_details,
    compartment_id=<compartment-id>,
    project_id=<project-id>
)

Exemples de carnets

Nous avons fourni des divers exemples de carnets qui montrent comment entraîner, préparer, enregistrer, déployer et appeler des déploiements de modèle.