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. |
|
|
Slug dell'ambiente Conda che si desidera utilizzare a scopo di distribuzione e assegnazione punteggio. Di solito, l'ambiente di inferenza è lo stesso dell'ambiente di formazione pensato 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 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,hdf5ojson. -
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.pyo 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.