A Benchmarking Tool for Evaluation of Approximate Arithmetic Circuits in Convolutional Neural Networks
Authors
Hansen, Albert Berg ; Jepsen, Simon Dahl
Term
4. semester
Education
Publication year
2024
Submitted on
2024-05-31
Pages
219
Abstract
Maskinlæringssystemer som konvolutionelle neurale netværk (CNN’er) bruger ofte meget energi og har krav til lav latenstid. Denne afhandling udvikler et benchmark-værktøj, der forbinder tilnærmet beregning—hardware, der tillader små aritmetiske fejl for at spare energi og tid—med praktiske CNN-arbejdsbelastninger. Værktøjet tager et tilnærmet, kombinatorisk aritmetisk kredsløb og (1) estimerer dets hardwareomkostning og forsinkelse, (2) modellerer de fejl, det indfører, og (3) forudsiger effekten på en CNN’s nøjagtighed og effektivitet. I trin I syntetiseres kredsløbet til en netliste (en oversigt over logiske porte og deres forbindelser). Herfra tæller værktøjet porttyper for at estimere antallet af transistorer, og det estimerer latenstid ved at omdanne netlisten til en rettet acyklisk graf og finde den længste sti (værste udbredelsesforsinkelse). I trin II indlejres kredsløbets adfærd i et lille, skræddersyet CNN implementeret i C++. Dets fejlegenskaber generaliseres i skalerbare, brugerdefinerede CNN-lag, og C++-modellen bruges til at vurdere, om denne generalisering er passende. I trin III indsættes disse lag i et fuldskala CNN, så tabet i nøjagtighed kan vejes op mod de forventede reduktioner i effektforbrug og latenstid. I et fuldskala eksempel faldt nøjagtigheden fra cirka 70 % til cirka 60 %, mens et optimistisk skøn viste, at effektforbruget kunne falde til omkring 10,3 % af det oprindelige og latenstiden til under halvdelen. Resultaterne fremhæver potentialet i tilnærmet hardware og viser, hvordan værktøjet kan støtte mere bæredygtigt design af maskinlæring.
Machine learning systems such as convolutional neural networks (CNNs) can be energy intensive and latency sensitive. This thesis develops a benchmarking tool that links approximate computing—hardware that allows small arithmetic errors to save energy and time—with practical CNN workloads. The tool takes an approximate, combinatorial arithmetic circuit and (1) estimates its hardware cost and delay, (2) models the errors it introduces, and (3) predicts the impact on CNN accuracy and efficiency. In Step I, the circuit is synthesized into a netlist (a list of logic gates and their connections). From this, the tool counts gate types to estimate transistor count, and it estimates latency by converting the netlist to a directed acyclic graph and finding the longest path (worst-case propagation delay. In Step II, the circuit’s behavior is embedded in a small, custom CNN implemented in C++. Its error characteristics are generalized into scalable custom CNN layers, and the C++ model is used to assess whether this generalization is appropriate. In Step III, these layers are inserted into a full-scale CNN so that any loss in accuracy can be weighed against expected reductions in power consumption and latency. In a full-scale example, the approximate hardware reduced accuracy from about 70% to about 60%, while an optimistic estimate indicated that power consumption could drop to around 10.3% of the original and latency to less than half. These results highlight the potential of approximate hardware and show how the tool can guide more sustainable machine learning designs.
[This abstract was generated with the help of AI]
Keywords
Documents
