Hardware Accelerator for Deep Neural Network Training
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hardware accelerators for deep neural networks are inefficient due to their limited ability to support various precisions and operate effectively across all stages of the training process, leading to prolonged computation times and high resource utilization.
Innovation Solution
A hardware accelerator that performs 1D sub-word parallelism between the sign and mantissa of tensors and operates in both 2D and 3D modes, using a shared exponent handler to manage exponents and support different precision levels, allowing for flexible and efficient computations across various steps of the training process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If dedicated hardware accelerators are used for deep neural network computations, then computational speed is improved, but adaptability to various precisions and training stages is reduced
Solution Approach 1:
The hardware accelerator employs dynamic precision support by configuring processing elements to operate at different precision levels (e.g., FP32, FP16, INT8) based on the specific training stage and computational requirements. This allows the system to adapt its computational precision dynamically, optimizing both speed and adaptability across various deep learning operations.
Solution Approach 2:
The accelerator architecture is designed with universal processing elements that can handle multiple types of operations (matrix multiplication, convolution, element-wise operations) and support various data precisions within the same hardware block. This multi-functionality enables a single hardware accelerator to serve multiple training stages and precision requirements without requiring separate dedicated units for each.
2Measurement precision
If high precision computations are performed throughout the training process, then accuracy is improved, but computational time and resource utilization increase
Solution Approach 1:
The system applies different precision levels to different parts of the computational process based on local requirements. Critical operations that demand high accuracy (e.g., gradient computation in backward pass) are performed at higher precision, while less sensitive operations (e.g., activation functions, certain forward pass computations) are performed at lower precision. This local quality approach maintains overall accuracy while reducing total computational time.
Solution Approach 2:
The hardware accelerator dynamically changes the precision parameter (e.g., from FP32 to FP16 or INT8) based on the specific computational task and training stage. This parameter adaptation allows the system to optimize the trade-off between accuracy and speed by selecting appropriate precision levels for different operations, thereby reducing overall training time while maintaining necessary accuracy.
3Device complexity
If fixed precision hardware accelerators are used, then device complexity is reduced, but ability to support various precisions is limited
Solution Approach 1:
The hardware accelerator is segmented into modular processing elements that can be independently configured for different precision operations. Each processing element can be dynamically allocated to handle specific precision requirements, allowing the system to support multiple precisions without requiring completely separate hardware paths for each precision level. This segmentation reduces overall complexity compared to having dedicated hardware for each precision type.
Data Source
AI summary
A hardware accelerator includes a processing core including a plurality of multipliers configured to perform one-dimensional (1D) sub-word parallelism between a sign and a mantissa of a first tensor and a sign and a mantissa of a second tensor, a first processing device configured to operate in a two-dimensional (2D) operation mode in which results of computation by the plurality of multipliers are output, and a second processing device configured to operate in a three-dimensional (3D) operation mode in which results of computation by the plurality of multipliers are accumulated in a channel direction and then a result of accumulating the results of computation is output.


