Travaux
Les travaux du service de science des données permettent des tâches personnalisées que vous pouvez appliquer n'importe quel cas d'utilisation, comme la préparation des données, l'entraînement du modèle, le réglage des hyperparamètres, l'inférence par lots, etc.
À l'aide des travaux, vous pouvez :
-
Exécuter des tâches d'apprentissage automatique (ML) ou de science des données en dehors des sessions de carnet dans JupyterLab.
-
Exécuter des tâches discrètes de science des données et d'apprentissage automatique, telles que des opérations exécutables réutilisables.
-
Automatiser un pipeline MLOps ou d'intégration et de développement en continu standard.
-
Exécuter des lots ou des charges de travail déclenchés par des événements ou des actions.
-
Générer une inférence par lots, mini-lots ou lots distribués.
-
traitement des charges de travail par lots;
-
Utiliser votre propre conteneur.
En général, un projet d'apprentissage automatique et de science des données comprend une série d'étapes, notamment :
-
Accéder
-
Explorer
-
Préparer
-
Modéliser
-
Entraîner
-
Valider
-
Déployer
-
Tester
Une fois les étapes terminées, vous pouvez automatiser le processus d'exploration de données, d'entraînement de modèle, de déploiement et de test à l'aide de travaux. Pour une seule modification apportée à la préparation des données ou à l'entraînement du modèle, les expériences avec des réglages d'hyperparamètres peuvent être exécutées en tant que travail et testées indépendamment.
Les travaux comportent deux parties, un travail et une exécution de travail :
- Travail
-
Un travail est un modèle qui décrit la tâche. Il contient des éléments tels que l'artefact de travail qui n'est pas mutable et qui ne peut pas être modifié après son chargement dans un travail. En outre, le travail contient des informations sur les formes de calcul sur lesquelles la tâche s'exécute, les options de journalisation, le stockage par blocs et d'autres options. Vous pouvez ajouter des variables d'environnement ou des arguments d'interface de ligne de commande à des travaux pour les rendre uniques ou similaires lors des exécutions à venir. Vous pouvez remplacer ces variables et arguments dans les exécutions de travail.
Vous pouvez modifier la forme de calcul dans le travail et entre les exécutions de celui-ci. Par exemple, si vous voulez exécuter un travail sur une forme plus puissante, vous pouvez modifier sa forme de calcul, puis lancer une nouvelle exécution.
Conseil
Vous n'avez pas besoin d'attendre la fin de l'exécution du travail pour modifier la forme.
- Exécution de travail
-
Une exécution de travail est le processeur de travail réel. Dans chaque exécution de travail, vous pouvez remplacer certaines options de configuration du travail, et plus important encore, les variables d'environnement et les arguments de l'interface de ligne de commande. Vous pouvez effectuer plusieurs exécutions d'un même travail séquentiellement ou simultanément avec des paramètres différents. Par exemple, vous pouvez tester la performance du même processus d'entraînement de modèle en indiquant des hyperparamètres différents.

Cycle de vie des travaux
Chaque étape du cycle de vie du travail déclenche des événements que vous pouvez utiliser pour envoyer des avis, lancer des fonctions tierces ou même des exécutions d'un autre travail.
- Création de travaux
-
La création d'un travail comprend la spécification d'un fichier d'artefact de travail. L'artefact de travail contient le code exécutable du travail. This artifact can be Python, Bash/Shell, or a zip or compressed tar file containing an entire project written in Python or Java.
Vous spécifiez également la forme de calcul pour exécuter l'artefact de travail, ainsi que les services de stockage par blocs et de réseau. Vous avez la possibilité de sélectionner diverses formes d'UC et de GPU, et un stockage par blocs allant jusqu'à 1 To. L'option de journalisation vous permet de définir la création automatique des journaux pour chaque exécution de travail.
Les supports de stockage peuvent être utilisés comme suit :
- Stocker les journaux lors de l'entraînement du modèle, accessibles depuis un autre emplacement.
- Stockez les points de reprise pendant l'entraînement du modèle afin que vous puissiez continuer à entraîner un modèle à partir du dernier point de reprise et éviter de commencer l'entraînement depuis le début.
- Stockage et lecture de données à partir du montage commun du système de fichiers afin que vous n'ayez pas à copier les données sur l'ordinateur exécutant le travail.
- Démarrage d'exécutions de travail
-
Il s'agit du processeur de travail. Le démarrage d'une exécution de travail vous permet de modifier certains paramètres configurés pour changer de cas d'utilisation.
L'exécution de travail utilise plusieurs opérations de cycle de vie. Pour une exécution de travail, le service Science des données gère le provisionnement de l'infrastructure, l'exécution de l'artefact de travail et le déprovisionnement de l'infrastructure lorsque l'exécution de l'artefact de travail est terminée.
Un travail peut comporter plusieurs exécutions qui peuvent être exécutées séquentiellement ou simultanément. Vous pouvez configurer un délai d'exécution maximal pour l'exécution de travail. Lorsqu'une exécution de travail se poursuit au-delà du délai maximal configuré, le service Science des données l'annule automatiquement. Nous vous recommandons de configurer un délai maximal afin d'éviter les exécutions de travail incontrôlées.
Note
La limite supérieure du délai maximal est de 30 jours pour une exécution de travail. Si cette valeur n'est pas configurée, la limite de 30 jours est toujours appliquée.
- Surveillance
-
Lors de l'exécution de travail, vous pouvez surveiller le processus en activant la journalisation avec le service Journalisation. Les messages sont enregistrés pour l'exécution de travail et le fichier d'artefact de travail.
La surveillance vous aide à déboguer les erreurs potentielles et à contrôler les ressources utilisées.
- Fin
-
Une exécution de travail se termine par la sortie du processus de code. Elle déclenche le cycle de vie final de l'exécution de travail, c'est-à-dire le déprovisionnement de l'infrastructure. L'infrastructure est également détruite lorsque vous annulez une exécution de travail.
Accès des travaux aux ressources en nuage
Les travaux peuvent accéder à toutes les ressources OCI d'une location, à condition qu'une politique l'y autorise. Vous pouvez exécuter des travaux sur des données dans ADW ou dans le service de stockage d'objets. Vous pouvez également utiliser des chambres fortes pour fournir un moyen d'authentification sécurisé auprès de ressources tierces. Les travaux peuvent accéder à des sources externes si vous avez configuré le VCN approprié.
Accès aux exécutions de travail
Les exécutions de travail prennent en charge la trousse SDK et l'API OCI. Vous pouvez exécuter des travaux à partir de tous les services tiers externes possibles, par exemple :
- Votre machine client, un pipeline MLOps ou d'intégration et de développement en continu.
- Pipelines d'intégration et de développement en continu GitHub ou Bitbucket.
- Services Oracle AI ou tiers.
- Service d'événements.
Vous pouvez créer des travaux et lancer des exécutions de travail dans la console OCI. Vous pouvez également créer et exécuter des travaux avec :
-
Python
-
Java
-
JavaScript
-
TypeScript
-
Go
-
Ruby
-
L'interface de ligne de commande OCI
-
Terraform