Archivo runtime.yaml
El archivo runtime.yaml define la configuración de tiempo de ejecución necesaria para desplegar un modelo mediante la función Despliegue de modelo del servicio Data Science.
Un artefacto de modelo debe incluir ambos:
score.pyruntime.yaml
El archivo runtime.yaml especifica el entorno Conda utilizado durante la inferencia, lo que garantiza que el modelo desplegado se ejecute con las dependencias de tiempo de ejecución correctas.
Varios ejemplos de catálogo de modelos incluyen archivos runtime.yaml de ejemplo.
Hemos proporcionado varios ejemplos de catálogo de modelos, incluidos los archivos runtime.yaml.
Campos soportados
A continuación, se muestran los campos soportados en runtime.yaml.
A medida que la estructura de artefacto de modelo evoluciona, el esquema runtime.yaml también puede cambiar. Los campos admitidos corresponden al MODEL_ARTIFACT_VERSION (3.0) actual.
Además, asegúrese de que
INFERENCE_PYTHON_VERSION y INFERENCE_ENV_PATH sean compatibles entre sí para evitar errores de despliegue.| Campo | Necesario | Descripción |
|---|---|---|
MODEL_ARTIFACT_VERSION |
Sí | 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 |
Sí | 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 pensado que no tiene que ser el caso. Por ejemplo, puede entrenar un modelo en el entorno conda, serializarlo como modelo de AA general y, a continuación, utilizar un entorno conda de AA general para desplegarlo. |
MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_TYPE |
Sí | Tipo de entorno conda que desea utilizar para fines de despliegue y puntuación. Dos valores posibles, data_science o published. |
MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_ENV_PATH |
Sí |
Ruta de acceso en Object Storage del entorno conda que desea utilizar para fines de despliegue y puntuación. La ruta utiliza la siguiente sintaxis: Nota: Si no se especifican los campos de entorno Conda de inferencia, el servicio vuelve automáticamente a un entorno Conda por defecto gestionado por el equipo de servicio. El tiempo de ejecución
|
MODEL_DEPLOYMENT.INFERENCE_CONDA_ENV.INFERENCE_PYTHON_VERSION |
Sí |
Versión de Python del entorno conda que desea utilizar para el despliegue del modelo. Las versiones admitidas de Python son Nota: Si no se especifica el campo El tiempo de ejecución
|
Requisitos predeterminados de compatibilidad y comportamiento
Si no se especifican uno o más campos de entorno Conda de inferencia, el servicio vuelve a un tiempo de ejecución por defecto gestionado por el servicio.
Valores INFERENCE_ENV_PATH por defecto:
- ENMIENDA (x86_64):
service_pack/cpu/General_Machine_Learning_for_CPUs_on_Python_3.12/1.0/generalml_p312_cpu_x86_64_v1 - BRAZO (aarch64):
service_pack/cpu/ARM_Pack_for_Machine_Learning_on_Python_3.12/1.0/armml_p312_cpu_aarch64_v1
El valor por defecto INFERENCE_PYTHON_VERSION es Python 3.12.
La reserva a la configuración por defecto puede hacer que falle la creación del despliegue de modelo. Asegúrese de que INFERENCE_ENV_PATH y INFERENCE_PYTHON_VERSION hagan referencia a versiones de entorno compatibles.
Esquema
A continuación se muestra el esquema del archivo 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"}
},
"required": [
"INFERENCE_ENV_SLUG",
"INFERENCE_ENV_TYPE",
"INFERENCE_ENV_PATH",
"INFERENCE_PYTHON_VERSION"
]
}
}
}
}
}
Archivo de ejemplo para el despliegue de modelo
A continuación, se muestra un archivo runtime.yaml de ejemplo para un recurso del despliegue del 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.12'
Otros archivos de artefacto
Además de score.py y runtime.yaml, puede incluir cualquier archivo necesario para ejecutar el modelo en el artefacto. Entre ellos, se incluyen:
-
Una representación serializada del objeto de estimador. Por ejemplo,
onnx,pkl,hdf5ojson. -
Un archivo CSV, una tabla de datos de consulta, etc.
- Módulos Python adicionales que se importan en
score.py.Importante
Para módulos Python adicionales que se importan enscore.py, comprima cualquier código utilizado para la inferencia en el mismo nivel quescore.py(o en un directorio secundario). Si hay archivos necesarios presentes en niveles de directorio por encima del archivoscore.py, estos se ignorarán y lo cual puede provocar un fallo de despliegue.
Si va a guardar su modelo utilizando la consola, la CLI o el SDK de Oracle Cloud, solo tiene que compprimir 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 sin comprimir 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 Oracle Cloud.