Implementer og brug en multi-framework dyb læringsplatform på Kubernetes

Kildeknude: 1580762

Beskrivelse

Som en deep learning practitioner ønsker du pålidelighed og skalerbarhed, mens du orkestrerer dine træningsjob. Derudover vil du gerne gøre dette på en ensartet måde på tværs af flere biblioteker. Med Fabric for Deep Learning (FfDL) på Kubernetes kan du opnå dette ved at give brugerne mulighed for at udnytte deep learning-biblioteker såsom Caffe, Torch og TensorFlow i skyen på en robust måde med minimal indsats. Platformen bruger et distributions- og orkestreringslag, der letter læring fra en stor mængde data på en rimelig tid på tværs af compute noder. Et ressourceforsyningslag muliggør fleksibel jobstyring på heterogene ressourcer, såsom grafikbehandlingsenheder (GPU'er) og centrale behandlingsenheder (CPU'er), i en IaaS-sky (infrastruktur som en tjeneste).

Oversigt

Træning af dybe neurale netværk, kendt som deep learning (en del af maskinlæringsmetoder), er yderst kompleks og beregningsintensiv. En typisk bruger af deep learning bliver unødigt udsat for detaljerne i den underliggende hardware- og softwareinfrastruktur, herunder konfiguration af dyre GPU-maskiner, installation af deep learning-biblioteker og håndtering af jobs under udførelse for at håndtere fejl og gendannelse. På trods af, at det er nemt at få hardware fra IaaS-skyer og betale pr. time, skal brugeren stadig administrere disse maskiner, installere nødvendige biblioteker og sikre robusthed i deep learning-træningsjob.

Det er her muligheden for deep learning som en service ligger. I dette kodemønster viser vi dig, hvordan du implementerer en deep learning Fabric på Kubernetes. Ved at bruge cloud-native arkitektoniske artefakter som Kubernetes, mikrotjenester, Helm-diagrammer og objektlagring viser vi dig, hvordan du implementerer og bruger en dyb læringsstof. Dette stof spænder over flere deep learning-motorer som TensorFlow, Caffe og PyTorch. Den kombinerer fleksibiliteten, brugervenligheden og økonomien ved en cloud-tjeneste med kraften ved dyb læring. Du vil finde det nemt at bruge, og ved at bruge REST API'er kan du tilpasse træningen med forskellige ressourcer efter brugerkrav eller budget. Tillad brugerne at fokusere på dyb læring og applikationerne i stedet for at fokusere på fejl.

Flow

flow

  1. FfDL-deployeren implementerer FfDL-kodebasen til en Kubernetes-klynge. Kubernetes-klyngen er konfigureret til brugte GPU'er, CPU'er eller begge dele og har adgang til S3-kompatibel objektlager. Hvis det ikke er angivet, oprettes en lokalt simuleret S3-pod.
  2. Når de er implementeret, uploader dataforskeren modeltræningsdataene til det S3-kompatible objektlager. FfDL antager, at dataene allerede er i det påkrævede format som foreskrevet af forskellige deep learning-rammer.
  3. Brugeren opretter en FfDL Model-manifestfil. Manifestfilen indeholder forskellige felter, der beskriver modellen i FfDL, dens objektlagerinformation, dens ressourcekrav og adskillige argumenter (inklusive hyperparametre), der kræves til modeludførelse under træning og test. Brugeren interagerer derefter med FfDL ved at bruge CLI/SDK eller UI til at implementere FfDL-modelmanifestfilen med en modeldefinitionsfil. Brugeren starter træningsjobbet og overvåger dets fremskridt.
  4. Brugeren downloader den trænede model og tilhørende logfiler, når træningsjobbet er fuldført.

Instruktioner

Find de detaljerede trin til dette mønster i README. Trinene viser dig, hvordan du:

  1. Kompiler og kode og byg Docker-billeder.
  2. Installer FfDL-komponenterne med rorinstallation.
  3. Kør et script for at konfigurere Grafana til overvågning af FfDL.
  4. Få dine Grafana, FfDL Web UI og FfDL REST API-endepunkter.
  5. Kør nogle enkle opgaver for at træne en konvolutionerende netværksmodel ved at bruge TensorFlow og Caffe.

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

Tidsstempel:

Mere fra IBM-udvikler