Catalogue de modèles

Découvrez comment utiliser le catalogue de modèles Data Science.

Catalogue de modèles

Le catalogue de modèles est un référentiel centralisé et géré d'artefacts de modèle. Les modèles stockés dans le catalogue peuvent être partagés entre les membres d'une équipe et chargés dans une session de bloc-notes. Par exemple, les modèles du catalogue peuvent également être déployés en tant qu'adresses HTTP à l'aide d'un déploiement de modèle.

Une entrée de modèle dans le catalogue de modèles comporte deux composants :

  • Un artefact de modèle est une archive ZIP qui inclut l'objet de modèle enregistré. Un script Python fournit des instructions sur l'utilisation du modèle à des fins d'inférence (score.py) et un fichier documente l'environnement d'exécution du modèle (runtime.yaml). Vous pouvez obtenir des exemples d'artefact, de fichier score.py et de fichier runtime.yaml à partir de Github.

  • Des métadonnées sur la provenance du modèle, notamment les informations relatives à Git, ainsi que le script ou le bloc-notes utilisé pour propager le modèle vers le catalogue. Vous pouvez documenter la ressource dans laquelle le modèle a été entraîné (session de bloc-notes ou traitement de travail) et la référence Git au code source d'entraînement. Ces métadonnées sont automatiquement extraites de votre environnement de session de bloc-notes si vous enregistrez l'artefact de modèle avec ADS.

Les artefacts de modèle stockés dans le catalogue de modèles ne sont pas mutables dans leur conception. Toute modification à appliquer à un modèle requiert la création d'un autre modèle. Le caractère non mutable empêche les modifications indésirables et fait en sorte qu'un modèle en production permette de remonter jusqu'à l'artefact exact derrière les prédictions du modèle.

Important

La taille maximale des artefacts est de 100 Mo lorsqu'ils sont enregistrés à partir de la console. La limite de taille a été enlevée d'ADS, des kits SDK OCI et de l'interface de ligne de commande. Les grands modèles ont des limitations d'artefacts allant jusqu'à 400 Go.

Documentation des modèles

Vous pouvez utiliser les options ci-dessous pour documenter la façon dont vous avez entraîné le modèle, le cas d'emploi et les caractéristiques de prédiction nécessaires.

Remarque

ADS indique automatiquement en votre nom la provenance et la taxonomie lorsque vous enregistrez un modèle avec ADS.

Provenance

La provenance du modèle est une information qui vous aide à améliorer la reproductibilité et les possibilités d'audit du modèle. Vous pouvez documenter la ressource dans laquelle le modèle a été entraîné (session de bloc-notes ou traitement de travail) et la référence Git au code source d'entraînement. Ces paramètres sont automatiquement extraits lorsque vous enregistrez un modèle avec le kit SDK ADS.

Lorsque vous travaillez dans un référentiel Git, ADS peut obtenir des informations Git et remplir automatiquement les champs de métadonnées de provenance du modèle.

Taxonomie

La taxonomie permet de décrire le modèle que vous enregistrez dans le catalogue de modèles. Vous pouvez utiliser des champs prédéfinis pour documenter les éléments suivants :

  • Cas d'emploi de l'apprentissage automatique

  • Structure du modèle d'apprentissage automatique

  • Version

  • Objet d'estimateur

  • Hyperparamètres

  • Résultats de test de l'artefact

Vous pouvez également créer des métadonnées personnalisées.

Tests d'introspection de modèle

Dans le contexte des modèles d'apprentissage automatique, l'introspection est une série de tests et de vérifications exécutés sur un artefact de modèle pour tester tous les aspects de l'état opérationnel du modèle. Ces tests ciblent score.py et runtime.yaml afin de capturer certains problèmes et erreurs courants de l'artefact de modèle. Les résultats des tests d'introspection font partie des métadonnées de modèle prédéfinies. Si vous enregistrez le modèle à l'aide de la console, vous pouvez stocker les résultats de test au format JSON dans le champ Résultats de test de l'artefact lorsque vous sélectionnez Documenter la taxonomie de modèle. Si vous décidez d'enregistrer le modèle à l'aide du kit SDK Python OCI, utilisez la clé de métadonnées ArtifactTestResults.

Dans le cadre de notre modèle d'artefact de modèle, nous avons inclus un script Python qui contient une série de définitions de test d'introspection. Ces tests sont facultatifs et vous pouvez les exécuter avant d'enregistrer le modèle dans le catalogue de modèles. Vous pouvez ensuite enregistrer les résultats du test dans les métadonnées de modèle à afficher dans la console OCI.

Notre blog Data Science contient plus d'informations sur l'utilisation de l'introspection de modèle.

Schéma d'entrée et de sortie de modèle

La définition de schéma est une description des caractéristiques nécessaires à la réussite d'une prédiction de modèle. La définition de schéma est un contrat qui définit la charge utile d'entrée requise de la part des clients du modèle. Les définitions de schéma d'entrée et de sortie sont utilisées uniquement à des fins de documentation dans cette version du catalogue de modèles. Les schémas sont au format de fichier JSON.

Vous pouvez définir les deux schémas. Au minimum, un schéma d'entrée est nécessaire pour les prédictions de modèle.

Le schéma de sortie n'est pas toujours nécessaire. Par exemple, lorsque le modèle renvoie une valeur à virgule flottante, l'utilité de la définition d'un schéma pour une sortie aussi simple est moindre. Vous pouvez transmettre cette information dans la description du modèle.