Implementeer en gebruik een multi-framework deep learning-platform op Kubernetes

Bronknooppunt: 1580762

Omschrijving

Als deep learning-professional wilt u betrouwbaarheid en schaalbaarheid terwijl u uw trainingstaken orkestreert. Bovendien wilt u dit op een consistente manier doen in meerdere bibliotheken. Met Fabric for Deep Learning (FfDL) op Kubernetes kunt u dit bereiken door gebruikers de mogelijkheid te geven om op een veerkrachtige manier en met minimale inspanning gebruik te maken van deep learning-bibliotheken zoals Caffe, Torch en TensorFlow in de cloud. Het platform maakt gebruik van een distributie- en orkestratielaag die het leren van een grote hoeveelheid gegevens in een redelijke tijd tussen rekenknooppunten mogelijk maakt. Een resource provisioning-laag maakt flexibel taakbeheer mogelijk op heterogene bronnen, zoals grafische verwerkingseenheden (GPU's) en centrale verwerkingseenheden (CPU's), in een Infrastructure as a Service (IaaS)-cloud.

Overzicht

Het trainen van diepe neurale netwerken, bekend als deep learning (onderdeel van machine learning-methoden), is zeer complex en rekenintensief. Een typische gebruiker van deep learning wordt onnodig blootgesteld aan de details van de onderliggende hardware- en software-infrastructuur, waaronder het configureren van dure GPU-machines, het installeren van deep learning-bibliotheken en het beheren van de taken tijdens de uitvoering om fouten en herstel af te handelen. Ondanks het gemak waarmee hardware uit IaaS-clouds kan worden verkregen en per uur kan worden betaald, moet de gebruiker deze machines nog steeds beheren, de vereiste bibliotheken installeren en de veerkracht van de deep learning-trainingstaken garanderen.

Dit is waar de kans ligt op deep learning as a service. In dit codepatroon laten we u zien hoe u een deep learning Fabric op Kubernetes implementeert. Door gebruik te maken van cloud-native architecturale artefacten zoals Kubernetes, microservices, Helm-grafieken en objectopslag, laten we u zien hoe u een deep learning Fabric kunt implementeren en gebruiken. Deze Fabric omvat meerdere deep learning-engines zoals TensorFlow, Caffe en PyTorch. Het combineert de flexibiliteit, het gebruiksgemak en de economische voordelen van een cloudservice met de kracht van deep learning. U zult het gemakkelijk te gebruiken vinden en door REST API's te gebruiken, kunt u de training aanpassen met verschillende bronnen per gebruikersvereisten of budget. Zorg ervoor dat gebruikers zich kunnen concentreren op deep learning en de applicaties in plaats van zich te concentreren op fouten.

Stroom

stroom

  1. De FfDL-implementer implementeert de FfDL-codebasis naar een Kubernetes-cluster. Het Kubernetes-cluster is geconfigureerd voor gebruikte GPU's, CPU's of beide, en heeft toegang tot S3-compatibele objectopslag. Als dit niet is opgegeven, wordt er een lokaal gesimuleerde S3-pod gemaakt.
  2. Eenmaal geïmplementeerd, uploadt de datawetenschapper de modeltrainingsgegevens naar de S3-compatibele objectopslag. FfDL gaat ervan uit dat de gegevens al in het vereiste formaat zijn zoals voorgeschreven door verschillende deep learning-frameworks.
  3. De gebruiker maakt een FfDL-modelmanifestbestand. Het manifestbestand bevat verschillende velden die het model in FfDL beschrijven, de objectopslaginformatie, de resourcevereisten en verschillende argumenten (inclusief hyperparameters) die vereist zijn voor de uitvoering van het model tijdens training en testen. De gebruiker communiceert vervolgens met FfDL door CLI/SDK of UI te gebruiken om het FfDL-modelmanifestbestand met een modeldefinitiebestand te implementeren. De gebruiker start de trainingstaak en bewaakt de voortgang ervan.
  4. De gebruiker downloadt het getrainde model en de bijbehorende logboeken zodra de trainingstaak is voltooid.

Instructies

Vind de gedetailleerde stappen voor dit patroon in de README. De stappen laten zien hoe u:

  1. Compileer, codeer en bouw Docker-images.
  2. Installeer de FfDL-componenten met roerinstallatie.
  3. Voer een script uit om Grafana te configureren voor het monitoren van FfDL.
  4. Verkrijg uw Grafana-, FfDL Web UI- en FfDL REST API-eindpunten.
  5. Voer enkele eenvoudige taken uit om een ​​convolutioneel netwerkmodel te trainen met behulp van TensorFlow en Caffe.

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

Tijdstempel:

Meer van IBM-ontwikkelaar