Litcius/Paper detail

Compressing deep neural networks on FPGAs to binary and ternary precision with <tt>hls4ml</tt>

Jennifer Ngadiuba, Vladimir Loncar, Maurizio Pierini, Sioni Summers, Giuseppe Di Guglielmo, Javier Duarte, Philip Harris, Dylan Rankin, Sergo Jindariani, Mia Liu, Kevin Pedro, Nhan Tran, Edward Kreinar, Sheila Sagear, Zhenbin Wu, Duc Hoang

2020Machine Learning Science and Technology94 citationsDOIOpen Access PDF

Abstract

We present the implementation of binary and ternary neural networks in the hls4ml library, designed to automatically convert deep neural network models to digital circuits with FPGA firmware. Starting from benchmark models trained with floating point precision, we investigate different strategies to reduce the network's resource consumption by reducing the numerical precision of the network parameters to binary or ternary. We discuss the trade-off between model accuracy and resource consumption. In addition, we show how to balance between latency and accuracy by retaining full precision on a selected subset of network components. As an example, we consider two multiclass classification tasks: handwritten digit recognition with the MNIST data set and jet identification with simulated proton-proton collisions at the CERN Large Hadron Collider. The binary and ternary implementation has similar performance to the higher precision implementation while using drastically fewer FPGA resources.

Topics & Concepts

MNIST databaseBenchmark (surveying)Computer scienceBinary numberField-programmable gate arrayArtificial neural networkTernary operationAlgorithmFloating pointSet (abstract data type)Point (geometry)Binary dataDeep learningConvolutional neural networkComputer engineeringData setArtificial intelligenceFeature (linguistics)Computer hardwareElectronic circuitPattern recognition (psychology)Multiclass classificationKey (lock)Encoding (memory)Deep neural networksBinary Independence ModelFeature extractionRadiation Effects in ElectronicsComputational Physics and Python ApplicationsAdvanced Neural Network Applications