Utiliser la mise en réseau personnalisée

Créez un déploiement de modèle avec l'option de mise en réseau personnalisée.

La charge de travail est attachée à l'aide d'une carte d'interface réseau virtuelle secondaire à un VCN et un sous-réseau gérés par le client. Le sous-réseau peut être configuré pour la sortie vers le réseau Internet public via une passerelle NAT/Internet.

Pour utiliser la sortie personnalisée, vous devez ajouter une stratégie permettant à Data Science d'accéder au sous-réseau :
allow service datascience to use virtual-network-family in compartment <subnet_compartment>

Pour la sortie personnalisée, le sous-réseau doit disposer d'au moins 127 adresses IP.

Vous pouvez créer et exécuter des déploiements de modèle de réseau personnalisés à 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. Utilisez la console pour vous connecter à une location avec les stratégies nécessaires.
    2. Ouvrez le menu de navigation et sélectionnez Analytics et IA. Sous Machine Learning, sélectionnez Data Science.
    3. Sélectionnez le compartiment contenant le projet dans lequel créer le déploiement de modèle.

      Tous les projets du compartiment sont répertoriés.

    4. Sélectionnez le nom du projet.

      La page de détails du projet s'ouvre et répertorie les sessions de bloc-notes.

    5. Sous Ressources, sélectionnez Déploiements de modèle.

      Une liste tabulaire des déploiements de modèle dans le projet s'affiche.

    6. Sélectionnez Créer un déploiement de modèle.
    7. (Facultatif) Entrez un nom unique pour le modèle (limite de 255 caractères). Si vous n'indiquez aucun nom, un nom est généré automatiquement.

      Par exemple, modeldeployment20200108222435.

    8. (Facultatif) Entrez la description (limite de 400 caractères) du déploiement de modèle.
    9. (Facultatif) Sous Configuration par défaut, entrez une clé de variable d'environnement personnalisée et la valeur correspondante. Sélectionnez + Clé d'environnement personnalisée supplémentaire pour ajouter d'autres variables d'environnement.
    10. Dans la section Modèles, sélectionnez Sélectionner pour sélectionner un modèle actif à déployer à partir du catalogue de modèles.
      1. Recherchez un modèle à l'aide du compartiment et du projet par défaut, ou en sélectionnant Utilisation de l'OCID et en recherchant le modèle en saisissant son OCID.
      2. Sélectionnez le modèle.
      3. Sélectionnez Soumettre.
      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.
    11. (Facultatif) Modifiez la forme de calcul en sélectionnant Modifier la forme. Suivez les étapes ci-dessous dans le panneau Sélectionner un calcul.
      1. Sélectionner un type d'instance.
      2. Sélectionnez une série de formes.
      3. Sélectionnez l'une des formes de calcul prises en charge dans la série.
      4. Sélectionnez la forme qui convient le mieux à l'utilisation de la ressource.

        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.

      5. Sélectionnez Sélectionner une forme.
    12. Entrez le nombre d'instances sur lesquelles répliquer le modèle pour le déploiement de modèle.
    13. Sélectionnez Mise en réseau personnalisée pour configurer le type de réseau.

      Sélectionnez le VCN et le sous-réseau que vous souhaitez utiliser pour la ressource (session de bloc-notes ou travail).

      Si vous ne voyez pas le VCN ou le sous-réseau à utiliser, sélectionnez Modifier le compartiment, puis sélectionnez le compartiment qui contient le VCN ou le sous-réseau.
      Remarque

      Le passage de la mise en réseau par défaut à la mise en réseau personnalisée est autorisé. Si la mise en réseau personnalisée est sélectionnée, elle ne peut pas être remplacée par la mise en réseau par défaut.
    14. Sélectionnez l'une des options suivantes pour configurer le type d'adresse :
      • Public endpoint : accès aux données dans une instance gérée depuis l'extérieur d'un VCN.
      • Private endpoint : adresse privée à utiliser pour le déploiement de modèle.
      Si vous avez sélectionné Private endpoint, sélectionnez Private Endpoint dans Adresse privée dans Data Science.

      Sélectionnez Modifier le compartiment pour sélectionner le compartiment contenant l'adresse privée.

    15. (Facultatif) Si vous configurez la journalisation d'accès ou de prédiction, dans la section Journalisation, sélectionnez Sélectionner, puis suivez les étapes suivantes :
      1. Pour les journaux d'accès, sélectionnez un compartiment, un groupe de journaux et un nom de journal.
      2. Pour les journaux de prédiction, sélectionnez un compartiment, un groupe de journaux et un nom de journal.
      3. Sélectionnez Soumettre.
    16. (Facultatif) Sélectionnez Afficher les options avancées pour ajouter des balises.
      1. (Facultatif) Sélectionnez le mode de service pour le déploiement de modèle, en tant qu'adresse HTTPS ou à l'aide d'un flux de service Streaming.
      2. (Facultatif) Sélectionnez la bande passante d'équilibrage de charge en Mbps ou utilisez la valeur par défaut de 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.

      3. (Facultatif) Sélectionnez Utiliser une image de conteneur personnalisée et entrez les informations suivantes :
        • Référentiel dans <tenancy> : référentiel contenant l'image personnalisée.

        • Image : image personnalisée à utiliser dans le déploiement de modèle lors de l'exécution.

        • CMD : davantage de commandes à exécuter au démarrage du conteneur. Ajoutez une instruction par zone de texte. Par exemple, si la commande est ["--host", "0.0.0.0"], transmettez --host dans une zone de texte et 0.0.0.0 dans une autre. N'utilisez pas de guillemets à la fin.

        • Point d'entrée : fichiers de points 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 : port sur lequel s'exécute le serveur Web traitant l'inférence. La valeur par défaut est 8080. Le port peut être compris entre 1024 et 65535. N'utilisez pas les ports 24224, 8446 et 8447.

        • Port de vérification de l'état : port sur lequel écoute le conteneur HEALTHCHECK. La valeur par défaut est le port du serveur. Le port peut être compris entre 1024 et 65535. N'utilisez pas les ports 24224, 8446 et 8447.

      4. (Facultatif) Dans la section Balises, ajoutez des balises au <resourceType>. Si vous êtes autorisé à créer une ressource, vous disposez également des droits d'accès nécessaires pour lui appliquer des balises à forme libre. Pour appliquer une balise defined, vous devez être autorisé à utiliser la balise namespace. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas sûr d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
    17. 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": {
                "subnetId": <YOUR_SUBNET_ID>,
                "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": {
              "subnetId": <YOUR_SUBNET_ID>,
              "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",
            "entrypoint": [
              "python",
              "/opt/entrypoint.py"
            ],
            "serverPort": "5000",
            "healthCheckPort": "5000"
          },
          "streamConfigurationDetails": {
            "inputStreamIds": null,
            "outputStreamIds": null
          }
        }
      }
    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 avec des fonctions de réseau personnalisées. Définissez l'ID de sous-réseau comme décrit dans la documentation de l'API Instance Configuration.