Nvidia Gpu ‘ s voor data science, google analytics en verspreid met behulp van machine learning Python met Dask

0
149

Nvidia heeft nieuwe benadering voor het trainen van robots om voorwerpen te manipuleren
Met een unieke combinatie van synthetische beelden, vonden de onderzoekers een manier om gemakkelijker en effectiever trainen een computer vision algoritme voor robots.

Nvidia heeft al meer dan een hardware bedrijf voor een lange tijd. Als de Gpu ‘ s worden grotendeels gebruikt voor het uitvoeren van machine learning workloads, machine learning is een belangrijke prioriteit geworden voor Nvidia. In de GTC evenement van deze week, Nvidia een aantal aandachtspunten, gericht op het bouwen van de machine te leren en uit te breiden tot data science en google analytics.

Nvidia wil “paar software en hardware voor het leveren van de vooruitgang in rekenkracht die nodig is om gegevens om te zetten in inzicht en intelligentie.” Jensen Huang, Nvidia CEO, benadrukt de gezamenlijke aspect tussen de chip-architectuur, systemen, algoritmen en toepassingen.

Ook: Salesforce Onderzoek: Kennis van grafieken en machine learning aan de macht Einstein

Daarom Nvidia is gericht op het bouwen van een GPU-ontwikkelaar van het ecosysteem. Volgens Huang, de GPU ontwikkelaar ecosysteem is snel aan het groeien: het aantal ontwikkelaars is uitgegroeid tot meer dan 1,2 miljoen van 800.000 vorig jaar. En wat kunt u het bouwen van een ontwikkelaar ecosysteem? Open source software.

Nvidia kondigde de CUDA-X-AI SDK voor GPU-Versnelde Gegevens van Wetenschap aan de GTC. Nvidia touts CUDA-X-AI als een end-to-end platform voor de versnelling van de gegevens van de wetenschap, met betrekking tot vele delen van de data science workflow. Het doel is om het gebruik van Gpu ‘ s te parallelize van deze taken naar de mate van het mogelijke, zo hard rijden.

Een belangrijk onderdeel van de CUDA-X-AI is STROOMVERSNELLINGEN. RAPIDS is een suite van open-source software bibliotheken voor het uitvoeren van end-to-end data science en google analytics pijpleidingen volledig op Gpu ‘ s. En een belangrijk deel van de STROOMVERSNELLINGEN is Dask. Dask is een open source framework wiens doel het is om native schaal Python.

Python is de taal van keuze voor de meeste gegevens wetenschap werkt, kunt u zien waarom Nvidia koos ervoor om dit een belangrijk onderdeel van de strategie. ZDNet had een Q&A met Dask schepper, Matthew Rocklin, die onlangs zijn begonnen met werken voor Nvidia.

Het Schalen Van Python

Rocklin zei dat Dask groeide uit van de PyData ecosysteem (Panda ‘ s, NumPy, Scikit-Leren, Jupyter, enz.). PyData is zeer geliefd door gegevens wetenschappers, omdat het is snel (meestal geschreven in C/C++) en eenvoudig voor niet-deskundigen te gebruiken. Het probleem was dat PyData over het algemeen niet goed worden geschaald, dat was een beperking als dataset maten toegenomen.

Ook: Streamlio, een open-core streaming data stof voor het cloud-tijdperk

Dask werd ontworpen om de schaal van de bestaande PyData projecten en brengen hen in parallel computing, zonder dat een complete rewrite. Rocklin begonnen met Dask tijdens het werken in Anaconda Inc (de zogenaamde Continuüm op het moment), maar Dask groeide snel uit tot een community project met medewerkers van de meeste grote PyData bibliotheken.

a-day-in-the-life-1-1024x410.png

Data science werkbelasting kan een tijdje duren om uit te voeren. Het versnellen van hen is wat Dask is over, dat is waarom het is goedgekeurd door Nvidia.

(Afbeelding: Nvidia)

×

een-dag-in-het-leven-1-1024×410.png

Anaconda is geïnvesteerd in het project, want ze was veel klanten die graag de Panda ‘ s, Scikit-Leren, en vrienden, maar het moeilijk hadden met een groter data-formaten. Rocklin zei dat er duidelijk zowel een gemeenschap en een markt te maken PyData om grotere schaal, maar er waren ook veel technische en sociale uitdagingen:

