Fichier runtime.yaml
En plus de score.py
, le fichier runtime.yaml
doit se trouver dans un artefact de modèle.
Le but de runtime.yaml
est de :
Fournir la référence d'environnement Conda d'exécution nécessaire à des fins de déploiement de modèle. Cela est nécessaire pour déployer un modèle à l'aide de la fonction de déploiement de modèle du service de science des données.
Nous avons fourni divers exemple de catalogue de modèles, notamment les fichiers runtime.yaml
.
Vous trouverez ci-dessous une description de chaque champ de runtime.yaml
. À mesure que la structure de l'artefact du modèle change, ce fichier évolue, ainsi que la version. Il s'agit des champs pour la version courante MODEL_ARTIFACT_VERSION (3.0)
.
Champ | Description |
---|---|
|
Version de ce format d'artefact. Il s'agit de la version 3.0. Cette opération est automatiquement extraite par ADS lorsque le modèle est enregistré dans une session de carnet. |
|
Ligne-bloc de l'environnement Conda à utiliser à des fins de déploiement et de notation. Habituellement, l'environnement d'inférence est le même que l'environnement d'entraînement considéré comme n'ayant pas à être le cas. Par exemple, vous pouvez entraîner un modèle dans un environnement Conda, le sérialiser en tant que modèle ONNX, puis utiliser un environnement Conda ONNX pour le déployer. |
|
Type d'environnement Conda à utiliser à des fins de déploiement et de notation. Deux valeurs possibles : |
|
Dans le service de stockage d'objets, chemin d'accès de l'environnement Conda à utiliser à des fins de déploiement et de notation. Le chemin suit cette syntaxe, |
|
Version Python de l'environnement Conda à utiliser pour le déploiement de modèle. Les versions Python prises en charge sont |
Schéma 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"}
}
}
}
}
}
}
Exemple de fichier pour le déploiement de modèle
Voici un exemple de fichier runtime.yaml
pour une ressource de déploiement de modèle du service Science des données :
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'
Autres fichiers d'artefact
En plus des fichiers score.py
et runtime.yaml
, vous pouvez inclure tous les autres fichiers nécessaires pour exécuter le modèle dans l'artefact. Ils peuvent inclure :
-
Une représentation sérialisée de votre objet d'évaluation. Par exemple,
onnx
,pkl
,hdf5
oujson
. -
Un fichier CSV, une table de données de consultation, etc.
-
Des modules Python supplémentaires importés dans
score.py
.Important
Des modules Python supplémentaires importés dans
score.py
. Tout code utilisé pour l'inférence doit être compressé au même niveau quescore.py
ou à un niveau inférieur. Si des fichiers requis figurent dans des dossiers au-dessus du fichierscore.py
, ils sont ignorés et pourraient entraîner un échec du déploiement.
Si vous enregistrez votre modèle à l'aide de la console OCI, de l'interface de ligne de commande ou des SDK, compressez les fichiers avec les fichiers score.py
et runtime.yaml
.
Si vous utilisez ADS pour enregistrer votre modèle, copiez tous les fichiers du répertoire où l'artefact a été créé temporairement avant d'enregistrer le modèle dans le catalogue. ADS compresse l'intégralité du répertoire d'artefacts et l'envoie au catalogue de modèles.
L'artefact prend désormais en charge les modèles non compressés jusqu'à 6 Go lors de l'enregistrement du modèle à l'aide d'ADS, de l'interface de ligne de commande ou des trousses SDK. La limite est de 100 Mo quand la console OCI est utilisée.