Entraînement de réseaux neuronaux à l'aide du générateur d'expériences d'apprentissage profond

Cette rubrique explique comment entraîner un réseau neuronal à l'aide du générateur d'expériences d' Watson Studio.

En tant que data scientist, vous devez entraîner des milliers de modèles afin d'identifier la bonne combinaison de données et d'hyperparamètres pour optimiser les performances de vos réseaux neuronaux. Vous souhaitez mener davantage d'expériences et le faire plus rapidement. Vous souhaitez entraîner des réseaux neuronaux plus profonds et explorer des espaces d'hyperparamètres plus complexes. IBM Watson Machine Learning accélère ce cycle itératif en simplifiant le processus de formation des modèles en parallèle grâce à des conteneurs de calcul GPU à allocation automatique.

Pour tester vous-même le générateur d'expériences d'apprentissage profond, suivez les étapes déc rites dans ce tutoriel afin de créer et d'exécuter une expérience permettant de prédire des chiffres manuscrits.

Présentation de l'expérience sur l'apprentissage profond

Service requis

Format des données
Watson Machine Learning, Watson Studio, IBM Software Hub service de prise de rendez-vous
Tous
Taille des données
Toute taille

Conditions préalables à la création d'expériences d'apprentissage profond

Voici les éléments nécessaires à la création d'expériences :

  • Accès à l'espace de stockage que votre administrateur a établi et connaître le chemin dans lequel vous pouvez télécharger des fichiers d'entraînement ou accéder aux actifs de données ou aux connexions.
  • Une définition de modèle qui contient du code de génération de modèle et des métadonnées sur la façon d'exécuter l'entraînement.
  • Un espace de déploiement n'est pas nécessaire pour créer une expérimentation d'apprentissage en profondeur, mais il est requis pour le déploiement du modèle.

Créer une nouvelle expérience d'apprentissage profond

  1. Ouvrez un projet.
  2. Cliquez sur Nouvel actif et choisissez Créer des expériences d'apprentissage profond.

Définition des détails d'une expérience d'apprentissage profond

  1. Définissez le nom de l'expérimentation et une description facultative.
  2. Indiquez l'emplacement de vos données d'apprentissage à l'aide de l'une des options suivantes:
    • Volume de stockage: à utiliser si des données d'entraînement sont disponibles sur un volume de stockage monté. Notez qu'il existe un problème connu où, pour monter des volumes de stockage sélectionnés, vous devez laisser la zone de chemin de dossier relatif au fichier de données d'entraînement vide et vous devez sélectionner des données à partir d'un actif de données ou d'une connexion, même si vous n'en avez pas besoin pour l'entraînement.
    • Sélectionner des données: à utiliser en cas de lecture ou de téléchargement de données d'entraînement à partir d'un actif de données ou d'une connexion.
  3. Si vous utilisez un actif de données ou une connexion, pour une source de données de type fichier, vous pouvez choisir de la télécharger à plusieurs emplacements:
    • Formation des employés au stockage local
    • Formation à l'utilisation du stockage partagé
    • Volume de stockage, si vous avez sélectionné un volume de stockage
  4. Associez une définition de modèle. Pour plus de détails, voir Association de définitions de modèle.
  5. Cliquez sur Créer et exécuter pour créer la définition de modèle et exécuter l'expérimentation.

Association des définitions de modèles

Vous devez associer une ou plusieurs définitions de modèle à cette expérience. Vous pouvez associer plusieurs définitions de modèle dans le cadre de la réalisation d'une expérience. Les définitions de modèle peuvent être un mélange de définitions existantes et de définitions que vous créez au cours du processus.

  1. Cliquez sur « Ajouter une définition de modèle ».
  2. Choisissez si vous souhaitez créer une nouvelle définition de modèle ou utiliser une définition de modèle existante.
  3. Vous pouvez éventuellement choisir d'utiliser une commande d'exécution globale qui remplacera les valeurs de définition de modèle. Si cette option est sélectionnée, dans la zone Commande d'exécution globale , entrez la commande d'exécution qui peut être utilisée pour exécuter le code Python . La commande d'exécution doit faire référence au code Python et peut, si vous le souhaitez, passer le nom des fichiers d'entraînement si c'est ainsi que votre expérience est structurée. Par exemple :
    convolutional_network.py --trainImagesFile train-images-idx3-ubyte.gz --trainLabelsFile train-labels-idx1-ubyte.gz --testImagesFile t10k-images-idx3-ubyte.gz --testLabelsFile t10k-labels-idx1-ubyte.gz --learningRate 0.001 --trainingIters 6000
    

