Upphovsman:CC0 Public Domain
MIT-forskare har uppfunnit ett verktyg för maskininlärning som förutspår hur snabbt datorchips kommer att köra kod från olika applikationer.
För att få koden att köras så snabbt som möjligt, utvecklare och kompilatorer-program som översätter programmeringsspråk till maskinläsbar kod-använder vanligtvis prestandamodeller som kör koden genom en simulering av givna chiparkitekturer.
Kompilatorer använder den informationen för att automatiskt optimera kod, och utvecklare använder den för att ta itu med flaskhalsar för prestanda på mikroprocessorerna som kommer att köra den. Men prestandamodeller för maskinkod är handskrivna av en relativt liten grupp experter och valideras inte korrekt. Som en konsekvens, de simulerade prestandamätningarna avviker ofta från verkliga resultat.
I en serie konferenspapper, forskarna beskriver en ny maskininlärningspipeline som automatiserar denna process, gör det lättare, snabbare, och mer exakt. I ett dokument som presenterades vid den internationella konferensen om maskininlärning i juni, forskarna presenterade Ithemal, en modell för neurala nätverk som tränar på märkta data i form av "grundblock"-grundläggande utdrag av datainstruktioner-för att automatiskt förutsäga hur lång tid det tar för ett givet chip att köra tidigare osynliga grundblock. Resultaten tyder på att Ithemal presterar mycket mer exakt än traditionella handinställda modeller.
Sedan, vid IEEE International Symposium on Workload Characterization i november, forskarna presenterade en riktmärke med grundläggande block från en mängd olika domäner, inklusive maskininlärning, kompilatorer, kryptografi, och grafik som kan användas för att validera prestandamodeller. De samlade mer än 300, 000 av de profilerade blocken till en öppen källkod som heter BHive. Under deras utvärderingar, Ithemal förutspådde hur snabbt Intel -chips skulle köra kod ännu bättre än en prestandamodell byggd av Intel själv.
I sista hand, utvecklare och kompilatorer kan använda verktyget för att generera kod som körs snabbare och mer effektivt på ett ständigt växande antal olika och "black box" chipdesigner. "Moderna datorprocessorer är ogenomskinliga, fruktansvärt komplicerat, och svårt att förstå. Det är också otroligt utmanande att skriva datorkod som körs så snabbt som möjligt för dessa processorer, "säger medförfattaren Michael Carbin, en biträdande professor vid Institutionen för elektroteknik och datavetenskap (EECS) och en forskare vid datavetenskap och artificiell intelligenslaboratorium (CSAIL). "Detta verktyg är ett stort steg framåt mot att helt modellera prestandan för dessa marker för förbättrad effektivitet."
Senast, i ett dokument som presenterades på NeurIPS -konferensen i december, laget föreslog en ny teknik för att automatiskt generera kompilatoroptimeringar. Specifikt, de genererar automatiskt en algoritm, kallade Vemal, som omvandlar viss kod till vektorer, som kan användas för parallellberäkning. Vemal överträffar handgjorda vektoriseringsalgoritmer som används i LLVM-kompilatorn-en populär kompilator som används i branschen.
Att lära av data
Att designa prestandamodeller för hand kan vara "en svart konst, "Säger Carbin. Intel tillhandahåller omfattande dokumentation av mer än 3, 000 sidor som beskriver dess chips arkitekturer. Men det finns för närvarande bara en liten grupp experter som kommer att bygga prestandamodeller som simulerar körning av kod på dessa arkitekturer.
"Intels dokument är varken felfria eller fullständiga, och Intel kommer att utelämna vissa saker, eftersom det är proprietärt, "Säger Mendis." Men när du använder data, du behöver inte känna till dokumentationen. Om det finns något dolt kan du lära dig det direkt från data. "
Att göra så, forskarna klockade det genomsnittliga antalet cykler en given mikroprocessor tar för att beräkna grundläggande blockinstruktioner - i grunden uppstartssekvensen, Kör, och stänga av - utan mänskligt ingripande. Automatisera processen möjliggör snabb profilering av hundratusentals eller miljoner block.
Domänspecifika arkitekturer
I träning, Ithemal -modellen analyserar miljontals automatiskt profilerade grundblock för att lära sig exakt hur olika chiparkitekturer kommer att utföra beräkning. Viktigt, Ithemal tar rå text som inmatning och kräver inte att manuellt lägger till funktioner i inmatningsdata. Vid testning, Ithemal kan matas tidigare osynliga grundblock och ett givet chip, och kommer att generera ett enda nummer som anger hur snabbt chipet kommer att köra den koden.
Forskarna fann att Ithemal sänkte felprocenten i noggrannhet-vilket betyder skillnaden mellan den förutspådda hastigheten kontra den verkliga hastigheten-med 50 procent jämfört med traditionella handgjorda modeller. Ytterligare, i deras nästa uppsats, de visade att Ithemals felprocent var 10 procent, medan Intel-prestationsförutsägelsemodellens felprocent var 20 procent på en mängd grundläggande block på flera olika domäner.
Verktyget gör det nu lättare att snabbt lära sig prestandahastigheter för alla nya chiparkitekturer, Säger Mendis. Till exempel, domänspecifika arkitekturer, t.ex. Googles nya Tensor Processing Unit som används specifikt för neurala nätverk, byggs nu men är inte allmänt förstådda. "Om du vill träna en modell om ny arkitektur, du samlar bara in mer data från den arkitekturen, kör det genom vår profiler, använda den informationen för att träna Ithemal, och nu har du en modell som förutsäger prestanda, "Säger Mendis.
Nästa, forskarna studerar metoder för att göra modeller tolkbara. Mycket av maskininlärning är en svart låda, så det är inte riktigt klart varför en viss modell gjorde sina förutsägelser. "Vår modell säger att det krävs en processor, säga, 10 cykler för att utföra ett grundläggande block. Nu, vi försöker ta reda på varför, "Carbin säger." Det är en fin granularitet som skulle vara fantastisk för dessa typer av verktyg. "
De hoppas också kunna använda Ithemal för att förbättra Vemals prestanda ytterligare och uppnå bättre prestanda automatiskt.
Denna artikel publiceras på nytt med tillstånd av MIT News (web.mit.edu/newsoffice/), en populär webbplats som täcker nyheter om MIT -forskning, innovation och undervisning.