Precision-Aware Variable Bit Processing Elements for Hardware-Efficient Systolic Array Designs
Dit artikel stelt een hardware-efficiënt systolic array-ontwerp voor dat gebruikmaakt van NSGA-II-geoptimaliseerde, benaderde floating-point vermenigvuldigers met kolomtruncatie en compressorintegratie om substantiële reducties in oppervlakte, vermogen en vertraging (tot respectievelijk 92%, 93% en 54%) te bereiken, terwijl de CNN-nauwkeurigheid vergelijkbaar blijft over de FP32-, TF32- en BF16-formaten.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
In de moderne wereld voeren onze digitale apparaten voortdurend een enorm aantal berekeningen uit om gezichten in foto's te herkennen, talen te vertalen of het verkeer te navigeren. In de kern van deze taken ligt een specifiek type wiskundige operatie genaamd vermenigvuldiging, wat essentieel is voor het verwerken van de complexe patronen die in afbeeldingen en gegevens worden gevonden. Decennialang hebben ingenieurs computerchips gebouwd om deze vermenigvuldigingen met extreme precisie uit te voeren, waarbij ervoor wordt gezorgd dat elke enkele cijfer van een getal exact wordt berekend zoals op papier. Deze aanpak garandeert nauwkeurigheid, maar dit heeft een prijs: de circuits die nodig zijn om deze perfecte precisie te behouden zijn groot, verbruiken veel elektriciteit en genereren warmte. Naarmate onze behoefte aan snellere en krachtigere computers groeit, worden de fysieke grenzen van het kleiner maken van deze circuits bereikt, wat een flessenhals vormt voor toekomstige technologie.
Een andere filosofie is ontstaan om dit probleem op te lossen, een filosofie die een kleine, gecontroleerde hoeveelheid fout accepteert in ruil voor enorme winsten in snelheid en efficiëntie. Dit concept, bekend als approximate computing (benaderende berekening), werkt volgens het idee dat voor veel realistische taken, zoals het identificeren van een kat in een foto of het comprimeren van een videobestand, het menselijk oog en brein de kleine verschillen veroorzaakt door licht onnauwkeurige wiskunde niet kunnen detecteren. Als een computer een deel van de moeilijkste delen van een berekening kan overslaan, kan hij de klus veel sneller klaren terwijl hij veel minder stroom verbruikt. De uitdaging voor onderzoekers is geweest om precies uit te vogelen hoeveel precisie kan worden opgeofferd zonder het eindresultaat te verpesten, een evenwichtsoefening die vereist is bij het navigeren door een uitgestrekt landschap van mogelijke ontwerpkeuzes.
Een team van onderzoekers heeft deze uitdaging aangepakt door een nieuw soort hardware-accelerator te ontwerpen die specifiek is bedoeld voor deze fouttolerante taken. Ze concentreerden zich op een structuur genaamd een systolische array, wat in feite een rooster is van kleine verwerkingseenheden die gegevens aan elkaar doorgeven als een golf, waardoor matrixvermenigvuldigingen efficiënt worden uitgevoerd. De onderzoekers realiseerden zich dat het meest energieverslindende deel van dit rooster de vermenigvuldiger binnen elke eenheid is. In plaats van elke vermenigvuldiger perfect te bouwen, ontwikkelden ze een methode om "onvolmaakte" vermenigvuldigers te creëren die strategisch gebrekkig zijn. Door bewust de minst belangrijke bits van een getal tijdens de berekening weg te laten en speciale circuits te gebruiken die kleine, tegenovergestelde fouten introduceren, creëerden ze een systeem waarbij de fouten elkaar opheffen. Dit stelt de hardware in staat om ongelooflijk efficiënt te blijven terwijl het toch resultaten produceert die nauwkeurig genoeg zijn voor praktisch gebruik.
Om de perfecte balans tussen snelheid en nauwkeurigheid te vinden, vertrouwden de onderzoekers niet op gokwerk. Ze gebruikten een krachtig zoekalgoritme dat het proces van natuurlijke evolutie nabootst om miljoens mogelijke ontwerpconfiguraties te verkennen. Stel je een enorme bibliotheek voor die elke denkbare manier bevat om deze onvolmaakte vermenigvuldigers te bouwen; het algoritme testte systematisch combinaties, waarbij het de ontwerpen behield die de beste afwegingen boden en de ontwerpen die te onnauwkeurig of niet efficiënt genoeg waren, weggooide. Ze testten deze ontwerpen over drie verschillende standaardformaten voor het verwerken van getallen, variërend van het hoge-precisieformaat dat wordt gebruikt in wetenschappelijke berekeningen tot compactere formaten die specifiek zijn ontworpen voor kunstmatige intelligentie. Het doel was om te zien of ze het niveau van onvolmaaktheid konden afstemmen op de specifieke behoeften van de taak.
De resultaten van deze verkenning waren opmerkelijk. Wanneer de onderzoekers hun geoptimaliseerde, onvolmaakte ontwerpen toepasten op beeldverwerkingstaken, zoals het gladstrijken van ruis in een foto of het comprimeren van een afbeelding voor opslag, werd de hardware aanzienlijk kleiner en sneller. In sommige gevallen verminderden de nieuwe ontwerpen de fysieke omvang van de chip met wel 92 procent en verlaagden ze het stroomverbruik met maar liefst 93 procent vergeleken met traditionele, perfect precieze versies. Bemerkelijk genoeg kwamen deze enorme besparingen niet ten koste van de zichtbare kwaliteit; de afbeeldingen geproduceerd door de benaderende hardware waren vrijwel niet te onderscheiden van die gemaakt door de exacte hardware, waarbij een hoog niveau van visuele getrouwheid behouden bleef.
De bevindingen waren nog indrukwekkender toen ze werden toegepast op modellen voor kunstmatige intelligentie die worden gebruikt voor patroonherkenning. De onderzoekers testten hun ontwerpen op standaard datasets die duizenden afbeeldingen van handgeschreven cijfers, kledingstukken en alledaagse voorwerpen bevatten. In verschillende gevallen verbeterde het gebruik van deze benaderende vermenigvuldigers zelfs de prestaties van de kunstmatige intelligentie. Bijvoorbeeld, een model dat getraind is om kledingstukken te herkennen, behaalde een hogere nauwkeurigheidsgraad met de onvolmaakte hardware dan met de perfecte hardware. Dit contra-intuïtieve resultaat suggereert dat de kleine hoeveelheid ruis die door de benadering wordt geïntroduceerd, de computer kan helpen beter te generaliseren, vergelijkbaar met hoe een menselijk brein minder belangrijke details kan negeren om een gezicht sneller te herkennen. Voor de meest complexe dataset die werd getest, boden de best presterende benaderende ontwerpen hardwarebesparingen van tot wel 92 procent in omvang en 93 procent in vermogen, terwijl ze nog steeds een classificatienauwkeurigheid leverden die vergelijkbaar met, of zelfs beter dan, de exacte methoden was.
Dit werk demonstreert dat de weg naar efficiëntere computing niet altijd vereist dat er betere, meer precieze instrumenten worden gebouwd. In plaats daarvan kan het worden gevonden door te begrijpen waar precisie echt noodzakelijk is en waar het veilig kan worden versoepeld. Door een intelligent zoekproces te gebruiken om hardware te ontwerpen die "goed genoeg" is in plaats van perfect, hebben de onderzoekers aangetoond dat het mogelijk is om computerchips te bouwen die drastisch kleiner, sneller en energie-efficiënter zijn. Deze ontwerpen zijn nu beschikbaar voor andere ingenieurs om te gebruiken, wat een nieuwe manier biedt om de volgende generatie apparaten te bouwen die de groeiende eisen van kunstmatige intelligentie kunnen afhandelen zonder onze energiebronnen te verbranden. De studie bevestigt dat in de wereld van computing soms een beetje fout precies wat nodig is om het systeem beter te laten werken.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.