Googles distribuerad databehandling för dummies tåg ResNet-50 i en halvtimme

0
191

Är det bättre att vara så noggranna som möjligt i machine learning, hur lång tid det tar, eller ganska förbaskad korrekt i en riktigt kort tid?

För DeepMind forskare Peter Buchlovsky och kollegor, var valet att gå för en hastighet av lärande över teoretiska noggrannhet.

Att avslöja denna vecka en ny bit av teknik, som kallas “TF-Replicator,” forskarna säger att de kunde nå riktigheten av de bästa resultaten på den välkända ImageNet konkurrens på under en halv timme, med 32 av Googles Tensor Processing Unit marker som arbetar parallellt. Debut av Replicator kommer som Google denna vecka förhandsgranskas version 2.0 av TensorFlow.

Resultaten från att använda TF-Replicator, författarna hävdar, närmade sig de bästa resultaten från en del andra projekt som använde sig av många fler Gpu, inklusive tidigare arbete som anställd 1,024 av Nvidias Tesla P100″ Grafikprocessorer.

Innebörden av TF-Replicator projektet är att sådana episka konstruktion av Grafikprocessorer kan nu nås med några rader i Python kod som inte är speciellt avstämd för en viss maskinvara.

google-tf-replicator-patterns-2019.png

TF-Replicator kan göra flera “arbetstagare” som antingen dela en beräkna grafen, som på den vänstra, eller har separat beräkna grafer av sina egna, som på den högra.

DeepMind

Tricket är grunden för att göra Parallel Distributed Computing för Dummies, om du kommer. En uppsättning nya funktioner har lagts till Googles TensorFlow ramverk som, DeepMind påståenden, “trivializes processen för att bygga distribuerade machine learning system” genom att låta forskare “naturligt definiera deras modell och springa slinga som per den enda maskinen inställning.”

Också: Google lanserar TensorFlow 2.0 Alpha

Systemet är mer flexibelt än tidigare TensorFlow strategi, som kallas en “estimator”, som infört restriktioner på sätt modeller är byggda. Samtidigt som systemet var predisponerade för produktionsmiljöer, Google tillvägagångssätt är för R&D lab, för att göra nya typer av nätverk, så det är utformat för att vara mer flexibla.

Det är också tänkt att vara mycket enklare att programmera än tidigare försök på parallellism, såsom “Mesh-TensorFlow,” som infördes förra året av Googles Hjärnan enhet som ett eget språk för att ange distribuerad databehandling.

Forskning”, TF-Replicator: Distribuerat Lärande För Forskare,” är inlagd på arXiv pre-print-server, och det är också ett blogg inlägg av DeepMind.

Arbetshypotesen i uppsatsen är att de vill få till state-of-the-art snabba resultat snarare än att försöka pressa gränsen i fråga om noggrannhet. Som författarna påpekar, “i Stället för att försöka förbättra klassificeringen noggrannhet, många nya tidningar har fokuserat på att minska den tid det tar att uppnå vissa resultat gränsvärde (typiskt ∼75% Topp-1 noggrannhet),” använda ImageNet riktmärken, och, i de flesta fall, utbildning vanliga “ResNet-50” neurala nätverk.

Också: Google säger ” exponentiell tillväxt av AI är föränderliga natur beräkna

Denna brådska att få till ett bra resultat är känd som “svaga skalning,” där nätverket är utbildad “i färre steg med mycket stora satser,” att gruppera data i uppsättningar av flera tusentals exempel.

Därav behovet av att parallellisera modeller för att kunna arbeta på de partier samtidigt i flera kärnor och flera Grafikprocessorer eller TPUs.

Författarna bestämde sig för att bygga ett distribuerat datorsystem som skulle hantera uppgifter som sträcker sig från klassificering till att göra falska bilder via generativ kontradiktoriska nätverk (GANs) till inlärning, medan gränsen behöriga prestanda snabbare.

Författarna skriver att en forskare inte behöver veta något om distribuerad databehandling. Forskaren anger deras neurala nätet som en “replika”, en sak som är utformad för att köras på en enda dator. Som replik kan vara automatiskt multipliceras till olika instanser som körs parallellt på flera datorer förutsatt att författaren har två Python funktioner till deras TensorFlow kod, som kallas “input_fn” och “step_fn.” Det första man kallar ett dataset för att fylla varje “steg” av ett neuralt nätverk. Som gör det möjligt att parallellisera arbetet på data mellan olika maskiner. Den andra funktionen anger att de beräkningar som ska utföras, och kan användas för att parallellisera neurala nätverk verksamhet över många maskiner.

