Ota käyttöön ja käytä usean kehyksen syväoppimisalustaa Kubernetesissa

Lähdesolmu: 1580762

Kuvaus

Syväoppimisen harjoittajana haluat luotettavuutta ja skaalautuvuutta harjoittelutehtäviäsi organisoidessasi. Lisäksi haluat tehdä tämän johdonmukaisesti useissa kirjastoissa. Kubernetesin Fabric for Deep Learning (FfDL) -sovelluksella voit saavuttaa tämän antamalla käyttäjille mahdollisuuden hyödyntää syvän oppimisen kirjastoja, kuten Caffe, Torch ja TensorFlow pilvessä joustavasti ja vähällä vaivalla. Alusta käyttää jakelu- ja orkestrointikerrosta, joka helpottaa oppimista suuresta datamäärästä kohtuullisessa ajassa laskentasolmujen välillä. Resurssien hallintakerros mahdollistaa joustavan työnhallinnan heterogeenisillä resursseilla, kuten grafiikkaprosessoriyksiköillä (GPU) ja keskusprosessoriyksiköillä (CPU), infrastruktuurina palveluna (IaaS) -pilvessä.

Yleiskatsaus

Syvien hermoverkkojen koulutus, joka tunnetaan nimellä syväoppiminen (osa koneoppimismenetelmiä), on erittäin monimutkaista ja laskennallisesti intensiivistä. Tyypillinen syväoppimisen käyttäjä altistuu tarpeettomasti taustalla olevan laitteisto- ja ohjelmistoinfrastruktuurin yksityiskohdille, mukaan lukien kalliiden GPU-koneiden määrittäminen, syväoppimiskirjastojen asentaminen ja töiden hallinta suorituksen aikana vikojen ja palautumisen käsittelemiseksi. Huolimatta laitteiston hankkimisesta IaaS-pilvestä ja tuntimaksusta huolimatta, käyttäjän on silti hallittava näitä koneita, asennettava tarvittavat kirjastot ja varmistettava syväoppimisen koulutustöiden joustavuus.

Tässä piilee mahdollisuus syvään oppimiseen palveluna. Tässä koodimallissa näytämme, kuinka syväoppiva kangas otetaan käyttöön Kubernetesissa. Käyttämällä pilvipohjaisia ​​arkkitehtonisia artefakteja, kuten Kubernetes, mikropalveluita, Helm-kaavioita ja objektien tallennustilaa, näytämme sinulle, kuinka voit ottaa käyttöön ja käyttää syväoppivaa kangasta. Tämä kangas kattaa useita syväoppimismoottoreita, kuten TensorFlow, Caffe ja PyTorch. Siinä yhdistyvät pilvipalvelun joustavuus, helppokäyttöisyys ja taloudellisuus syväoppimisen tehoon. Sinun on helppo käyttää, ja REST-sovellusliittymien avulla voit mukauttaa koulutusta erilaisilla resursseilla käyttäjävaatimusten tai budjetin mukaan. Anna käyttäjien keskittyä syvään oppimiseen ja sovelluksiin sen sijaan, että he keskittyisivät virheisiin.

Virtaus

virtaus

  1. FfDL-asennusohjelma ottaa FfDL-koodikannan käyttöön Kubernetes-klusteriin. Kubernetes-klusteri on määritetty käyttämään GPU:ta, CPU:ta tai molempia, ja sillä on pääsy S3-yhteensopivaan objektien tallennustilaan. Jos sitä ei ole määritetty, luodaan paikallisesti simuloitu S3 pod.
  2. Kun tietotieteilijä on otettu käyttöön, se lataa mallin koulutustiedot S3-yhteensopivaan objektivarastoon. FfDL olettaa, että tiedot ovat jo vaaditussa muodossa, kuten eri syvän oppimisen viitekehykset määräävät.
  3. Käyttäjä luo FfDL-malliluettelotiedoston. Luettelotiedosto sisältää erilaisia ​​kenttiä, jotka kuvaavat mallia FfDL:ssä, sen objektivarastotietoja, sen resurssivaatimuksia ja useita argumentteja (mukaan lukien hyperparametrit), joita tarvitaan mallin suorittamiseen koulutuksen ja testauksen aikana. Tämän jälkeen käyttäjä on vuorovaikutuksessa FfDL:n kanssa käyttämällä CLI/SDK:ta tai käyttöliittymää ottaakseen käyttöön FfDL-malliluettelotiedoston mallinmääritystiedoston kanssa. Käyttäjä käynnistää koulutustyön ja seuraa sen edistymistä.
  4. Käyttäjä lataa koulutetun mallin ja siihen liittyvät lokit, kun koulutustyö on valmis.

Ohjeet

Etsi tämän mallin yksityiskohtaiset vaiheet README-kohdasta. Vaiheet osoittavat, miten:

  1. Kääntää ja koodata ja rakentaa Docker-kuvia.
  2. Asenna FfDL-komponentit ruoriasennuksella.
  3. Suorita komentosarja määrittääksesi Grafana FfDL:n valvontaa varten.
  4. Hanki Grafana-, FfDL Web UI- ja FfDL REST API -päätepisteesi.
  5. Suorita yksinkertaisia ​​töitä konvoluutioverkkomallin kouluttamiseksi käyttämällä TensorFlow'ta ja Caffea.

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

Aikaleima:

Lisää aiheesta IBM-kehittäjä