BYOC distribuzioni modello
Risolvere i problemi relativi alle distribuzioni del modello BYOC.
Impossibile accedere all'immagine contenitore
Quando si creano, aggiornano o attivano le operazioni di distribuzione dei modelli, Data Science verifica che esista un percorso autorizzato per accedere all'immagine del contenitore all'interno della tenancy. Se la verifica non riesce, potrebbe essere a causa di criteri del principal della risorsa mancanti, di un percorso immagine errato o dell'immagine inesistente. Assicurarsi che i criteri, il percorso e l'immagine specificati siano corretti e riprovare.
Timeout download immagine contenitore
Ogni risorsa di distribuzione del modello prevede il pull dell'immagine del contenitore creata da OCI Registry all'istanza di computazione di distribuzione, dove viene quindi eseguita come contenitore per l'inferenza. Il download dell'immagine deve essere completato entro 20 minuti. Tuttavia, se la dimensione dell'immagine è troppo grande o si verifica un tempo di inattività temporaneo del servizio nel registro, potrebbe verificarsi il timeout dell'operazione, pertanto la dimensione dell'immagine deve essere compresa tra 16 GB. Se l'immagine è più grande di questa, provare a rimuovere eventuali dipendenze non necessarie per ridurre le dimensioni, quindi provare di nuovo a creare la distribuzione.
Timeout esecuzione contenitore
Quando si distribuisce un modello, l'immagine del contenitore viene trasferita dalla tenancy alla tenancy del servizio Data Science e utilizzata per eseguire il modello come contenitore per l'inferenza. Il contenitore ha un timeout definito di 10 minuti per l'esecuzione, quindi è fondamentale assicurarsi che il contenitore di servizio di inferenza inizi entro questo intervallo di tempo.
Prima della distribuzione, è importante convalidare il contenitore localmente e verificare che le chiamate /predict
e /health
siano riuscite.
Durante la distribuzione, è inoltre fondamentale verificare che non si verifichino errori durante l'esecuzione del contenitore, la chiamata di previsione o la chiamata di controllo dello stato. Inoltre, assicurarsi che l'uscita sia abilitata durante la creazione della risorsa di distribuzione del modello se la logica di inferenza in esecuzione all'interno del contenitore deve accedere a Internet. In caso contrario, si potrebbe verificare un errore di bootstrap del modello. Per testare questo scenario, prova a disabilitare Internet durante i test locali.
Assicurarsi che sia allocata memoria sufficiente per il caricamento e l'estrazione del modello per evitare problemi di memoria insufficiente.
Per ulteriori informazioni, consulta le migliori prassi BYOC e esegui il test del contenitore.
Impossibile avviare il contenitore
Ci possono essere diversi motivi per cui un contenitore non riesce ad avviarsi. Per risolvere questo problema, è meglio identificare e correggere l'errore durante la fase di test locale. Di seguito sono riportati alcuni possibili motivi e correzioni.
-
Affinché il criterio
HEALTHCHECK
Docker riesca, l'immagine del contenitore deve avere il packagecurl
installato. Se manca questo pacchetto, l'avvio del contenitore non riesce. -
Per eseguire il bootstrap del server Web, è necessario fornire i parametri della riga di comando Docker
CMD
oEntrypoint
tramite l'API o il Dockerfile. Se questi parametri non sono validi, l'avvio del contenitore non riesce.
Impossibile accedere al modello
Durante il bootstrap, l'istanza di computazione delle distribuzioni estrae l'artifact del modello ed esegue il MOUNT dei file nella directory /opt/ds/model/deployed_model
all'interno del contenitore in esecuzione in modalità di sola lettura.
Tutti i file compressi da questo percorso vengono utilizzati nella logica di assegnazione punteggio. Zipping di un set di file (inclusi il modello ML e la logica di scoring) o di una cartella contenente un set di file con un percorso di posizione diverso per il modello ML all'interno del contenitore.
Assicurarsi che venga utilizzato il percorso corretto durante il caricamento del modello nella logica di assegnazione punteggio.