Höga kostnader för nätverkskommunikation för synkronisering av gradienter och parametrar är den välkända flaskhalsen för distribuerad utbildning. I detta arbete föreslår vi TernGrad som använder ternära gradienter för att påskynda distribuerat djupinlärning i dataparallalism. Vårt tillvägagångssätt kräver endast tre numeriska nivåer {−1, 0, 1}, som aggressivt kan minska kommunikationstiden. Vi bevisar matematiskt TernGrads konvergens under antagandet av en gräns på lutningar. Vägledd av gränsen, föreslår vi skiktvis ternarizing och lutning klippning för att förbättra dess konvergens. Våra experiment visar att tillämpa TernGrad på AlexNet inte drabbas av någon noggrannhet förlust och kan även förbättra noggrannheten. Noggrannheten förlust av GoogLeNet inducerad av TernGrad är mindre än 2% i genomsnitt. Slutligen föreslås en prestandamodell för att studera skalbarheten hos TernGrad. Experiment visar betydande hastighetsvinster för olika djupa neurala nätverk. Ur perspektivet inferenceacceleration har sparse och kvantized Deep Neural Networks (DNN) studerats i stor utsträckning, såsom [17][18][19][20][21][22]. Men dessa metoder generellt arXiv:1705.0778v4 [cs.LG] 18 Sep 2017 förvärrar träningsinsatsen. Forskare som sparse logistisk regression och Lasso optimeringsproblem [4][12][23] utnyttjade den sparhet som är inbyggd i modeller och uppnådde anmärkningsvärd hastighetshöjning för distribuerad träning. Ett mer generiskt och viktigt ämne är hur man kan påskynda den distribuerade utbildningen av täta modeller genom att använda sparsamhet och kvantiseringstekniker. Till exempel föreslog Aji och Heafield [24] att heuritiskt sparifiera täta lutningar genom att släppa av små värden för att minska gradientkommunikationen. Av samma skäl har kvantifieringen av lutningar till låga precisionsvärden med mindre bitbredd också studerats ingående [22][25][26][27]. Vårt arbete hör till kategorin gradientquantization, som är ett ortogonalt förhållningssätt till gleshet metoder. Vi föreslår TernGrad att kvantisera gradienter till ternära nivåer {−1, 0, 1} för att minska overheaden av gradientsynkronisering. Dessutom föreslår vi skalan delning och parameter lokalisering, som kan ersätta parametersynkronisering med en låg precision gradient drag. Jämfört med tidigare arbeten, våra viktigaste bidrag inkluderar: 1) vi matematiskt bevisa konvergensen av TernGrad i allmänhet genom att föreslå en statistisk gräns på gradienter; (2) vi föreslår skiktvis ternarizing och gradient klippning för att flytta denna gräns närmare gränsen för standard SGD. Dessa enkla tekniker förbättrar konvergensen; (3) vi bygger en prestandamodell för att utvärdera hastigheten på träningsmetoder med komprimerade gradienter, som TernGrad. Vår källkod finns på https://github.com/wenwei202/terngrad.
TernGrad REF kvantifierar varje element i en gradientvektor till tre numeriska värden {−1, 0, 1}. Gradienten approximationg visas vara objektiv och träningen konvergerar under antagandet av en gräns på gradienter.
TernGrad: Ternary Gradients to Reduce Communication in Distributed Deep Learning
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science', 'Mathematics']}