Title:PANTHER: A Programmable Architecture for Neural Network Training Harnessing Energy-efficient ReRAM
Download PDF
Abstract: De brede toepassing van diepe neurale netwerken is gepaard gegaan met steeds hogere energie- en prestatie-eisen als gevolg van de dure aard van het trainen ervan. Talrijke speciale architecturen zijn voorgesteld om de training te versnellen: zowel digitaal als hybride digitaal-analoog met behulp van resistieve RAM (ReRAM) dwarsbalken. Op ReRAM gebaseerde versnellers hebben de doeltreffendheid aangetoond van ReRAM-kruisbalken bij het uitvoeren van matrix-vector-vermenigvuldigingsoperaties die veel voorkomen bij het trainen. Zij hebben echter nog steeds te lijden onder inefficiëntie vanwege het gebruik van seriële lees- en schrijfbewerkingen voor het uitvoeren van de gradiënt van het gewicht en de updatestap. Enkele werken hebben de mogelijkheid aangetoond om buitenproducten uit te voeren in kruisstaven, die kunnen worden gebruikt om de gewichtsgradiënt en de updatestap uit te voeren zonder het gebruik van seriële lees- en schrijfbewerkingen. Deze werken zijn echter beperkt gebleven tot bewerkingen met lage precisie, die niet volstaan voor typische trainingsbelastingen. Bovendien zijn ze beperkt tot een beperkte set van trainingsalgoritmen voor volledig aangesloten lagen. Om deze beperkingen aan te pakken, stellen wij een bit-slicing techniek voor om de precisie vanReRAM-gebaseerde buitenproducten te verbeteren, die wezenlijk verschilt van bit-slicing voor matrix-vector vermenigvuldiging alleen. Wij integreren deze techniek in de overkoepelende architectuur met drie varianten die zijn afgestemd op verschillende trainingsalgoritmen. Om ons ontwerp te evalueren op verschillende typen lagen in neurale netwerken (volledig aangesloten, convolutioneel, etc.) en trainingsalgoritmen, ontwikkelen we PANTHER, een ISA-programmeerbare trainingsversneller met compiler-ondersteuning. Onze evaluatie toont aan dat PANTHER tot $8.02\times$,$54.21\times$, en $103\times$ minder energie verbruikt en tot $7.16\times$,$4.02\times$, en $16\times$ minder uitvoeringstijd nodig heeft in vergelijking met respectievelijk digitale versnellers, ReRAM-gebaseerde versnellers, en GPU’s.