Mise en réseau par défaut

Créez un déploiement de modèle dans Data Science à l'aide de la configuration 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 globale se connecte à l'aide d'une carte d'interface réseau virtuelle secondaire à un réseau cloud virtuel (VCN) et à un sous-réseau préconfigurés et gérés par le service. Le sous-réseau fourni donne accès à d'autres services Oracle Cloud via une passerelle de service, mais pas au réseau Internet public. Si vous activez la mise en réseau par défaut avec Internet, le sous-réseau fournit également un chemin facultatif vers le réseau Internet public via 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. Il n'est pas nécessaire de créer des ressources réseau ni d'écrire des stratégies pour les droits d'accès 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, du kit SDK OCI Python, de l'interface de ligne de commande OCI ou de l'API Data Science.

    1. Sur la page de liste Projets, sélectionnez le projet contenant 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, reportez-vous à la rubrique Liste des projets.
    2. Sur la page de détails du projet, sélectionnez Déploiements de modèle.
    3. Sélectionnez Créer un déploiement de type modèle.
    4. Sur 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 (limite de 255 caractères). Si vous n'indiquez aucun 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 Soumettre pour fermer le panneau.
        Important

        Les artefacts de modèle dépassant 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 un compartiment et un projet) ou Utiliser l'OCID, puis sélectionnez le modèle dans la liste.
        • Groupes de modèles : indiquez le compartiment et le projet, puis sélectionnez le groupe de modèles dans la liste.
      • Modifiez la forme de calcul en sélectionnant Modifier la forme. Ensuite, suivez 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 l'une des formes de calcul prises en charge de la série. Sélectionnez la forme qui convient Le mieux à l'utilisation 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 1 Go ou une valeur correspondant au nombre d'OCPU, la valeur la plus élevée étant retenue.
          • Activer la forme éclatable : sélectionnez cette option si vous utilisez des machines virtuelles éclatables, puis, pour Utilisation de référence par OCPU, sélectionnez le pourcentage d'OCPU que vous souhaitez 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 lesquels répliquer le modèle pour le déploiement de modèle.
      • Configuration du redimensionnement automatique (facultatif) : sélectionnez Activer le redimensionnement automatique et entrez les informations suivantes.
        • Nombre minimal d'instances
        • Nombre maximal d'instances
        • Temps de refroidissement en secondes
        • Type de mesure de redimensionnement

          Pour utiliser l'option de mesure de redimensionnement personnalisé, sélectionnez Personnalisé, puis indiquez les requêtes de redimensionnement et d'augmentation.

          Important

          Incluez le texte suivant dans chaque requête MQL pour référencer l'OCID de ressource : {resourceId = "MODEL_DEPLOYMENT_OCID"}
        • Seuil de réduction en pourcentage
        • Seuil d'augmentation en pourcentage
        • Options avancées (facultatif) : redimensionnement automatique de l'équilibreur de charge. Définissez la valeur de bande passante maximale sur une valeur supérieure à la valeur de bande passante minimale, et pas plus de deux fois la valeur de bande passante minimale.
          • Etape du nombre d'instances pour la réduction
          • Etape du nombre d'instances pour l'augmentation
      • Ressources réseau : sélectionnez l'option appropriée pour la mise en réseau par défaut.
        • Mise en réseau par défaut : limite le trafic aux services Oracle uniquement. Le système utilise le réseau géré par le service existant. La charge globale est attachée à l'aide d'une carte d'interface réseau virtuelle secondaire à un VCN et à un sous-réseau préconfigurés et gérés par le service. Ce sous-réseau fourni permet d'accéder au réseau Internet public via une passerelle NAT et d'accéder à d'autres services Oracle Cloud via une passerelle de service.

          Si vous avez besoin d'accéder uniquement au réseau Internet public et aux services OCI, nous vous recommandons d'utiliser cette option. Vous n'avez pas à créer de ressources réseau ou à écrire des stratégies pour les droits d'accès réseau.

        • Mise en réseau par défaut avec Internet : autorise l'accès Internet sortant via la passerelle NAT Data Science.
          Remarque

          Vous ne pouvez pas utiliser la mise en réseau par défaut avec Internet dans les domaines déconnectés et les locations de développement Oracle. Si votre location ou votre compartiment dispose d'une stratégie de zone de sécurité Data Science qui refuse l'accès au réseau public (par exemple, deny model_deploy_public_network - Reportez-vous à Stratégie de zone de sécurité Data Science), l'option d'accès 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 d'adresse : sélectionnez l'option appropriée.
        • Adresse publique : permet d'accéder aux données d'une instance gérée à partir de l'extérieur d'un réseau cloud virtuel (VCN).
        • Adresse privée : indique l'adresse privée à utiliser pour le déploiement de modèle. Les déploiements qui utilisent des réseaux privés ou des adresses privées ne peuvent pas activer l'accès Internet public géré par le service.
          • Compartiment de l'adresse privée
          • Adresse privée
      • 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.
        Remarque

        La journalisation nécessite un accès configuré ou une journalisation de prédiction.
        • Pour les journaux d'accès, sélectionnez un compartiment, un groupe de journaux et le nom de journal.
        • Pour les journaux de prédiction, sélectionnez un compartiment, un groupe de journaux et le nom de journal.
      • Définir 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 à 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.
        • Digest : entrez la synthèse de l'image. Par exemple : sha256:<digest>. La synthèse 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 de serveur : entrez le port du serveur Web d'inférence. La valeur par défaut est 8080. Plage 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. Plage 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 10 Mbps.

        Conseils à propos de l'équilibrage de charge :

        Si vous connaissez la taille courante de la charge utile et la fréquence des demandes par seconde, vous pouvez appliquer la formule suivante pour estimer la bande passante d'équilibreur de charge dont vous avez besoin. Nous vous recommandons d'ajouter 20 % de marge pour les erreurs d'estimation et le trafic de pointe sporadique.

        (Taille de la charge utile en ko) * (Demandes estimées par seconde) * 8 / 1 024

        Par exemple, si la charge utile est de 1 024 ko et que vous estimez 120 demandes par seconde, la bande passante d'équilibreur de charge recommandée serait (1024 * 120 * 8 / 1024) * 1,2 = 1152 Mbps.

        N'oubliez pas que la taille maximale de charge utile prise en charge est de 10 Mo pour les charges utiles des images.

        Si la taille de charge utile de demande est supérieure à la bande passante allouée de l'équilibreur de charge défini, la demande est rejetée avec le code de statut 429.

      • Balises (sous Options avancées) (facultatif) : ajoutez des balises au déploiement de modèle. Si vous disposez des droits d'accès nécessaires pour créer une ressource, vous disposez également de droits d'accès permettant d'appliquer des balises à format libre à cette ressource. To apply a defined tag, you must have permissions to use the tag namespace. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
    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 :
      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 le fichier de configuration JSON de déploiement de modèle suivant :
      {
            "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 indiquez 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
          }
        }
      }
      Remarque

      Le champ imageSignatureId est facultatif.
    3. (Facultatif) Utilisez le fichier de configuration JSON de journalisation suivant :
      {
          "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 du kit SDK Python OCI

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

Important

Les artefacts dépassant 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.
Remarque

Vous devez mettre à niveau le kit SDK OCI vers la version 2.33.0 ou ultérieure avant de créer un déploiement avec le kit SDK Python. Pour ce faire, 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 bloc-notes

Nous fournissons divers exemples de bloc-notes qui vous montrent comment entraîner, préparer, enregistrer, déployer et appeler des déploiements de modèle.