Accuracy obtained when training deep learning models with large amounts of data is high, however, training a model with such huge amounts of data on a single node is not feasible due to various reasons. For example, it might not be possible to fit the entire data set in the memory of a single node, training times can significantly increase since the dataset is huge. To avoid these problems decentralized training is devised. In decentralized training, using the technique of Data parallelism, multiple nodes/workers make a local copy of the model and train it using a partition of the dataset. Each of these locally trained models are aggregated at some point to obtain the final trained model. Architectures such as Parameter server, All-reduce and Gossip use their own network topology to implement decentralized training. However, there is a vulnerability in this decentralized setting, any of the worker nodes may behave arbitrarily and fail. This type of failure is called byzantine failure. Here, arbitrary means any of the worker nodes may send incorrect parameters to others, which may lead to inaccuracy of the global model or failure of the entire system sometimes. To tolerate such arbitrary failures, aggregation rules were devised and are tested using Parameter server architecture. In this thesis we analyse the fault tolerance of Ring all-reduce architecture to byzantine gradients using various aggregation rules such as Krum, Brute and Bulyan. We will also inject adversaries during the model training to observe, which of the aforementioned aggregation rules provide better resilience to byzantine gradients. / Noggrannheten som erhålls vid träning av djupinlärningsmodeller med stora datamängder är hög, men det är inte möjligt att utbilda en modell med så stora mängder data på en enda nod av olika skäl. Det kan till exempel inte vara möjligt att passa hela datamängden i minnet på en enda nod, träningstiderna kan öka avsevärt eftersom datamängden är enorm. För att undvika dessa problem utformas decentraliserad träning. I decentraliserad utbildning, med hjälp av tekniken för dataparallellism, gör flera noder / arbetare en lokal kopia av modellen och tränar den med hjälp av en partition av datamängden. Var och en av dessa lokalt utbildade modeller samlas vid någon tidpunkt för att få den slutliga utbildade modellen. Arkitekturer som Parameterserver, All- reduce och Gossip använder sin egen nätverkstopologi för att implementera decentraliserad utbildning. Det finns dock en sårbarhet i denna decentraliserade inställning, någon av arbetarnoderna kan uppträda godtyckligt och misslyckas. Denna typ av fel kallas bysantinskt fel. Här betyder godtyckligt att någon av arbetarnoderna kan skicka felaktiga parametrar till andra, vilket ibland kan leda till felaktighet i den globala modellen eller att hela systemet misslyckas. För att tolerera sådana godtyckliga fel utformades aggregeringsregler som testas med hjälp av parametern serverarkitektur. I den här avhandlingen analyserar vi feltoleransen för Ring allreduceringsarkitektur till bysantinska gradienter med hjälp av olika aggregeringsregler som Krum, Brute och Bulyan. Vi kommer också att injicera motståndare under modellutbildningen för att observera vilka av de ovannämnda aggregeringsreglerna som ger bättre motståndskraft mot bysantinska lutningar.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-304022 |
Date | January 2021 |
Creators | Yerrapragada, Akhil |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2021:594 |
Page generated in 0.0023 seconds