ai-center
2020.10
false
UiPath logo, featuring letters U and I in white
AI Center
Automation CloudAutomation SuiteStandalone
Last updated 6 juin 2024

Pipelines d'entraînement

Un pipeline d'entraînement est utilisé pour former un nouveau modèle d'apprentissage automatique. Pour utiliser ce pipeline, le package doit contenir du code pour entraîner un modèle (la fonction train() dans le fichier train.py) et du code pour conserver un modèle nouvellement entraîné (la fonction save() dans le fichier train.py). Ceux-ci, avec un ensemble de données ou un sous-dossier dans un ensemble de données, produisent une nouvelle version de package.

Création de pipelines de formation

Créez un nouveau pipeline d'entraînement comme décrit ici. Assurez-vous de fournir les informations spécifiques au pipeline d'entraînement suivantes :

  • Dans le champ Type de pipeline (Pipeline type), sélectionnez Exécution de pipeline d'entraînement (Training run).
  • Dans le champ Choisir un ensemble de données d'entrée (Choose input dataset), sélectionnez un ensemble de données ou un dossier à partir duquel vous souhaitez importer des données pour l'entraînement. Tous les fichiers de cet ensemble de données/dossier doivent être disponibles localement pendant le runtime du pipeline, étant transmis au premier argument de votre fonction train() (c'est-à-dire que le chemin d'accès vers les données montées sera transmis à la variable data_directory dans la définition train(self, data_directory)).
  • Dans la section Entrer les paramètres (Enter parameters), entrez toutes les variables d'environnement définies et utilisées par votre pipeline, le cas échéant. Les variables d'environnement définies par défaut sont :
    • artifacts_directory, avec des artefacts de valeur par défaut : cela définit le chemin d'accès à un répertoire conservé en tant que données auxiliaires liées à ce pipeline. La plupart des utilisateurs, voire la totalité, n'ont jamais besoin de le remplacer via l'interface utilisateur. Tout peut être enregistré pendant l'exécution du pipeline, y compris les images, les fichiers PDF et les sous-dossiers. Plus précisément, toutes les données que votre code écrit dans le répertoire spécifié par le chemin os.environ['artifacts_directory'] sont téléchargées à la fin de l'exécution du pipeline et seront visibles à partir de la page Détails du pipeline (Pipeline details).
    • save_training_data, avec la valeur par défaut false : s'il est défini sur true, le dossier choisi dans Choose input dataset sera téléchargé à la fin de l'exécution du pipeline en tant que sortie du pipeline sous le répertoire data_directory.

      Regardez la vidéo suivante pour découvrir comment créer un pipeline d'entraînement :



Résultats d'une exécution d'un pipeline d'entraînement

Remarque : l'exécution du pipeline peut prendre un certain temps. Revenez-y après un certain temps pour voir son état.

Une fois le pipeline exécuté, une nouvelle version mineure du package est disponible et affichée sur la page Paquets ML (ML Packages) > [Nom du package]. Dans notre exemple, il s'agit du package version 1.1.

Dans la page Pipelines, l'état du pipeline est passé à Réussi (Successful). La page Détails du pipeline (Pipeline Details) affiche les fichiers et dossiers arbitraires liés à l'exécution du pipeline. Dans notre exemple, l'exécution a créé un fichier appelé my-training-artifact.txt.


Analogie conceptuelle pour construire vos propres pipelines d'entraînement

Voici une exécution conceptuellement analogue d'un pipeline d'entraînement sur un package, par exemple la version 1.0.

Attention : ceci est un exemple simplifié. Son objectif est d'illustrer comment les ensembles de données et les packages interagissent dans un pipeline d'entraînement. Les étapes sont simplement conceptuelles et ne représentent pas le fonctionnement de la plate-forme.
  1. Copiez la version 1.0 du package dans ~/mlpackage.
  2. Copiez l'ensemble de données d'entrée ou le sous-dossier de l'ensemble de données sélectionné dans l'interface utilisateur vers ~/mlpackage/data.
  3. Exécutez le code python suivant :
    from train import Main 
    m = Main() 
    m.train(./data’) 
    m.save()from train import Main 
    m = Main() 
    m.train(‘./data’) 
    m.save()
  4. Conservez le contenu de ~/mlpackage tant que package version 1.1. Conservez les artefacts s'ils sont écrits, les données d'instantané si save_data est défini sur true.

Sorties du pipeline

Le fichier _results.json contient un résumé de l'exécution du pipeline, exposant toutes les entrées/sorties et les temps d'exécution pour un pipeline d'entraînement.
{
    "parameters": {
        "pipeline": "< Pipeline_name >",
        "inputs": {
            "package": "<Package_name>",
            "version": "<version_number>",
            "train_data": "<storage_directory>",
            "gpu": "True/False"
        },
        "env": {
            "key": "value",
            ...
        }
    },
    "run_summary": {
     "execution_time": <time>, #in seconds 
     "start_at": <timestamp>, #in seconds 
     "end_at": <timestamp>, #in seconds 
     "outputs": {
        "train_data": "<test_storage_directory>", 
        "artifacts_data": "<artifacts_storage_directory>", 
        "package": "<Package_name>",
        "version": "<new_version>"
            }
    }
}{
    "parameters": {
        "pipeline": "< Pipeline_name >",
        "inputs": {
            "package": "<Package_name>",
            "version": "<version_number>",
            "train_data": "<storage_directory>",
            "gpu": "True/False"
        },
        "env": {
            "key": "value",
            ...
        }
    },
    "run_summary": {
     "execution_time": <time>, #in seconds 
     "start_at": <timestamp>, #in seconds 
     "end_at": <timestamp>, #in seconds 
     "outputs": {
        "train_data": "<test_storage_directory>", 
        "artifacts_data": "<artifacts_storage_directory>", 
        "package": "<Package_name>",
        "version": "<new_version>"
            }
    }
}

Le fichier zip du paquet ML est la nouvelle version du package générée automatiquement par le pipeline d'entraînement.

Le dossier Artifacts, visible uniquement s'il n'est pas vide, est un dossier regroupant tous les artefacts générés par le pipeline, et il est enregistré sous le dossier artifacts_directory.
Le dossier Ensemble de données (Dataset), existant uniquement si save_data a été défini sur la valeur true par défaut, est une copie du dossier de l'ensemble de données d'entrée.

Gouvernance du modèle

La gouvernance dans l'apprentissage automatique est quelque chose dont très peu d'entreprises sont équipées pour gérer. En permettant à chaque modèle de prendre un instantané des données sur lesquelles il a été formé, AI Fabric permet aux entreprises d'avoir une traçabilité des données.

En pratique, vous pouvez obtenir un instantané des données d'entrée si vous transférez le paramètre save_training_data = true, qui prend un instantané des données transmises en tant qu'entrées. Par la suite, un utilisateur peut toujours accéder à la page Détails du pipeline (Pipeline Details) correspondante pour voir exactement quelles données ont été utilisées au moment de la formation.

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.