Benutzerdefiniertes Networking verwenden
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.
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.
- Mit der Konsole können Sie sich mit den notwendigen Policys bei einem Mandanten anmelden.
- Öffnen Sie das Navigationsmenü, und wählen Sie Analysen und KI aus. Wählen Sie unter Maschinelles Lernen die Option Data Science aus.
-
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.
-
Wählen Sie den Namen des Projekts aus.
Die Seite mit den Projektdetails wird geöffnet, und die Notizbuchsessions werden aufgelistet.
-
Wählen Sie unter Ressourcen die Option Modell-Deployments aus.
Eine tabellarische Liste der Modell-Deployments im Projekt wird angezeigt.
- Wählen Sie Modell-Deployment erstellen aus.
- (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
. - (Optional) Geben Sie eine Beschreibung (max. 400 Zeichen) für das Modell-Deployment ein.
- (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.
-
Wählen Sie im Abschnitt Modelle die Option Auswählen aus, um ein aktives Modell auszuwählen, das aus dem Modellkatalog bereitgestellt werden soll.
- 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.
- Wählen Sie das Modell aus.
- 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. - (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.
- Wählen Sie einen Instanztyp aus.
- Wählen Sie eine Ausprägungsreihe aus.
- Wählen Sie eine der unterstützten Compute-Ausprägungen in der Serie aus.
-
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.
- Wählen Sie Ausprägung auswählen aus.
- Geben Sie die Anzahl der Instanzen ein, in die das Modell-Deployment das Modell replizieren soll.
-
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. -
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.
Private endpoint
ausgewählt haben, wählen Sie unter Privater Endpunkt in Data Science die OptionPrivate Endpoint
aus.Wählen Sie Compartment ändern aus, um das Compartment mit dem privaten Endpunkt auszuwählen.
- (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:
- Wählen Sie für Zugriffslogs ein Compartment, eine Loggruppe und einen Lognamen aus.
- Wählen Sie für Vorhersagelogs ein Compartment, eine Loggruppe und einen Lognamen aus.
- Klicken Sie auf Weiterleiten.
- (Optional) Wählen Sie Erweiterte Optionen anzeigen, um Tags hinzuzufügen.
- (Optional) Wählen Sie den Bereitstellungsmodus für das Modell-Deployment aus, entweder als HTTPS-Endpunkt oder mit einem Streaming-Servicestream.
- (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.
- (Optional) Wählen Sie Benutzerdefiniertes Containerimage verwenden aus, und geben Sie Folgendes ein:
-
Repository in <tenancy>: Das Repository, das das benutzerdefinierte Image enthält.
-
Image: Das benutzerdefinierte Image, das zur Laufzeit im Modell-Deployment verwendet werden soll.
-
CMD: Weitere Befehle, die beim Starten des Containers ausgeführt werden müssen. Fügen Sie eine Anweisung pro Textfeld hinzu. Beispiel: Wenn der CMD-Wert
["--host", "0.0.0.0"]
lautet, übergeben Sie--host
in einem Textfeld und0.0.0.0
in einem anderen. Verwenden Sie keine Anführungszeichen am Ende. -
Entrypoint: Mindestens eine Einstiegspunktdatei, die beim Start des Containers ausgeführt werden soll. Beispiel:
/opt/script/entrypoint.sh
. Verwenden Sie keine Anführungszeichen am Ende. -
Serverport: Der Port, auf dem der Webserver für die Inferenz ausgeführt wird. Der Standard ist 8080. Der Port kann zwischen 1024 und 65535 liegen. Verwenden Sie nicht die Ports 24224, 8446, 8447.
-
Health Check Port: Der Port, auf dem der Container
HEALTHCHECK
horcht. Der Standardwert ist der Serverport. Der Port kann zwischen 1024 und 65535 liegen. Verwenden Sie nicht die Ports 24224, 8446, 8447.
-
- (Optional) Fügen Sie im Abschnitt Tags dem <resourceType> mindestens ein Tag hinzu. Wenn Sie über Berechtigungen zum Erstellen einer Ressource verfügen, sind Sie auch berechtigt, Freiformtags auf diese Ressource anzuwenden. Um ein definiertes Tag anzuwenden, müssen Sie über die Berechtigungen verfügen, den Tag-Namespace zu verwenden. Weitere Informationen zu Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Sie Tags anwenden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
- Klicken Sie auf Erstellen.
Mit der OCI-CLI können Sie ein Modell-Deployment wie in diesem Beispiel erstellen.
-
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>
-
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", "entrypoint": [ "python", "/opt/entrypoint.py" ], "serverPort": "5000", "healthCheckPort": "5000" }, "streamConfigurationDetails": { "inputStreamIds": null, "outputStreamIds": null } } }
- (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>" } }
- (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>
-
Stellen Sie das Modell wie folgt bereit:
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.