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 |
---|---|
|
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. |
|
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. |
|
Tipo de entorno conda que desea utilizar para fines de despliegue y puntuación. Dos valores posibles son |
|
Ruta de acceso en Object Storage del entorno conda que desea utilizar para fines de despliegue y puntuación. La ruta sigue esta sintaxis, |
|
Versión de Python del entorno conda que desea utilizar para el despliegue del modelo. Las versiones de Python soportadas son |
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
ojson
. -
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 quescore.py
o en cualquier nivel inferior a este. Si hay archivos necesarios en niveles de carpeta por encima del archivoscore.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.
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.