Il file runtime.yaml
Oltre a score.py
, il file runtime.yaml
deve trovarsi in un artifact modello.
Lo scopo di runtime.yaml
è:
Per fornire il riferimento all'ambiente Conda runtime necessario ai fini della distribuzione del modello. È necessario per distribuire un modello utilizzando la funzione di distribuzione del modello del servizio Data Science.
Sono stati forniti vari esempio di catalogo dei modelli, inclusi i file runtime.yaml
.
Di seguito è riportata una descrizione di ciascun campo in runtime.yaml
. Man mano che la struttura dell'artifact modello cambia, questo file si evolve e anche la versione. Questi sono i campi per l'MODEL_ARTIFACT_VERSION (3.0)
corrente.
Campo | descrizione; |
---|---|
|
La versione di questo formato artifact. Questa versione è 3.0. Questo viene estratto automaticamente da ADS quando il modello viene salvato in una sessione notebook. |
|
Lo slug dell'ambiente Conda che si desidera utilizzare per la distribuzione e il punteggio. Di solito, l'ambiente di inferenza è lo stesso del pensiero dell'ambiente di allenamento che non deve essere il caso. Ad esempio, è possibile addestrare un modello in un unico ambiente Conda, serializzarlo come modello ONNX e quindi utilizzare un ambiente Conda ONNX per distribuirlo. |
|
Tipo di ambiente Conda che si desidera utilizzare a scopo di distribuzione e assegnazione punteggio. Due valori possibili: |
|
Percorso nello storage degli oggetti dell'ambiente Conda che si desidera utilizzare a scopo di distribuzione e assegnazione del punteggio. Il percorso segue questa sintassi, |
|
Versione Python dell'ambiente Conda che si desidera utilizzare per la distribuzione del modello. Le versioni Python supportate sono |
Schema runtime.yaml
{
"title": "Model Artifact schema",
"type": "object",
"properties": {
"MODEL_ARTIFACT_VERSION": {"type":"string"},
"MODEL_DEPLOYMENT": {
"type": "object",
"title": "Model Deployment",
"properties": {
"INFERENCE_CONDA_ENV": {
"type": "object",
"title": "Inference Conda Env",
"properties": {
"INFERENCE_ENV_SLUG": {"type":"string"},
"INFERENCE_ENV_TYPE": {"type":"string", "enum": ["published", "data_science"]},
"INFERENCE_ENV_PATH": {"type":"string"},
"INFERENCE_PYTHON_VERSION": {"type":"string"}
}
}
}
}
}
}
File di esempio per la distribuzione del modello
Questo è un file runtime.yaml
di esempio per una risorsa di distribuzione del modello Data Science:
MODEL_ARTIFACT_VERSION: '3.0'
MODEL_DEPLOYMENT:
INFERENCE_CONDA_ENV:
INFERENCE_ENV_SLUG: envslug
INFERENCE_ENV_TYPE: published
INFERENCE_ENV_PATH: oci://<bucket-name>@<namespace>/<prefix>/<env>.tar.gz
INFERENCE_PYTHON_VERSION: '3.7'
Altri file artifact
Oltre a score.py
e runtime.yaml
, è possibile includere altri file necessari per eseguire il modello nell'artifact. Questi potrebbero includere:
-
Rappresentazione in serie dell'oggetto valutatore. Ad esempio,
onnx
,pkl
,hdf5
ojson
. -
File CSV, tabella dati di ricerca e così via.
-
Moduli Python extra importati in
score.py
.Importante
Moduli Python extra importati in
score.py
. Il codice utilizzato per l'inferenza deve essere compresso allo stesso livello discore.py
o a qualsiasi livello inferiore. Se sono presenti file obbligatori a livello di cartella sopra il filescore.py
, questi vengono ignorati e potrebbero causare un errore di distribuzione.
Se si salva il modello utilizzando la console, l'interfaccia CLI o gli SDK OCI, comprimere i file insieme ai file score.py
e runtime.yaml
.
Se si utilizza ADS per salvare il modello, copiare tutti i file nella directory in cui l'artifact viene creato temporaneamente prima di salvare il modello nel catalogo. ADS comprime l'intera directory artifact e la invia al catalogo modelli.
L'artifact ora supporta modelli non compressi fino a 6 GB quando il modello viene salvato utilizzando ADS, l'interfaccia CLI o gli SDK. Il limite è di 100 MB quando si utilizza OCI Console.