Benutzerdefiniertes Netzwerk

Erstellen Sie ein Modell-Deployment mit der benutzerdefinierten Networkingoption.

Die Workload wird mit einer sekundären VNIC an ein vom Kunden verwaltetes VCN und Subnetz angehängt. Das Subnetz kann für Egress-Traffic zum öffentlichen Internet über ein NAT-/Internetgateway konfiguriert werden.

Um benutzerdefinierten Egress zu verwenden, müssen Sie eine Policy hinzufügen, um Data Science Zugriff auf das Subnetz zu erteilen:
allow service datascience to use virtual-network-family in compartment <subnet_compartment>
                

Für benutzerdefinierten Egress-Traffic muss das Subnetz über mindestens 127 IP-Adressen verfügen.

Sie können benutzerdefinierte Networkingmodell-Deployments mit der Konsole, dem OCI-Python-SDK, der OCI-CLI oder der Data Science-API erstellen und ausführen.

    1. Melden Sie sich mit der Konsole bei einem Mandanten mit den notwendigen Policys an.
    2. Öffnen Sie das Navigationsmenü , und wählen Sie Analysen und KI aus. Wählen Sie unter Maschinelles Lernen die Option Data Science aus.
    3. Wählen Sie das Compartment aus, das das Projekt enthält, in dem Sie das Modell-Deployment erstellen möchten.

      Alle Projekte im Compartment werden aufgelistet.

    4. Wählen Sie den Namen des Projekts aus.

      Die Seite mit den Projektdetails wird geöffnet, und die Notizbuchsessions werden aufgelistet.

    5. Wählen Sie unter Ressourcen die Option Modell-Deployments aus.

      Eine tabellarische Liste der Modell-Deployments im Projekt wird angezeigt.

    6. Wählen Sie Modell-Deployment erstellen aus.
    7. (Optional) Geben Sie einen eindeutigen Namen für das Modell ein (maximal 255 Zeichen). Wenn Sie keinen Namen angeben, wird automatisch ein Name generiert.

      Beispiel: modeldeployment20200108222435.

    8. (Optional) Geben Sie eine Beschreibung (max. 400 Zeichen) für das Modell-Deployment ein.
    9. (Optional) Geben Sie unter Standardkonfiguration einen benutzerdefinierten Umgebungsvariablenschlüssel und einen entsprechenden Wert ein. Wählen Sie + Zusätzlicher benutzerdefinierter Umgebungsschlüssel, um weitere Umgebungsvariablen hinzuzufügen.
    10. Wählen Sie im Abschnitt Modelle die Option Auswählen aus, um ein aktives Modell auszuwählen, das aus dem Modellkatalog bereitgestellt werden soll.
      1. Suchen Sie ein Modell, indem Sie das Standard-Compartment und das Standardprojekt verwenden, oder wählen Sie OCID verwenden aus, und suchen Sie das Modell, indem Sie seine OCID eingeben.
      2. Wählen Sie das Modell aus.
      3. Klicken Sie auf Weiterleiten.
      Wichtig

      Modellartefakte, die mehr als 400 GB umfassen, werden für das Deployment nicht unterstützt. Wählen Sie ein kleineres Modellartefakt für das Deployment aus.
    11. (Optional) Ändern Sie die Compute-Ausprägung, indem Sie Ausprägung ändern auswählen. Führen Sie dann die folgenden Schritte im Bereich Compute auswählen aus.
      1. Wählen Sie einen Instanztyp aus.
      2. Wählen Sie eine Ausprägungsreihe aus.
      3. Wählen Sie eine der unterstützten Compute-Ausprägungen in der Reihe aus.
      4. Wählen Sie die Ausprägung aus, die am besten zur gewünschten Verwendung der Ressource passt.

        Wählen Sie für jede OCPU bis zu 64 GB Arbeitsspeicher und eine maximale Summe von 512 GB aus. Der zulässige Mindestarbeitsspeicher ist entweder 1 GB oder ein Wert, der mit der Anzahl der OCPUs übereinstimmt, je nachdem, welcher Wert größer ist.

      5. Wenn Sie burstfähige VMs verwenden, schalten Sie Burstable um.
        Wählen Sie unter Baselineauslastung pro OCPU den Prozentsatz der OCPUs aus, den Sie normalerweise verwenden möchten. Die unterstützten Werte lauten 12,5% und 50%.
      6. Wählen Sie Ausprägung auswählen aus.
    12. Geben Sie die Anzahl der Instanzen ein, in die das Modell-Deployment das Modell replizieren soll.
    13. Wählen Sie Benutzerdefiniertes Networking aus, um den Netzwerktyp zu konfigurieren.

      Wählen Sie das VCN und das Subnetz aus, die Sie für die Ressource (Notebook-Session oder Job) verwenden möchten.

      Wenn das zu verwendende VCN oder Subnetz nicht angezeigt wird, wählen Sie Compartment ändern und dann das Compartment mit dem VCN oder Subnetz aus.
      Hinweis

      Es ist zulässig, von Standardnetzwerk zu benutzerdefiniertem Networking zu wechseln. Wenn benutzerdefiniertes Networking ausgewählt ist, kann es nicht in das Standardnetzwerk geändert werden.
    14. Wählen Sie eine der folgenden Optionen aus, um den Endpunkttyp zu konfigurieren:
      • Public endpoint: Datenzugriff in einer verwalteten Instanz von außerhalb eines VCN.
      • Private endpoint: Der private Endpunkt, den Sie für das Modell-Deployment verwenden möchten.
      Wenn Sie Private endpoint ausgewählt haben, wählen Sie unter Privater Endpunkt in Data Science die Option Private Endpoint aus.

      Wählen Sie Compartment ändern aus, um das Compartment mit dem privaten Endpunkt auszuwählen.

    15. (Optional) Wenn Sie Zugriffs- oder Vorhersagelogging konfiguriert haben, wählen Sie im Abschnitt Logging die Option Auswählen aus, und führen Sie die folgenden Schritte aus:
      1. Wählen Sie für Zugriffslogs ein Compartment, eine Loggruppe und einen Lognamen aus.
      2. Wählen Sie für Vorhersagelogs ein Compartment, eine Loggruppe und einen Lognamen aus.
      3. Klicken Sie auf Weiterleiten.
    16. (Optional) Wählen Sie Erweiterte Optionen anzeigen, um Tags hinzuzufügen.
      1. (Optional) Wählen Sie den Bereitstellungsmodus für das Modell-Deployment aus, entweder als HTTPS-Endpunkt oder mit einem Streaming-Servicestream.
      2. (Optional) Wählen Sie die Load Balancing-Bandbreite in Mbps aus, oder verwenden Sie den Standardwert von 10 Mbps.

        Tipps für Load Balancing:

        Wenn Sie die allgemeine Payload-Größe und die Häufigkeit der Anforderungen pro Sekunde wissen, können Sie mit der folgenden Formel die erforderliche Bandbreite des Load Balancers schätzen. Wir empfehlen, zusätzlich 20% hinzuzufügen, um Schätzungsfehler und sporadischen Spitzentraffic zu berücksichtigen.

        (Payload-Größe in KB) * (Geschätzte Anforderungen pro Sekunde) * 8 / 1024

        Beispiel: Wenn die Payload 1.024 KB beträgt und Sie 120 Anforderungen pro Sekunde schätzen, ist die empfohlene Load-Balancer-Bandbreite (1024 * 120 * 8 / 1024) * 1,2 = 1152 Mbps).

        Beachten Sie, dass die maximal unterstützte Payload-Größe 10 MB beträgt, wenn Sie mit Image-Payloads arbeiten.

        Wenn die Anforderungs-Payload-Größe die zugewiesene Bandbreite des definierten Load Balancers überschreitet, wird die Anforderung mit dem Statuscode 429 abgelehnt.

      3. (Optional) Wählen Sie Benutzerdefiniertes Containerimage verwenden aus, und geben Sie Folgendes ein:
        • Repository in <tenancy>: Geben Sie das Repository ein, das das benutzerdefinierte Image enthält.

        • Image: Geben Sie das benutzerdefinierte Image ein, das zur Laufzeit verwendet werden soll.

        • Imagedigest: Geben Sie den Imagedigest ein. Beispiel: sha256:<digest>. Der Digest muss mit dem genauen Image übereinstimmen, das Sie bereitstellen.
        • Imagesignatur-ID: Geben Sie die Imagesignatur-OCID ein, die beim Signieren des Images generiert wird. Weitere Informationen zum Signaturprozess finden Sie unter Images zur Sicherheit signieren.

          Der Signatureintrag ist optional, es sei denn, Ihr Mandant oder Ihre Policy erzwingt die Überprüfung der Imagesignatur für benutzerdefinierte Images. Wenn die Verifizierung durchgesetzt wird, müssen Sie alle erforderlichen Signaturfelder angeben. Andernfalls wird das Deployment nicht fortgesetzt.

          Wenn die Verifizierung nicht erfolgreich verläuft, zeigt die Konsole einen Fehler an, z.B. "Signatur <ID> ist nicht verifiziert" oder "Digest des angegebenen Images stimmt nicht mit dem Digest in der Signatur überein". In diesem Fall wird die Erstellung des Modell-Deployments blockiert.

        • CMD: Geben Sie Befehle für den Container ein, einen Befehl pro Textfeld. Beispiel: Geben Sie --host in ein Textfeld und 0.0.0.0 in ein anderes ein. Verwenden Sie keine Anführungszeichen am Ende.

        • Entrypoint: Geben Sie eine oder mehrere Einstiegspunktdateien ein, die beim Start des Containers ausgeführt werden sollen, wie /opt/script/entrypoint.sh. Verwenden Sie keine Anführungszeichen am Ende.

        • Serverport: Geben Sie den Port für den Inferenz-Webserver ein. Der Standardwert ist 8080. Gültiger Bereich: 1024-65535, außer 24224, 8446, 8447.

        • Health-Check-Port: Geben Sie den Port für den Container-Health-Check ein. Der Standardwert ist der Serverport. Gültiger Bereich: 1024-65535, außer 24224, 8446, 8447.

      4. (Optional) Fügen Sie im Abschnitt Tags dem Modell-Deployment mindestens ein Tag hinzu. Wenn Sie über Berechtigungen zum Erstellen von Ressourcen verfügt, sind Sie auch berechtigt: Freiformtags auf diese Ressource anwenden. Um ein definiertes Tag anzuwenden, benötigen Sie Die Berechtigungen zum Verwenden des Tag-Namespace. Weitere Informationen zu Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Tags angewendet werden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
    17. Klicken Sie auf Erstellen.
  • Mit der OCI-CLI können Sie ein Modell-Deployment wie in diesem Beispiel erstellen.

    1. Stellen Sie das Modell wie folgt bereit:
      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. Verwenden Sie diese JSON-Konfigurationsdatei für das Modell-Deployment:
      {
            "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"
               }
           }
       }

      Wenn Sie eine Umgebungskonfiguration angeben, müssen Sie das Objekt environmentConfigurationDetails wie in diesem Beispiel aufnehmen:

      
      {
        "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",
            "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
          }
        }
      }
      Hinweis

      Das Feld imageSignatureId ist optional.
    3. (Optional) Verwenden Sie diese JSON-Loggingkonfigurationsdatei:
      {
          "access": {
            "logGroupId": "<YOUR_LOG_GROUP_OCID>",
            "logId": "<YOUR_LOG_OCID>"
          },
          "predict": {
            "logGroupId": "<YOUR_LOG_GROUP_OCID>",
            "logId": "<YOUR_LOG_OCID>"
          }
      }
    4. (Optional) Verwenden Sie diese Option, um einen benutzerdefinierten Container zu verwenden:
      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>
                                      
  • Verwenden Sie den Vorgang CreateModelDeployment, um ein Modell-Deployment mit benutzerdefiniertem Networking zu erstellen. Legen Sie die Subnetz-ID wie in der API-Dokumentation zur Instanzkonfiguration beschrieben fest.