Google ‘ s distributed computing voor dummies treinen ResNet-50 in minder dan een half uur

0
204

Is het beter om zo nauwkeurig mogelijk in machine learning, hoe lang het ook duurt, of verdomd nauwkeurig in een heel korte tijd?

Voor DeepMind onderzoekers Peter Buchlovsky en collega ‘ s, was de keuze om te gaan voor de snelheid van het leren over de theoretische nauwkeurigheid.

Het onthullen van deze week een nieuw stukje technologie, genaamd “TF-Replicator,” de onderzoekers zei dat ze in staat zijn om de juistheid van de top-benchmark resultaten op de vertrouwde ImageNet concurrentie in minder dan een half uur, met 32 van de Google-Tensor Processing Unit chips die parallel werken. Het debuut van Replicator komt als Google deze week bekeken de 2.0 versie van TensorFlow.

De resultaten van het gebruik van de TF-Replicator, de auteurs beweren, benaderde de beste resultaten van een aantal andere projecten die vroeger veel meer Gpu ‘s, met inbegrip van eerder werk dat werkzaam is aan 1.024 van Nvidia’ s “Tesla P100” Gpu ‘ s.

De implicatie van de TF-Replicator project is dat deze epische engineering van de Gpu ‘ s kunnen nu worden gerealiseerd met een paar lijnen van Python code die nog niet zijn speciaal afgestemd voor een bepaalde hardware configuratie.

google-tf-replicator-patterns-2019.png

TF-Replicator kunt meerdere “werknemers”, die hetzij een deel van een grafiek berekenen, als op de links, of hebben een aparte grafieken berekenen van hun eigen, als aan de rechterkant.

DeepMind

De truc is eigenlijk om Parallel Distributed Computing voor Dummies, als je wil. Een set van nieuwe functies toegevoegd aan Google ‘s TensorFlow kader dat, DeepMind claims’, bagatelliseert het proces van het bouwen van gedistribueerde machine learning systems” door te laten onderzoekers “van nature het bepalen van hun model en uitvoeren lus volgens de één-machine-instelling.”

Ook: Google lanceert TensorFlow 2.0 Alpha

Het systeem is flexibeler dan een vorige TensorFlow aanpak, de zogenaamde “schatter”, die beperkingen opgelegd op de manieren modellen zijn gebouwd. Terwijl dat systeem aanleg voor productie-omgevingen, de Google aanpak is voor de R&D-lab, voor het maken van nieuwe soorten netwerken, dus het is ontworpen om meer flexibel.

Het is ook bedoeld om veel eenvoudiger te programmeren dan eerdere pogingen tot parallellisme, zoals “Mesh-TensorFlow,” vorig jaar geïntroduceerd door Google Hersenen eenheid als een aparte taal te geven distributed computing.

Het onderzoek, “TF-Replicator: Verspreid Machine Learning Voor de Onderzoekers,” is geplaatst op de arXiv pre-print-server, en er is ook een blog post door DeepMind.

De werkhypothese in het papier is dat ze willen krijgen om state-of-the-art voor een snel resultaat, eerder dan te proberen en druk op de limiet in termen van nauwkeurigheid. Zoals de auteurs wijzen erop, “in Plaats van proberen te verbeteren classificatie nauwkeurigheid, de vele recente publicaties zijn gericht op het verminderen van de tijd die nodig is voor het bereiken van een aantal prestatie-drempel (meestal ∼75% en Top-1 juistheid),” het gebruik van ImageNet benchmarks, en, in de meeste gevallen, de opleiding van de gemeenschappelijke “ResNet-50” neurale netwerk.

Ook: Google zegt ‘exponentiële groei’ van de AI is het veranderen van de aard van het berekenen van

Deze haast om tot goede resultaten bekend als “zwakke schalen,” waar het netwerk wordt getraind “in minder stappen met zeer grote partijen,” de gegevens te groeperen in sets van meerdere duizenden voorbeelden.

Vandaar de noodzaak om parallelize modellen te kunnen werken aan deze batches gelijktijdig op meerdere kernen en meerdere Gpu ‘ s of TPUs.

De auteurs stellen bouwen van een ‘distributed computing’ – systeem dat zou omgaan met taken variërend van indeling te maken van nep-beelden via generatieve tegenspraak netwerken (GANs) te leren door bekrachtiging, terwijl het bereiken van de drempel van de bevoegde prestaties sneller.

De auteurs schrijven dat een onderzoeker niet nodig om te weten iets over distributed computing. De onderzoeker geeft hun neurale net als een “replica” een ding dat is ontworpen om te draaien op een enkele computer. De replica kan automatisch worden vermenigvuldigd om afzonderlijke exemplaren parallel werken op meerdere computers op voorwaarde dat de auteur omvat twee Python functies weer naar hun TensorFlow code, de zogenaamde “input_fn” en “step_fn.” De eerste noemt men een dataset voor het vullen van elke “stap” van een neuraal netwerk. Dat maakt het mogelijk om parallelize het werk op gegevens over de verschillende machines. De andere functie hiermee geeft u de berekening moet worden uitgevoerd, en kan worden gebruikt om parallelize de neurale network operations heel veel machines.

