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;

MODEL_ARTIFACT_VERSION

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.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_SLUG

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.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_TYPE

Tipo di ambiente Conda che si desidera utilizzare a scopo di distribuzione e assegnazione punteggio. Due valori possibili: data_science o published.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_PATH

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, oci://<bucket-name>@<namespace>/<file-path>.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_PYTHON_VERSION

Versione Python dell'ambiente Conda che si desidera utilizzare per la distribuzione del modello. Le versioni Python supportate sono 3.7, 3.8, 3.9, 3.10 e 3.11.

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 o json.

  • 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 di score.py o a qualsiasi livello inferiore. Se sono presenti file obbligatori a livello di cartella sopra il file score.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.

Nota

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.