Création d'une définition de modèle

  1. Saisissez un nom unique et une description.
  2. Téléchargez un fichier .zip d'entraînement de modèle contenant le code Python que vous avez configuré pour indiquer les métriques à utiliser pour les exécutions d'entraînement. Pour plus de détails sur l'accès aux données d'entraînement dans le script d'entraînement, voir Accès aux données dans vos scripts de modèle à l'aide de variables d'environnement.
  3. Définissez la commande d'exécution. Cette commande s'exécute lorsque le modèle est créé.
  4. Indiquez les attributs à utiliser lors de l'expérimentation.
    1. Dans la liste « Framework », sélectionnez le framework approprié. Cela doit être compatible avec le code que vous utilisez dans le fichier ` Python `.
    2. Dans la zone « Type de ressource », sélectionnez « CPU » ou « GPU ».
    3. Dans la zone Hardware specification , choisissez le nombre et la taille des unités centrales et des processeurs graphiques alloués pour l'exécution de l'expérimentation.
      • Effectuez une sélection dans la liste des spécifications logicielles prédéfinies.
      • Créez une spécification matérielle personnalisée. Pour l'entraînement de l'UC, définissez le nombre d'unités d'UC et la taille de la mémoire. Pour la formation GPU, définissez le nombre de ressources GPU par noeud worker. Si vous avez besoin de plus de 4 ressources GPU par agent, utilisez une commande d'exécution globale. Définissez le type de ressource GPU sur: Slice, Generic, Full. Sélectionnez un type MIG. Remarque : si vous avez configuré un seul MIG sur vos nœuds GPU, sélectionnez « Slice » comme type de ressource et « N/A » comme type de MIG.
    4. Dans la zone Type d'entraînement , sélectionnez le type d'entraînement.
      • Si des unités centrales sont sélectionnées, un noeud unique et plusieurs noeuds sont disponibles.
      • Si des processeurs graphiques sont sélectionnés, des noeuds uniques, des noeuds multiples et des noeuds élastiques sont disponibles.
  5. Cliquez sur Créer pour créer la définition de modèle.

Sélection d'une définition de modèle existante

  1. Sélectionnez une définition de modèle existante et sélectionnez les attributs utilisés lors de l'expérimentation.
  2. Dans la liste « Framework », sélectionnez le framework approprié. Cela doit être compatible avec le code que vous utilisez dans le fichier ` Python `.
  3. Dans la zone « Type de ressource », sélectionnez « CPU » ou « GPU ».
  4. Dans la zone Hardware specification , choisissez le nombre et la taille des unités centrales et des processeurs graphiques alloués pour l'exécution de l'expérimentation.
    • Effectuez une sélection dans la liste des spécifications logicielles prédéfinies.
    • Créez une spécification matérielle personnalisée. Pour l'entraînement de l'UC, définissez le nombre d'unités d'UC et la taille de la mémoire. Pour la formation GPU, définissez le nombre de ressources GPU par noeud worker. Si vous avez besoin de plus de 4 ressources GPU par agent, utilisez une commande d'exécution globale. Définissez le type de ressource GPU sur: Slice, Generic, Full. Sélectionnez un type MIG.
  5. Dans la zone Type d'entraînement , sélectionnez le type d'entraînement.
    • Si des unités centrales sont sélectionnées, un noeud unique et plusieurs noeuds sont disponibles.
    • Si des processeurs graphiques sont sélectionnés, des noeuds uniques, des noeuds multiples et des noeuds élastiques sont disponibles.
  6. Cliquez sur Sélectionner pour créer la définition de modèle et exécuter l'expérimentation.

Accès aux données de vos scripts de modèle à l'aide de variables d'environnement

  • Si vous choisissez de télécharger les données d'entraînement à partir de la connexion de données, la variable d'environnement WMLA_USER_DATA_FILES pointe vers l'endroit où le fichier de données d'entraînement est téléchargé, ou de lire directement à partir de la connexion de données en ajoutant le code ci-dessous dans les fichiers de modèle.
    from ibm_wmla_lib.data.data_manager import WMLADataManager
    pandas_data_frames = WMLADataManager.create_from_data_source().read_pandas()
    
  • La variable d'environnement DATA_DIR correspond au chemin d'accès absolu vers lequel les données d'entraînement ont été téléchargées dans le PVC « Watson Machine Learning ».