tensorflowgraphbuilding-2019.png

hoe TF-Replicator bouwt het berekenen grafiek op meerdere machines, het verlaten van de “tijdelijke” functies in de grafiek waar de communicatie moet worden ingevuld later, hier vertegenwoordigd door de gestippelde lijnen.

DeepMind.

De auteurs merken ze moesten overwinnen een aantal interessante beperkingen. Bijvoorbeeld de communicatie tussen computing nodes kan belangrijk zijn voor dingen zoals het verzamelen van alle de gradient descent berekeningen gebeurt over meerdere machines.

Dat kan lastig zijn op te lossen. Als een enkele “grafiek” van een neuraal netwerk is verspreid over meerdere computers, wat bekend staat als “in-grafiek replicatie,” dan kunnen er problemen ontstaan omdat de onderdelen van de grafiek berekenen kan nog niet worden aangelegd, die belemmering van de afhankelijkheden tussen de computers. “De ene replica’ s step_fn kunt bellen met een primitieve midden van de grafiek bouw,” schrijven ze, verwijzend naar de communicatie primitieven. “Dit vereist betrekking hebben op gegevens afkomstig uit een andere replica die zelf nog worden gebouwd.”

Hun oplossing is om “tijdelijke” code in de grafiek berekenen van elke machine, die “kan weer worden geschreven als alle replica subgraphs zijn afgerond.”

tf-replicator-imagenet-results-2019.png

De resultaten van de verschillende configuraties van TF-Replicator voor de ImageNet taken op verschillende configuraties van de hardware.

DeepMind

Moet lezen

‘AI is heel, heel stom,’ zegt Google AI leider (CNET)Hoe krijg je al die Google Assistent van de nieuwe stemmen nu (CNET)Unified Google AI afdeling een duidelijk signaal van AI ‘ s toekomst (TechRepublic)Top 5: Dingen om te weten over AI (TechRepublic)

De auteurs beschrijven de resultaten in verschillende benchmark tests. In het geval van de ResNet-50 ImageNet taak, “we zijn in staat om dezelfde gepubliceerd 75.3% Top-1 nauwkeurigheid in minder dan 30 minuten van de training,” schrijven ze, eraan toevoegend dat “deze resultaten zijn verkregen met behulp van de standaard TF-Replicator uitvoering, zonder enige optimalisatie systemen specifiek voor ImageNet klassement.”

Op een GAN taak, het produceren van beelden, “We maken gebruik van TF-Replicator om te trainen op veel grotere hoeveelheden dan kunt passen op een enkele GPU, en vinden dat dit leidt tot flinke winsten in de kwaliteit van het monster.”

In het rijk van reinforcement learning, ze getraind gesimuleerde “agent” van de beweegbare gewrichten te navigeren van de verschillende taken. “Een enkele TPUv2 apparaat (8 aders in 4 chips) biedt concurrerende prestaties in vergelijking met 8 NVLink – aangesloten Tesla V100-Gpu’ s,” schrijven ze.

Er zijn een aantal interessante implicaties voor de toekomstige vormgeving van de neurale netwerken van deze vorm van distributed computing. Bijvoorbeeld, in het geval van reinforcement learning, in plaats van de bouw van een hoger niveau verklaringen van de robot gewrichten en hun “snelheden,” schrijven ze, “de schaalbaarheid van TF-Replicator stelt ons in staat om snel oplossen van deze taken puur vanuit pixel waarnemingen.”

“Enorme schaalbaarheid,” schrijven de auteurs, met honderden en duizenden lagen in een neuraal netwerk, gaat meer en meer belangrijk in de diepe leren. TF-Replicator is Google ‘ s antwoord op de vraag hoe onderzoekers kunnen zich sneller ontwikkelen en iterate, die grote netwerken, te beginnen met de werkbank laptop, en het verspreiden van gedistribueerde systemen, met de minste moeite.

Vorige en aanverwante dekking:

Wat is AI? Alles wat je moet weten

Een executive gids voor kunstmatige intelligentie, van machine learning en algemene AI-neurale netwerken.

Wat is diep leren? Alles wat je moet weten

De lowdown op diep leren: van hoe het zich verhoudt tot het bredere veld van machine-leren door te zien hoe aan de slag met het.

Wat is machine learning? Alles wat je moet weten

In deze gids wordt uitgelegd wat ‘machine learning’ is, hoe het is in verband met kunstmatige intelligentie, hoe het werkt en waarom het belangrijk is.

Wat is cloud computing? Alles wat u moet weten over

Een introductie van cloud computing recht vanaf de basis tot IaaS en PaaS -, hybride -, public en private cloud.

Verwante artikelen:

Google AI surft op het “gamescape” te veroveren spel theorie
Dit is wat AI eruit ziet (zoals geschetst door AI)
Google DeepMind teams met toonaangevende 3D-game dev platform
DeepMind AI plekken vroege tekenen van de ziekte van het oog

Verwante Onderwerpen:

Big Data Analytics

Digitale Transformatie

CXO

Het Internet van Dingen

Innovatie

Enterprise Software