Teamet använder djupanalys av parallella beräkningar för att påskynda maskininlärning i stor skala. Kredit:Onur Oymak / Alamy
Genom att dekonstruera och analysera de beprövade metoderna som används i massivt parallella beräkningar, ett KAUST-ledt samarbete har utvecklat ett banbrytande ramverk för effektiva parallella beräkningar i stor skala. Ramverket har särskild relevans för de typer av bearbetning som behövs för optimering inom maskininlärning.
"Parallellisering" av en optimerings- eller databearbetningsuppgift gör att uppgiften kan fördelas mellan många beräkningsnoder. Helst detta skulle dividera tiden som behövs för beräkning med antalet noder som rekryteras till uppgiften. Dock, med parallellisering kommer behovet av att skicka ökande mängder information mellan noderna, vilket innebär att den ideala graden av acceleration aldrig uppnås i praktiken.
"I distribuerad optimering, ett vanligt problem är kommunikationsflaskhalsen, " förklarar Konstantin Mishchenko från Visual Computing Center. "Föreställ dig att du hade en dator med fyra kärnor, och du vill köra ditt parallelliserade program på en ny dator med 16 kärnor. Naturligtvis, du skulle förvänta dig att den nya datorn skulle vara ungefär fyra gånger snabbare. Men, även om den nya datorn har fyra gånger den totala datorkraften, mycket av det tas upp genom att synkronisera kärnorna vid varje modelluppdatering. Denna kommunikationsflaskhals minskar den positiva effekten av att öka antalet kärnor och blir allvarlig när vi skalar antalet kärnor till hundratals eller tusentals."
Ny forskning av Peter Richtáriks grupp har tagit itu med detta problem på två sätt - genom att förbättra komprimeringen av information som skickas vid varje synkronisering och genom att generalisera inlärningsalgoritmen så att den kan användas med vilket komprimeringsschema som helst.
"Det svåraste att förstå var varför befintliga idéer alltid fungerar, " säger Mishchenko. "Allmänt, forskare gissar först vilket knep som behöver användas, och först senare börjar vi förstå varför det fungerar. Detta är precis vad vi gjorde:genom att använda enkla motexempel, vi analyserade om två välkända knep och kom till insikten att det finns ett bättre sätt att använda dem."
Dessa tekniker, kallas kvantisering och slumpmässig sparsifiering, är kompressionsmetoder som vanligtvis används isolerat. Genom att kombinera båda, och avgörande, bara komprimera skillnaden mellan ny information och den tidigare uppdateringen, teamet bevisade matematiskt att ett mer effektivt komprimeringsschema är möjligt med mindre informationsförlust.
"Den viktigaste punkten är att denna nya teknik, där vi komprimerar skillnaden mellan aktuell och tidigare information – och inte bara den nya informationen i sig – säkerställer att mindre information går förlorad när vi utför en komprimering, ", säger Mishchenko. "Och vi har bevisat och observerat i experiment att skalning med vår metod är närmare idealet."
Den andra upptäckten generaliserar inlärningsalgoritmen för en rad olika optimeringsuppgifter på ett sätt som gör att den kan användas med vilket komprimeringsschema som helst.
"Vår motivation var att skapa en allmän teori som inte förlitar sig på något specifikt kompressionsschema för att förstå effekterna av kompression på distribuerad träning, säger Samuel Horvath från forskargruppen.
Att använda denna teori gör det möjligt att konstruera algoritmer för distribuerad beräkning utan problemen med ofullständig optimering och beroende av specifika komprimeringsscheman som existerande metoder möter.
"Detta arbete hjälper oss att bättre förstå effekterna av olika kompressionsmetoder och hjälper oss att välja rätt kompressionsschema för det givna problemet, säger Horvath.