Distribuer og bruk en dyp læringsplattform med flere rammer på Kubernetes

Kilde node: 1580762

Beskrivelse

Som en dyplæringsutøver ønsker du pålitelighet og skalerbarhet mens du orkestrerer treningsjobbene dine. I tillegg ønsker du å gjøre dette på en konsistent måte på tvers av flere biblioteker. Med Fabric for Deep Learning (FfDL) på Kubernetes kan du oppnå dette ved å gi brukerne muligheten til å utnytte dyplæringsbiblioteker som Caffe, Torch og TensorFlow i skyen på en spenstig måte med minimal innsats. Plattformen bruker et distribusjons- og orkestreringslag som letter læring fra en stor mengde data på en rimelig tid på tvers av datanoder. Et ressursforsyningslag muliggjør fleksibel jobbadministrasjon på heterogene ressurser, for eksempel grafikkbehandlingsenheter (GPUer) og sentrale prosesseringsenheter (CPUer), i en sky for infrastruktur som en tjeneste (IaaS).

Oversikt

Trening av dype nevrale nettverk, kjent som dyp læring (en del av maskinlæringsmetoder), er svært komplekst og beregningsintensivt. En typisk bruker av dyp læring blir unødvendig utsatt for detaljene i den underliggende maskinvare- og programvareinfrastrukturen, inkludert konfigurering av dyre GPU-maskiner, installering av dyplæringsbiblioteker og administrasjon av jobbene under utførelse for å håndtere feil og gjenoppretting. Til tross for at det er enkelt å skaffe maskinvare fra IaaS-skyer og betale per time, må brukeren fortsatt administrere disse maskinene, installere nødvendige biblioteker og sørge for robusthet i deep learning-opplæringsjobbene.

Det er her muligheten for dyp læring som en tjeneste ligger. I dette kodemønsteret viser vi deg hvordan du distribuerer et dyplæringsstoff på Kubernetes. Ved å bruke skybaserte arkitektoniske artefakter som Kubernetes, mikrotjenester, Helm-diagrammer og objektlagring, viser vi deg hvordan du distribuerer og bruker et dyplæringsstoff. Dette stoffet spenner over flere dyplæringsmotorer som TensorFlow, Caffe og PyTorch. Den kombinerer fleksibiliteten, brukervennligheten og økonomien til en skytjeneste med kraften til dyp læring. Du vil finne det enkelt å bruke, og ved å bruke REST API-er kan du tilpasse opplæringen med forskjellige ressurser per brukerkrav eller budsjett. La brukerne fokusere på dyp læring og applikasjonene i stedet for å fokusere på feil.

Flow

flyten

  1. FfDL-distribuereren distribuerer FfDL-kodebasen til en Kubernetes-klynge. Kubernetes-klyngen er konfigurert til brukte GPUer, CPUer eller begge deler, og har tilgang til S3-kompatibel objektlagring. Hvis ikke spesifisert, opprettes en lokalt simulert S3-pod.
  2. Når den er distribuert, laster dataforskeren opp modelltreningsdataene til det S3-kompatible objektlageret. FfDL antar at dataene allerede er i det nødvendige formatet som foreskrevet av forskjellige dyplæringsrammer.
  3. Brukeren oppretter en FfDL Model-manifestfil. Manifestfilen inneholder forskjellige felt som beskriver modellen i FfDL, objektlagerinformasjonen, ressurskravene og flere argumenter (inkludert hyperparametre) som kreves for modellutførelse under trening og testing. Brukeren samhandler deretter med FfDL ved å bruke CLI/SDK eller UI for å distribuere FfDL-modellmanifestfilen med en modelldefinisjonsfil. Brukeren starter treningsjobben og overvåker fremdriften.
  4. Brukeren laster ned den trente modellen og tilhørende logger når treningsjobben er fullført.

Instruksjoner

Finn de detaljerte trinnene for dette mønsteret i README. Trinnene viser deg hvordan du:

  1. Kompiler og kode og bygg Docker-bilder.
  2. Installer FfDL-komponentene med rorinstallasjon.
  3. Kjør et skript for å konfigurere Grafana for overvåking av FfDL.
  4. Skaff deg Grafana, FfDL Web UI og FfDL REST API-endepunkter.
  5. Kjør noen enkle jobber for å trene en konvolusjonell nettverksmodell ved å bruke TensorFlow og Caffe.

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

Tidstempel:

Mer fra IBM-utvikler