Usa rete personalizzata
Creare una distribuzione modello con l'opzione di rete personalizzata.
Il carico di lavoro viene collegato utilizzando una VNIC secondaria a una VCN e a una subnet gestite dal cliente. La subnet può essere configurata per l'uscita alla rete Internet pubblica tramite un gateway NAT/Internet.
allow service datascience to use virtual-network-family in compartment <subnet_compartment>
Per l'uscita personalizzata, la subnet deve avere almeno 127 indirizzi IP disponibili.
Puoi creare ed eseguire distribuzioni di modelli di rete personalizzati utilizzando la console, l'SDK Python OCI, l'interfaccia CLI OCI o l'API Data Science.
- Utilizzare la console per collegarsi a una tenancy con i criteri necessari.
- Aprire il menu di navigazione e selezionare Analytics & AI. In Machine Learning, selezionare Data Science.
-
Selezionare il compartimento contenente il progetto in cui si desidera creare la distribuzione del modello.
Vengono elencati tutti i progetti nel compartimento.
-
Selezionare il nome del progetto.
Viene visualizzata la pagina dei dettagli del progetto in cui sono elencate le sessioni notebook.
-
In Risorse, selezionare Distribuzioni modello.
Viene visualizzato un elenco in formato tabulare delle distribuzioni di modelli nel progetto.
- Selezionare Crea distribuzione modello.
- (Facoltativo) Immettere un nome univoco per il modello (limite di 255 caratteri). Se non si specifica un nome, viene generato automaticamente un nome.
Ad esempio,
modeldeployment20200108222435
. - (Facoltativo) Immettere una descrizione (limite di 400 caratteri) per la distribuzione del modello.
- (Facoltativo) In Configurazione predefinita, immettere una chiave di variabile di ambiente personalizzata e il valore corrispondente. Selezionare + Tasto di ambiente personalizzato aggiuntivo per aggiungere altre variabili di ambiente.
-
Nella sezione Modelli, selezionare Seleziona per selezionare un modello attivo da distribuire dal catalogo modelli.
- Trovare un modello utilizzando il compartimento e il progetto predefiniti oppure selezionando Utilizzo dell'OCID e cercando il modello immettendo il relativo OCID.
- Selezionare il modello.
- Selezionare Sottometti.
Importanti
Gli artifact di modello che superano i 400 GB non sono supportati per la distribuzione. Selezionare un artifact modello più piccolo per la distribuzione. - (Facoltativo) Modificare la forma di computazione selezionando Modifica forma. Attenersi quindi alla procedura descritta di seguito nel pannello Select compute.
- Selezionare un tipo di istanza.
- Selezionare una serie di forme.
- Selezionare una delle forme di computazione supportate nella serie.
-
Selezionare la forma più adatta a come si desidera utilizzare la risorsa.
Per ciascuna OCPU, selezionare fino a 64 GB di memoria e un totale massimo di 512 GB. La quantità minima di memoria consentita è 1 GB o un valore corrispondente al numero di OCPU, a seconda di quale delle due è maggiore.
- Selezionare Seleziona forma.
- Immettere il numero di istanze per la distribuzione del modello su cui replicare il modello.
-
Selezionare Networking personalizzato per configurare il tipo di rete.
Selezionare la VCN e la subnet che si desidera utilizzare per la risorsa (sessione o job del registro note).
Se non viene visualizzata la VCN o la subnet che si desidera utilizzare, selezionare Modifica compartimento, quindi selezionare il compartimento contenente la VCN o la subnet.Nota
È consentito passare dalla rete predefinita alla rete personalizzata. Se è selezionata, la rete personalizzata non può essere modificata in rete predefinita. -
Selezionare una delle opzioni riportate di seguito per configurare il tipo di endpoint.
Public endpoint
: accesso ai dati in un'istanza gestita dall'esterno di una VCN.Private endpoint
: l'endpoint privato che si desidera utilizzare per la distribuzione del modello.
Private endpoint
, selezionarePrivate Endpoint
da Endpoint privato in Data Science.Selezionare Modifica compartimento per selezionare il compartimento contenente l'endpoint privato.
- (Facoltativo) Se si configura l'accesso o si prevede il log, nella sezione Log selezionare Seleziona, quindi attenersi alla procedura riportata di seguito.
- Per i log degli accessi, selezionare un compartimento, un gruppo di log e un nome di log.
- Per i log di previsione, selezionare un compartimento, un gruppo di log e un nome di log.
- Selezionare Sottometti.
- (Facoltativo) Selezionare Mostra opzioni avanzate per aggiungere tag.
- (Facoltativo) Selezionare la modalità di servizio per la distribuzione del modello, come endpoint HTTPS o utilizzando un flusso di servizi di streaming.
- (Facoltativo) Selezionare la larghezza di banda di bilanciamento del carico in Mbps o utilizzare l'impostazione predefinita 10 Mbps.
Suggerimenti per il bilanciamento del carico:
Se si conoscono la dimensione del payload comune e la frequenza delle richieste al secondo, è possibile utilizzare la formula riportata di seguito per stimare la larghezza di banda del load balancer di cui si ha bisogno. Ti consigliamo di aggiungere un ulteriore 20% per tenere conto degli errori di stima e dei picchi di traffico sporadici.
(Dimensione payload in KB) * (Richieste stimate al secondo) * 8 / 1024
Ad esempio, se il payload è di 1.024 KB e si stimano 120 richieste al secondo, la larghezza di banda consigliata per il load balancer sarà (1024 * 120 * 8 / 1024) * 1,2 = 1152 Mbps.
Tenere presente che la dimensione massima del payload supportato è di 10 MB quando si tratta di payload di immagini.
Se la dimensione del payload della richiesta è maggiore della larghezza di banda allocata del load balancer definito, la richiesta viene rifiutata con un codice di stato 429.
- (Facoltativo) Selezionare Usa un'immagine contenitore personalizzata e immettere quanto segue:
-
Repository in <tenancy>: il repository che contiene l'immagine personalizzata.
-
Immagine: l'immagine personalizzata da utilizzare nella distribuzione del modello in runtime.
-
CMD: ulteriori comandi da eseguire all'avvio del contenitore. Aggiungere un'istruzione per casella di testo. Ad esempio, se CMD è
["--host", "0.0.0.0"]
, passare--host
in una casella di testo e0.0.0.0
in un'altra. Non utilizzare le virgolette alla fine. -
Punto di ingresso: uno o più file del punto di ingresso da eseguire all'avvio del contenitore. Ad esempio,
/opt/script/entrypoint.sh
. Non utilizzare le virgolette alla fine. -
Porta server: la porta su cui è in esecuzione il server Web che gestisce l'inferenza. Il valore predefinito è 8080. Il porto può essere qualsiasi cosa tra 1024 e 65535. Non utilizzare le porte 24224, 8446, 8447.
-
Porta di controllo dello stato: la porta su cui il contenitore
HEALTHCHECK
ascolta. Il valore predefinito è la porta del server. Il porto può essere qualsiasi cosa tra 1024 e 65535. Non utilizzare le porte 24224, 8446, 8447.
-
- (Facoltativo) Nella sezione Tag aggiungere una o più tag a <resourceType>. Se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per applicare le tag in formato libero a tale risorsa. Per applicare una tag definita, è necessario disporre delle autorizzazioni per utilizzare la tag namespace. Per ulteriori informazioni sull'applicazione di tag, vedere Tag risorsa. Se non si è certi di applicare le tag, saltare questa opzione o chiedere a un amministratore. È possibile applicare le tag in un secondo momento.
- Selezionare Crea.
È possibile utilizzare l'interfaccia CLI OCI per creare una distribuzione modello come in questo esempio.
-
Distribuisce il modello con:
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>
-
Utilizzare questo file di configurazione JSON di distribuzione modello:
{ "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" } } }
Se si specifica una configurazione di ambiente, è necessario includere l'oggetto
environmentConfigurationDetails
come nell'esempio riportato di seguito.{ "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 } } }
- (Facoltativo) Utilizzare questo file di configurazione JSON di log:
{ "access": { "logGroupId": "<YOUR_LOG_GROUP_OCID>", "logId": "<YOUR_LOG_OCID>" }, "predict": { "logGroupId": "<YOUR_LOG_GROUP_OCID>", "logId": "<YOUR_LOG_OCID>" } }
- (Facoltativo) Utilizzare questa opzione per utilizzare un contenitore personalizzato:
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>
-
Distribuisce il modello con:
Utilizzare l'operazione CreateModelDeployment per creare una distribuzione di modelli con networking personalizzato. Impostare l'ID subnet come descritto nella documentazione dell'API Instance Configuration.