Heterogeneous FPGA Architecture for Neural Network Training
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hardware accelerators face challenges in efficiently training quantized neural networks due to high precision requirements for gradients and variation in computations, limiting the benefits of quantization and increasing energy consumption.
Innovation Solution
A heterogeneous architecture for FPGAs is designed, leveraging mixed precision and sparsity properties to optimize resource usage, with specialized compute units and programmable data transformation arrays, enabling efficient execution of quantized neural network training operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If quantization is applied to reduce bit widths for data and operations, then energy efficiency and performance are improved, but training time increases significantly (taking weeks on GPUs)
Solution Approach 1:
The patent applies different precision levels to different parts of the neural network training process. Specifically, it uses mixed precision where certain operations and data types (activations, weights) are quantized to lower precision while gradients maintain higher precision. This local differentiation allows energy efficiency improvements in computation-intensive operations without sacrificing training accuracy or requiring excessively long training times.
Solution Approach 2:
The patent implements dynamic precision adjustment during training. The system can adaptively change precision levels based on the training phase, operation type, and convergence requirements. This dynamic approach allows the system to use lower precision when appropriate to save energy while switching to higher precision when accuracy is critical, thereby balancing energy efficiency with training time.
2Measurement precision
If high precision is maintained for gradient computations in quantized neural networks, then classification accuracy is preserved, but energy consumption increases
Solution Approach 1:
The patent applies precision differentiation locally to gradient computations. While gradients maintain higher precision to preserve classification accuracy, other parts of the system (activations, weights, intermediate computations) use lower precision. This selective approach ensures accuracy is maintained where critical while reducing energy consumption in less sensitive operations.
Solution Approach 2:
The patent changes precision parameters dynamically based on the computational context. Gradient computations use higher precision parameters to maintain accuracy, while other operations use lower precision parameters to reduce energy consumption. The system adjusts these parameters adaptively based on convergence metrics and operation types.
3Productivity
If heterogeneous architecture with specialized compute units is implemented, then resource usage efficiency is optimized, but device complexity increases
Solution Approach 1:
The patent segments the computing system into specialized compute units, each optimized for specific operation types (e.g., MAC units for multiplication-accumulation, quantization units for precision conversion). This segmentation allows each unit to be highly efficient at its specific task, improving overall resource usage efficiency while managing complexity through functional specialization.
Solution Approach 2:
The heterogeneous architecture employs compute units with multi-functionality capabilities. These units can dynamically switch between different operation types and precision levels based on the computational requirements. This universality reduces the need for completely separate specialized hardware for each operation type, thereby managing device complexity while maintaining resource efficiency.
Data Source
AI summary
Methods, systems, apparatus, and circuits for dynamically optimizing the circuit for forward and backward propagation phases of training for neural networks, given a fixed resource budget. The circuits comprising: (1) a specialized circuit that can operate on a plurality of multi-dimensional inputs and weights for the forward propagations phase of neural networks; and (2) a specialized circuit that can operate on either gradients and inputs, or gradients and weights for the backward propagation phase of neural networks. The method comprising: (1) an analysis step to obtain the number of operations and the precision of operations in the forward and backward propagations phases of the neural network; (2) a sampling step to obtain the number of zero-valued activations and gradients during the execution of the neural network; (3) a scheduling and estimation step to obtain the runtime for the forward and backward phases of neural network execution using specialized circuits; (4) a builder step to apply the optimal breakdown of resource budget for the forward and backward phases of the neural network to improve the execution of the Neural Network training for future iterations.


