Efficient hardware acceleration of deep neural networks via arithmetic complexity reduction
Authors:   , Reggiani Enrico 
Published: March 2024

(English) Over the past decade, significant progresses in the field of artificial intelligence have led to remarkable advancements in a wide
range of technologies. Deep learning, a subfield of machine learning centered around deep neural networks (DNNs), has played
a pivotal role in driving these achievements. Indeed, DNNs have demonstrated unprecedented accuracy levels in tasks such as
image recognition, speech recognition, and natural language processing (NLP). However, the high computational demand
associated with current DNN models limits their applicability across different platforms and applications.
Specifically, the constant increase in the number of parameters and operations required for DNN computations, and the growing
complexity of their topologies and layers are posing obstacles for a wide range of computing systems, ranging from small
general-purpose CPUs to hardware accelerators targeting HPC and cloud computing environments.
In this thesis, we explore various research directions aimed at optimizing DNN computations on modern hardware architectures.
We first investigate a novel mathematical technique, called binary segmentation, studiyng its applicability to reduce the arithmetic
complexity of linear algebra operations involving narrow integers on general-purpose CPU architectures. Additionally, we
propose a novel hardware microarchitecture called Bison-e accelerating linear algebra kernels using binary segmentation. We
demonstrate that Bison-e achieves up to 5.6×, 13.9×, and 24× improvement than a single RISC-V core in the computation of
convolution and fully-connected layers of relevant DNNs using 8-bit, 4-bit, and 2-bit data sizes, respectively. Moreover, we show
that Bison-e enhances energy efficiency by 5× for string-matching tasks when compared to a RISC-V-based vector processing
unit (VPU). We integrate Bison-e into a complete SoC based on RISC-V showing that it only accounts for a negligible 0.07% area
overhead compared to the baseline architecture.
We then propose Mix-GEMM, a hardware-software co-designed architecture accelerating quantized DNNs, supporting arbitrary
data sizes ranging from 8-bit to 2-bit, including mixed-precision computations. On the software side, we introduce a library that
enhances the existing BLIS framework and exploits custom RISC-V instructions to allow for high-performance matrix-matrix
multiplication on CPU architectures. On the hardware side, Mix-GEMM leverage on the Bison-e microarchitecture to perform
SIMD computations among narrow integers, with performance scaling as the computational data sizes decrease. Our
experimental evaluation, conducted on representative quantized CNNs and targeting edge and mobile CPUs, demonstrates that
a RISC-V-based edge SoC incorporating Mix-GEMM achieves up to 1.3 TOPS/W in energy efficiency and up to 13.6 GOPS per
core in throughput, surpassing the performance of the OpenBLAS framework running on a commercial RISC-V-based edge
processor by a factor ranging from 5.3× to 15.1×.
Furthermore, synthesis and PnR of the enhanced SoC in 22nm FDX technology shows that Mix-GEMM accounts for only 1% of
the overall SoC area.
We finally explore a novel hardware microarchitecture called Flex-SFU, acceleration complex DNN activation functions. Flex-SFU
expands the set of functional units within deep learning VPUs, used as general-purpose co-processors alongside the main matrix
multiplication units of DNN accelerators targeting HPC and cloud computing. Flex-SFU leverages non-uniform piecewise
interpolation and supports multiple data formats. Thanks to these features, Flex-SFU achieves an average improvement of 22.3×
in mean squared error (MSE) compared to previous piecewise linear (PWL) interpolation approaches. We evaluate Flex-SFU
using over 600 computer vision and NLP models, demonstrating an average end-to-end performance improvement of 35.7%
compared to the baseline AI hardware accelerator, while only introducing a 5.9% area and 0.8% power overhead.

(Español) Durante la última década, avances significativos en el campo de la inteligencia artificial han llevado a notables mejoras en una amplia gama de tecnologías. El deep learning, un subcampo del machine learning centrado en las deep neural networks (DNN), ha desempeñado un papel fundamental en impulsar estos logros. De hecho, las DNN han demostrado niveles de precisión sin precedentes en tareas como el reconocimiento de imágenes, el reconocimiento de voz y el procesamiento del lenguaje natural (NLP). Sin embargo, la alta demanda computacional asociada a los modelos de DNN actuales limita su aplicabilidad en diferentes plataformas y aplicaciones.
Específicamente, el constante aumento en el número de parámetros y operaciones requeridas para las computaciones de DNN, y la creciente complejidad de sus topologías y layers, plantean obstáculos para una amplia gama de sistemas informáticos, desde pequeñas CPU hasta aceleradores HPC.
En esta tesis, exploramos varias direcciones de investigación destinadas a optimizar las computaciones de DNN en arquitecturas de hardware modernas.
Primero, investigamos una técnica matemática llamada binary segmentation, estudiando su aplicabilidad para reducir la complejidad aritmética de operaciones de álgebra lineal que involucran narrow-integers CPUs. Además, proponemos una nueva microarquitectura de hardware llamada Bison-e que acelera algoritmos de álgebra lineal utilizando binary segmentation. Demostramos que Bison-e logra mejoras de hasta 5.6×, 13.9× y 24× en la computación de DNN relevantes utilizando tamaños de datos de 8, 4 y 2 bits, respectivamente. Además, mostramos que Bison-e mejora la eficiencia energética en un 5× para tareas de string-matching en comparación con una unidad de procesamiento vectorial (VPU) basada en RISC-V. Integrar Bison-e en un SoC completo basado en RISC-V muestra que solo representa un 0.07% de sobrecarga de área en comparación con la arquitectura base.
Luego, proponemos Mix-GEMM, una arquitectura co-diseñada de hardware y software que acelera DNN cuantizados, admitiendo tamaños de datos arbitrarios que van desde 8 bits hasta 2 bits, incluyendo cálculos de precisión mixta. En el lado del software, introducimos una libreria que aprovecha las instrucciones personalizadas de RISC-V para permitir una multiplicación de matrices de alto rendimiento. En el lado del hardware, Mix-GEMM aprovecha de Bison-e para realizar cálculos SIMD entre narrow-integers, con un rendimiento que escala a medida que disminuyen los tamaños de datos computacionales. Nuestra evaluación experimental demuestra que un SoC basado en RISC-V que incorpora Mix-GEMM logra hasta 1.3 TOPS/W en eficiencia energética y hasta 13.6 GOPS por core en rendimiento, superando el rendimiento del marco OpenBLAS en un procesador comercial basado en RISC-V en un factor que oscila entre 5.3× y 15.1×.
Además, la síntesis y el PnR del SoC mejorado en tecnología de 22 nm FDX muestran que Mix-GEMM representa solo un 1% del área total del SoC.
Finalmente, exploramos una nueva microarquitectura de hardware llamada Flex-SFU, que acelera las activation functions de DNN complejas. Flex-SFU amplía el conjunto de unidades funcionales dentro de las unidades de procesamiento de deep learning, que se utilizan como coprocesadores de propósito general junto con las unidades principales de multiplicación de matrices de aceleradores de DNN dirigidos a HPC. Flex-SFU aprovecha la interpolación no uniforme y admite múltiples formatos de datos. Gracias a estas características, Flex-SFU logra una mejora promedio del 22.3× en el error cuadrático medio en comparación con enfoques anteriores de interpolación lineal. Evaluamos Flex-SFU utilizando más de 600 modelos de computer vision y NLP, demostrando una mejora promedio de rendimiento end-to-end del 35.7% en comparación con el acelerador de hardware AI de referencia, con solo un 5.9% de sobrecarga de área y un 0.8% de sobrecarga de potencia.