Déployer et utiliser une plateforme d'apprentissage en profondeur multi-framework sur Kubernetes

Nœud source: 1580762

Description

En tant que praticien du deep learning, vous recherchez fiabilité et évolutivité tout en orchestrant vos tâches de formation. De plus, vous souhaiteriez le faire de manière cohérente dans plusieurs bibliothèques. Avec Fabric for Deep Learning (FfDL) sur Kubernetes, vous pouvez y parvenir en donnant aux utilisateurs la possibilité d'exploiter des bibliothèques d'apprentissage profond telles que Caffe, Torch et TensorFlow dans le cloud de manière résiliente et avec un minimum d'effort. La plateforme utilise une couche de distribution et d'orchestration qui facilite l'apprentissage à partir d'une grande quantité de données dans un laps de temps raisonnable sur les nœuds de calcul. Une couche de provisionnement des ressources permet une gestion flexible des tâches sur des ressources hétérogènes, telles que des unités de traitement graphique (GPU) et des unités centrales de traitement (CPU), dans un cloud d'infrastructure en tant que service (IaaS).

Vue d’ensemble

La formation de réseaux neuronaux profonds, connue sous le nom d’apprentissage profond (qui fait partie des méthodes d’apprentissage automatique), est très complexe et nécessite beaucoup de calculs. Un utilisateur typique du deep learning est inutilement exposé aux détails de l'infrastructure matérielle et logicielle sous-jacente, notamment à la configuration de machines GPU coûteuses, à l'installation de bibliothèques de deep learning et à la gestion des tâches pendant l'exécution pour gérer les pannes et la récupération. Malgré la facilité d'obtenir du matériel à partir des cloud IaaS et de payer à l'heure, l'utilisateur doit toujours gérer ces machines, installer les bibliothèques requises et garantir la résilience des tâches de formation en deep learning.

C’est là que réside l’opportunité du deep learning en tant que service. Dans ce modèle de code, nous vous montrons comment déployer une structure de deep learning sur Kubernetes. En utilisant des artefacts architecturaux natifs du cloud tels que Kubernetes, des microservices, des graphiques Helm et le stockage d'objets, nous vous montrons comment déployer et utiliser une structure d'apprentissage en profondeur. Ce Fabric s'étend sur plusieurs moteurs d'apprentissage profond tels que TensorFlow, Caffe et PyTorch. Il combine la flexibilité, la facilité d'utilisation et la rentabilité d'un service cloud avec la puissance du deep learning. Vous le trouverez facile à utiliser et en utilisant les API REST, vous pouvez personnaliser la formation avec différentes ressources en fonction des besoins de l'utilisateur ou du budget. Permettez aux utilisateurs de se concentrer sur l’apprentissage profond et les applications au lieu de se concentrer sur les défauts.

Flow

flux

  1. Le déployeur FfDL déploie la base de code FfDL sur un cluster Kubernetes. Le cluster Kubernetes est configuré pour utiliser des GPU, des CPU ou les deux, et a accès au stockage d'objets compatible S3. S’il n’est pas spécifié, un pod S3 simulé localement est créé.
  2. Une fois déployé, le data scientist télécharge les données de formation du modèle dans le magasin d'objets compatible S3. FfDL suppose que les données sont déjà dans le format requis, tel que prescrit par différents cadres d'apprentissage en profondeur.
  3. L'utilisateur crée un fichier manifeste de modèle FfDL. Le fichier manifeste contient différents champs qui décrivent le modèle dans FfDL, ses informations de stockage d'objets, ses besoins en ressources et plusieurs arguments (y compris des hyperparamètres) requis pour l'exécution du modèle pendant la formation et les tests. L'utilisateur interagit ensuite avec FfDL à l'aide de CLI/SDK ou d'une interface utilisateur pour déployer le fichier manifeste du modèle FfDL avec un fichier de définition de modèle. L'utilisateur lance la tâche de formation et suit sa progression.
  4. L'utilisateur télécharge le modèle entraîné et les journaux associés une fois la tâche de formation terminée.

Instructions

Retrouvez les étapes détaillées de ce modèle dans le README. Les étapes vous montreront comment :

  1. Compilez, codez et créez des images Docker.
  2. Installez les composants FfDL avec helm install.
  3. Exécutez un script pour configurer Grafana pour la surveillance de FfDL.
  4. Obtenez vos points de terminaison Grafana, FfDL Web UI et FfDL REST API.
  5. Exécutez quelques tâches simples pour entraîner un modèle de réseau convolutif à l'aide de TensorFlow et de Caffe.

Source : https://developer.ibm.com/patterns/deploy-and-use-a-multi-framework-deep-learning-platform-on-kubernetes/

Horodatage:

Plus de Développeur IBM