“We moesten sluit gaten in het ecosysteem die ontbraken op de big data-kant. Er werden een aantal van de technologieën in de big data-ruimte die niet echt beschikbaar in Python in de tijd: data formaten zoals Parket, Orc, en de Avro, data opslag systemen zoals HDFS, GCS, S3, implementatie van oplossingen zoals GAREN.”

Hij ging aan toe te voegen dat in de Python ecosysteem, vele technologieën had weinig tot geen steun, waardoor ze niet echt handig in een prestatie-gerichte context. Dask begon te focussen op de single-node zwaar werkstation gebruiken geval. Het doel was om op te schalen Python om alle cores van een CPU en uitbreiden van de data limiet van de hoeveelheid beschikbaar RAM (~100 GB) tot de hoeveelheid beschikbare schijfruimte (~10 TB) op enkele werkstations.

Op het moment dat dit werd gezien als een sweet-spot van een hoge productiviteit. Rocklin zei dat “Dask was Python-native en gemakkelijk om mee te werken en veel van de groepen die had Numpy/Pandas/Scikit-leer stijl problemen op deze schaal (die de meeste mensen vonden het erg leuk.”

Hij ging echter toevoegen, dat mensen de mogelijkheid op te schalen naar grotere datasets lijkt onverzadigbaar, dus na ongeveer een jaar Dask werd uitgebreid om te werken in een gedistribueerde it-omgeving, die meer of minder dezelfde schalen eigenschappen als een systeem zoals Vonk.

Apache Spark is een zeer populaire open source platform voor data-wetenschap en machine learning, commercieel ondersteund door Databricks. Spark ondersteunt in-memory processing en schalen en via de clustering. Het probleem met de Spark voor vele Python gebruikers, echter, is dat de ondersteuning voor Python is beperkt, en de implementatie en afstemming clusters is niet triviaal.

Ook: Grafiek gegevens standaardisatie: Het is gewoon een grafiek, zodat gravitatiegolven in de echte wereld

Dask is ontwikkeld om dit aan te pakken. Dus hoe Dask en Vonk vergelijken? Rocklin zei: dit is een vraag die hij krijgt vaak, zo vaak een gedetailleerd antwoord bestaat. De camping is dat Dask is kleiner en lichter. Dask heeft minder functies dan de Spark en is bedoeld om gebruikt te worden in combinatie met andere Python bibliotheken.

Dask helpt bij het versnellen van de volledige gegevens wetenschapper workflow met Gpu ‘ s

Onlangs, Rocklin toegetreden Nvidia om te helpen schaal uit RAPIDS met Dask. Hij merkte op dat Nvidia had al zijn dit te doen voor een tijdje, maar wilde meer vuurkracht achter de Dask inspanning:

“NVIDIA heeft een ondersteunende speler in de open source ecosysteem onlangs, ik was zo enthousiast over de mogelijkheid. Met STROOMVERSNELLINGEN, NVIDIA wil uitbreiden op het succes van de GPU verder graphics en diep leren voor de volledige gegevens van de wetenschap ervaring. Dit betekent gebouw GPU-versnelde bibliotheken voor een bredere reeks van taken.”

nvidia-t4-gpu.jpg

Nvidia ‘ s T4 GPU. Snel als het kan, echter, zonder de juiste software stack zal het niet veel helpen.

(Afbeelding: Nvidia)

×

nvidia-t4-gpu.jpg

De geplande uitkomst is om te worden in staat om te versnellen van de volledige gegevens wetenschapper workflow, niet alleen de laatste training en voorspelling onderdelen als een diepe leren is betrokken. Traditionele machine learning algoritmen, dataframe activiteiten zoals groupby-aggregaties, joins en timeseries manipulatie. Gegevens inslikken, zoals CSV en JSON parsing. En array computing zoals beeldverwerking, en de grafiek van google analytics:

“Toen ik voor het eerst hoorde was ik behoorlijk sceptisch. Ik had altijd gedacht van de Gpu ‘ s als alleen goed voor de berekeningen waren zeer regelmatige en rekenintensieve, zoals de matrix vermenigvuldigt dat gebeuren binnen diep leren.

Maar toen ik zag dat NVIDIA had gebouwd een CSV-parser (een zeer onregelmatige berekening) dat was een full-20x sneller dan de Panda ‘ s standaard was ik verkocht. De prestaties van de nummers die afkomstig zijn van deze machines is erg opzienbarend.”

Rocklin zei dat vandaag RAPIDS gebruikt Dask (en MPI) de schaal van sommige van deze bibliotheken om meerdere Gpu ‘ s en meerdere knooppunten. Op dezelfde manier dat Dask kunt beheren vele Panda ‘s dataframes over een gedistribueerde cluster van Cpu’ s kan ook het beheren van GPU-versnelde Panda ‘s dataframes over een gedistribueerde cluster van de Gpu’ s. Dit blijkt makkelijker dan men zou verwachten voor twee redenen, ging hij op toevoegen.

Ten eerste, omdat Dask werd ontworpen om parallelize rond andere bibliotheken, dus het behandelt zaken als load balancing en veerkracht, maar niet opleggen van een bepaalde rekenkundige systeem, die past bij NVIDIA ‘ s moet goed zijn, het verlangen om haar eigen op-node berekening.

Ten tweede, Dask al algoritmen die goed werken voor Numpy, Panda ‘s, Scikit-Leren, en vrienden, en zo velen van hen werken out-of-the-box voor het equivalent RAPIDS bibliotheken, die een kopie van deze Api’ s.

Verspreid machine learning do ‘s en don’ ts

Maar kan het echt zo simpel? Onlangs, Viacheslav Kovalevskyi, technische lead bij Google Cloud AI, gewaarschuwd tegen het gebruik van de verspreiding, tenzij absoluut noodzakelijk. We vroegen ons af wat Rocklin ‘ s kijk op: dit is, en wat hij ziet als de grootste uitdagingen en kansen voor gedistribueerde machine leren voor de toekomst.

Ook: Voor CockroachDB, transacties eerste, dan is google analytics is een functie — niet een bug

Rocklin gewezen dat computergebruik efficiënt in deze ruimte nog steeds vereist nogal wat expertise. Zeker, er zijn tal van machine learning problemen, zoals de parameter servers die worden gebruikt in de diepe leren van toepassingen, die u kunt lijden aan een enorme prestaties als u gaan gedistribueerd zonder heel voorzichtig te zijn.

distributeddlfairytalezone.png

Het “Sprookje zone”: alleen het gooien van meer hardware is het probleem niet per se te maken machine van het leren sneller. Het hangt allemaal af van de aard van het probleem.

(Afbeelding: Viacheslav Kovalevskyi)

×

distributeddlfairytalezone.png

Hij voegde eraan toe dat zijn er heel echt personele en administratieve kosten van het gebruik van een cluster. Clusters zijn complex, meestal beheerd door een ander team van data science, ze zijn moeilijk op te lossen, en over het algemeen plaats tussen wegversperringen een analist en inzicht.

Enkele grote machines zijn zeer productief, Rocklin denkt, zowel vanuit een performance/hardware perspectief en ook van een mens/administratieve barrière perspectief. Als u kunt oplossen van uw probleem op een niet-gedistribueerde systeem dan is dat bijna altijd de juiste keuze:

“Echter, Machine Learning is een breed begrip, deze dagen. Vanuit een computationeel oogpunt, Machine Learning heeft een veel afwisseling. Sommige dingen werken goed voor een aantal problemen, anderen niet. Het is moeilijk te maken deken uitspraken.

Er zijn een ton van de problemen waar scaling out is heel natuurlijk, en geeft bijna geen performance verlies. Er zijn kritische toepassingen in onze samenleving die het echt nodig grote schalen om vooruitgang te boeken (denk genomics, klimaatverandering, beeldvorming). Bij uitstek de instrumenten die we gebruiken op kleine/middelgrote gegevens op een enkele machine kan uitgevoerd worden met dezelfde tools die we gebruiken op duizend-node clusters.”

Verwante Onderwerpen:

Open Source

Digitale Transformatie

CXO

Het Internet van Dingen

Innovatie

Enterprise Software