Archivo runtime.yaml

Además de score.py, es necesario que el archivo runtime.yaml esté en un artefacto del modelo.

La finalidad de runtime.yaml es:

Proporcionar la referencia de entorno conda de tiempo de ejecución necesaria para fines de despliegue del modelo. Esto es necesario para desplegar un modelo mediante la función de despliegue de modelo del servicio Data Science.

Hemos proporcionado varios ejemplos de catálogo de modelos, incluidos los archivos runtime.yaml.

A continuación se incluye una descripción de cada campo en runtime.yaml. A medida que cambia la estructura del artefacto del modelo, este archivo evoluciona, así como la versión. Estos son los campos de MODEL_ARTIFACT_VERSION (3.0) actual.

Campo Descripción

MODEL_ARTIFACT_VERSION

Versión de este formato de artefacto. Esta versión es la 3.0. ADS lo extrae automáticamente cuando el modelo se guarda en una sesión de bloc de notas.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_SLUG

Nombre para URL del entorno conda que desea utilizar para fines de despliegue y puntuación. Por lo general, el entorno de inferencia es el mismo que el entorno de entrenamiento que se cree que no tiene que ser el caso. Por ejemplo, puede entrenar un modelo en un entorno conda, serializarlo como un modelo ONNX y, a continuación, utilizar un entornoONNX conda para desplegarlo.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_TYPE

Tipo de entorno conda que desea utilizar para fines de despliegue y puntuación. Dos valores posibles son data_science o published.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_PATH

Ruta de acceso en Object Storage del entorno conda que desea utilizar para fines de despliegue y puntuación. La ruta sigue esta sintaxis, oci://<bucket-name>@<namespace>/<file-path>.

MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_PYTHON_VERSION

Versión de Python del entorno conda que desea utilizar para el despliegue del modelo. Las versiones de Python soportadas son 3.7, 3.8, 3.9, 3.10 y 3.11.

Esquema 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"}
                    }
                }
            }
        }
    }
 
}

Archivo de ejemplo para el despliegue de modelo

Este es un archivo runtime.yaml de ejemplo para un recurso de despliegue de modelo de 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'

Otros archivos de artefacto

Además de score.py y runtime.yaml, puede incluir más archivos necesarios para ejecutar el modelo en el artefacto. Entre ellos, se incluyen:

  • Una representación serializada del objeto de estimador. Por ejemplo, onnx, pkl, hdf5 o json.

  • Un archivo CSV, una tabla de datos de consulta, etc.

  • Módulos Python adicionales que se importan en score.py.
    Importante

    Módulos Python adicionales que se importan en score.py. Cualquier código utilizado para la inferencia se debe comprimir en el mismo nivel que score.py o en cualquier nivel inferior a este. Si hay archivos necesarios en niveles de carpeta por encima del archivo score.py, estos se ignorarán y pueden provocar un error de despliegue.

Si desea guardar su modelo utilizando la consola, la CLI o los SDK de OCI, solo tiene que comprimir en zip los archivos junto con los archivos score.py y runtime.yaml.

Si utiliza ADS para guardar el modelo, copie todos los archivos en el directorio en el que se ha creado temporalmente el artefacto antes de guardar el modelo en el catálogo. ADS comprime el directorio de artefactos completo y lo envía al catálogo de modelos.

Nota

El artefacto ahora soporta modelos no comprimidos de hasta 6 GB cuando el modelo se guarda mediante ADS, la CLI o los SDK. El límite es de 100 MB cuando se utiliza la consola de OCI.