tensorflowgraphbuilding-2019.png

hur TF-Replicator bygger beräkna diagram på flera maskiner, lämnar “platshållare” funktioner i diagrammet där kommunikation behöver fyllas i senare, som här representeras av de streckade linjerna.

DeepMind.

Författarna noterar att de hade att övervinna några intressanta begränsningar. Till exempel kommunikation mellan noder kan vara viktigt för saker som att samla upp alla lutning härkomst beräkningar sker på flera maskiner.

Det kan vara en utmaning till ingenjör. Om en enda “graf” för ett neuralt nätverk är fördelade över många datorer, vad som kallas “i-grafen replikering,” då kan det uppstå problem eftersom delar av den beräkna grafen kan ännu inte konstrueras, som frustrerar beroenden mellan datorer. “En replica är step_fn kan kalla en primitiv mitten av grafen konstruktionen av” de skriver, med hänvisning till kommunikation primitiver. “Detta kräver att hänvisa till data som kommer från en annan replik som i sig är ännu inte byggts.”

Deras lösning är att sätta en “platshållare” kod i den beräkna diagram för varje maskin, som “kan skrivas en gång för alla replica subgraphs är klar.”

tf-replicator-imagenet-results-2019.png

Resultat av olika konfigurationer av TF-Replicator för ImageNet uppgifter på olika konfigurationer av maskinvara.

DeepMind

Måste läsa

‘AI är mycket, mycket dumt”, säger Googles AI ledare (CNET)Hur man får alla Google Assistant nya röster just nu (CNET)Enhetlig Google AI division en tydlig signal om att AI: s framtid (TechRepublic)Topp 5: Saker att veta om AI (TechRepublic)

Författarna beskriver resultaten i olika benchmark-tester. I fallet med ResNet-50 ImageNet uppgift, “vi kan matcha den publiceras -75,3 i% Topp-1 noggrannhet på mindre än 30 minuter av utbildning,” skriver de, och tillägger att “dessa resultat har erhållits med hjälp av standard-TF-Replicator genomförande, utan att alla system optimering som är specifika för ImageNet klassificering.”

På en GAN uppgift, att producera bilder, “Vi drar nytta av TF-Replicator att träna på mycket större satser än vad som ryms på en enda GPU, och tycker att detta leder till betydande vinster i provet kvalitet.”

I riket av inlärning, de tränade en simulerad “agent” av rörliga leder till att navigera i olika uppgifter. “En enda TPUv2 enhet (8 kärnor över 4 marker) erbjuder konkurrenskraftiga prestanda jämfört med 8 NVLink – ansluten Tesla V100 Gpu,” skriver de.

Det finns några intressanta konsekvenser för den framtida utformningen av neurala nätverk från denna typ av distribuerad databehandling. Till exempel, i fråga om inlärning, snarare än att bygga högre nivå representationer av robotens leder och deras “hastigheter,” skriver de, “den skalbarhet av TF-Replicator tillåter oss att snabbt lösa dessa uppgifter enbart från pixel observationer.”

“Omfattande skalbarhet,” skriver författarna, med hundratals och tusentals lager i ett neuralt nätverk, kommer att bli mer och mer viktigt i djup inlärning. TF-Replicator är Googles svar på frågan om hur forskare kan snabbt utveckla och upprepa de stora nätverk, med utgångspunkt från deras workbench laptop, och sprider sig till distribuerade system, med minst krångel.

Tidigare och relaterade täckning:

Vad är AI? Allt du behöver veta

En verkställande guide till artificiell intelligens, från maskininlärning och allmänna AI att neurala nätverk.

Vad är djupt lärande? Allt du behöver veta

Lowdown på djupt lärande: från hur det förhåller sig till de bredare fält av maskinen lärande genom hur man kommer igång med det.

Vad är lärande? Allt du behöver veta

Denna guide förklarar vad lärande är, hur den är relaterad till artificiell intelligens, hur det fungerar och varför det är viktigt.

Vad är cloud computing? Allt du behöver veta om

En introduktion till cloud computing rätt från grunderna upp till IaaS och PaaS, hybrid, offentliga och privata moln.

Relaterade artiklar:

Googles AI surfar “gamescape” att erövra spelteori
Detta är vad AI ser ut (som skissat av AI)
Googles DeepMind lag med ledande 3D-spel dev plattform
DeepMind AI fläckar tidiga tecken på ögonsjukdom

Relaterade Ämnen:

Big Data Analytics

Digital Omvandling

CXO

Sakernas Internet

Innovation

Affärssystem