Travaux
Les travaux Data Science permettent d'appliquer des tâches personnalisées à n'importe quel cas d'emploi : préparation des données, entraînement des modèles, réglage des hyperparamètres, inférence de batch, etc.
A l'aide des travaux, vous pouvez effectuer les opérations suivantes :
-
Exécuter des tâches d'apprentissage automatique ou de science des données en dehors des sessions de bloc-notes dans JupyterLab
-
Mettre en oeuvre des tâches discrètes de science des données et d'apprentissage automatique en tant qu'opérations exécutables réutilisables
-
Automatiser le pipeline MLOps ou d'intégration continue et de déploiement continu standard
-
exécuter des batches ou des charges de travail déclenchés par des événements ou des actions.
-
Regrouper des travaux par batch, mini batch ou batch distribué
-
Traiter les charges de travail par lots.
-
Utiliser votre propre conteneur
En règle générale, un projet d'apprentissage automatique et de science des données implique une série d'étapes :
-
Accès
-
Exploration
-
Préparation
-
Modélisation
-
Entraînement
-
Validation
-
Déploiement
-
Test
Une fois ces étapes terminées, vous pouvez automatiser le processus d'exploration des données, d'entraînement des modèles, de déploiement et de test à l'aide de travaux. En cas de modification spécifique dans la préparation des données ou l'entraînement des modèles, les ajustements des réglages des hyperparamètres peuvent être exécutés en tant que travail et testés indépendamment.
Les travaux sont constitués de deux parties : le travail et le traitement de travail.
- Travail
-
Un travail est un modèle qui décrit la tâche. Elle contient des éléments, tels que l'artefact de travail, qui ne sont pas mutables et qui ne peuvent pas être modifiés après son téléchargement vers un travail. En outre, le travail contient des informations sur les formes de calcul sur lesquelles le travail est exécuté, les options de journalisation, le stockage de blocs et d'autres options. Vous pouvez ajouter des variables d'environnement ou des arguments d'interface de ligne de commande aux travaux, uniques ou similaires pour tous les traitements futurs. Vous pouvez remplacer ces variables et arguments dans les traitements de travail.
Vous pouvez modifier la forme de calcul dans le travail et entre les traitements de travail. Par exemple, si vous voulez exécuter un traitement de travail sur une forme plus puissante, vous pouvez modifier la forme de calcul de travail, puis démarrer un nouveau traitement de travail.
Conseil
Vous n'avez pas besoin d'attendre la fin du traitement de travail pour modifier la forme.
- Traitement de travail
-
Le traitement de travail est le processeur de travail. Dans chaque traitement de travail, vous pouvez remplacer certaines options de configuration de travail, notamment les variables d'environnement et les arguments d'interface de ligne de commande. Le même travail peut comporter plusieurs traitements de travail lancés en séquence ou simultanément avec différents paramètres. Par exemple, vous pouvez tester les performances d'un même processus d'entraînement de modèle avec différents hyperparamètres.

Cycle de vie des travaux
Chaque étape du cycle de vie des travaux génère des événements que vous pouvez utiliser pour envoyer des notifications, déclencher des fonctions tierces ou même lancer un autre traitement de travail.
- Création de travaux
-
La création de travail correspond à la création d'une configuration de travail, notamment la spécification d'un artefact de travail. L'artefact de travail contient le code exécutable du travail. Cet artefact peut être Python, Bash/Shell, ou un fichier ZIP ou TAR compressé contenant un projet entier écrit en Python ou Java.
Vous indiquez également la forme de calcul pour l'exécution de l'artefact de travail, ainsi que le stockage de blocs et les fonctions de réseau. Vous avez la possibilité de sélectionner différentes formes d'UC et de GPU, et un stockage de blocs jusqu'à 1 To. L'option de journalisation permet de définir la création automatique de la journalisation pour chaque traitement de travail.
Les montages de stockage peuvent être utilisés comme suit :
- Stockez les journaux lors de l'entraînement du modèle accessibles depuis un autre emplacement.
- Stockez les points de contrôle pendant l'entraînement du modèle afin de pouvoir continuer à entraîner un modèle à partir du dernier point de contrôle et d'éviter de commencer l'entraînement dès le début.
- Stockage et lecture de données à partir d'un montage de système de fichiers commun afin de ne pas avoir à copier les données sur l'ordinateur exécutant le travail.
- Démarrage de traitements de travail
-
Il s'agit du processeur de travail. Le démarrage d'un traitement de travail permet de modifier certains paramètres configurés pour changer de cas d'emploi.
Le traitement de travail applique plusieurs opérations de cycle de vie. Pour un traitement de travail, le service Data Science gère le provisionnement de l'infrastructure, le traitement de l'artefact de travail et le dé-provisionnement de l'infrastructure une fois le traitement de l'artefact de travail terminé.
Un travail peut comporter plusieurs traitements de travail qui peuvent être lancés de manière séquentielle ou simultanée. Vous pouvez configurer une durée maximale pour le traitement de travail. Lorsqu'un traitement de travail reste en cours au-delà de la durée maximale configurée, le service Data Science l'annule automatiquement. Nous vous recommandons de configurer une durée d'exécution maximale pour tous les traitements de travail afin d'éviter les blocages.
Remarque
La limite supérieure de durée d'exécution maximale est de 30 jours pour un traitement de travail. Si cette valeur n'est pas configurée, la limite de 30 jours est toujours appliquée.
- Surveillance
-
Pendant le traitement de travail, vous pouvez surveiller le processus en activant la journalisation avec le service Logging. Les messages sont journalisés pour le traitement de travail et le fichier d'artefact de travail.
La surveillance vous aide à déboguer les erreurs potentielles et à surveiller les ressources utilisées.
- Fin
-
Un traitement de travail se termine avec la sortie du processus de code. Cela déclenche le cycle de vie final du traitement de travail, à savoir le déprovisionnement de l'infrastructure. L'infrastructure est également détruite lorsque vous annulez un traitement de travail.
Accès des travaux aux ressources cloud
Les travaux peuvent accéder à toutes les ressources OCI d'une location dès lors qu'une stratégie l'autorise. Vous pouvez exécuter des travaux sur les données dans ADW ou Object Storage. Vous pouvez également utiliser des coffres pour fournir un moyen d'authentification sécurisé auprès des ressources tierces. Les travaux peuvent accéder à des sources externes si vous avez configuré le réseau cloud virtuel approprié.
Accès aux traitements de travail
Les traitements de travail prennent en charge le kit SDK et l'API OCI. Vous pouvez exécuter des travaux à partir de tous les services tiers possibles, par exemple :
- Votre ordinateur client, un pipeline MLOps ou un pipeline d'intégration continue et de déploiement continu
- Des pipelines d'intégration continue et de déploiement continu GitHub ou Bitbucket
- Des services Oracle AI ou tiers
- Le service Events
Vous pouvez créer des travaux et démarrer des traitements de travail dans la console OCI. Vous pouvez également créer et exécuter des travaux avec les structures suivantes :
-
Python
-
Java
-
JavaScript
-
TypeScript
-
Go
-
Ruby
-
Interface de ligne de commande OCI
-
Terraform