Mixed Precision Deep Learning Acceleration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deep learning models, particularly convolutional neural networks (CNNs), require significant computational resources and time due to their large number of parameters and operations, which can be inefficient in terms of memory, processing power, and energy consumption, especially when aiming for accurate outputs.
Innovation Solution
Implementing mixed precision computations that dynamically switch between high and low precision modes based on operational needs, allowing for parallel processing and precision mode selection depending on the application, thereby optimizing resource usage and execution speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If high precision computations are used throughout the deep learning model, then output accuracy is maintained, but processing time and computational resource consumption increase
Solution Approach 1:
The patent applies different precision levels to different parts of the neural network computation based on their importance and sensitivity to precision. Critical operations that require high accuracy use high precision (e.g., weight updates, gradient calculations), while less sensitive operations use low precision (e.g., intermediate activations, certain layers). This local differentiation maintains overall model accuracy while significantly reducing computational overhead and processing time.
Solution Approach 2:
The system dynamically adjusts precision levels during computation based on operational needs, data characteristics, and convergence criteria. The precision mode can switch between low and high precision during training and inference phases, allowing the model to adapt to varying computational requirements and maintain accuracy only when necessary.
2Productivity
If low precision computations are used throughout the deep learning model, then processing speed increases, but output accuracy deteriorates
Solution Approach 1:
The patent selectively applies low precision to specific operations and layers where it has minimal impact on final accuracy, while maintaining high precision in critical paths. This includes using low precision for intermediate computations, certain activation functions, and less sensitive layers, while preserving high precision for weight parameters and gradient computations.
Solution Approach 2:
The system dynamically selects precision levels based on the computational phase (training vs. inference), layer type, and convergence status. During early training phases or for robust models, low precision may suffice for faster processing, while switching to high precision when accuracy requirements increase or convergence is not yet achieved.
3Measurement precision
If high precision is used for all parameters, then model accuracy is maintained, but memory consumption and energy usage increase
Solution Approach 1:
The patent stores and processes parameters at different precision levels based on their sensitivity and importance. Weight matrices and bias terms that require high accuracy are maintained in high precision format, while intermediate activations, temporary computations, and less critical parameters use low precision storage. This reduces memory bandwidth requirements and energy consumption for data transfer and processing.
Solution Approach 2:
The system changes the precision parameter (bit depth) of different data types based on their computational role. By representing some parameters in 8-bit or 16-bit format instead of full precision (32-bit or higher), the model reduces memory footprint and energy consumption while maintaining adequate accuracy through selective high precision in critical paths.
4Productivity
If mixed precision computations are implemented, then resource efficiency improves, but system complexity increases
Solution Approach 1:
The patent segments the neural network computation into distinct precision domains, with separate handling for high precision and low precision operations. This includes separate data paths, computation units, and memory structures for different precision levels, allowing independent optimization and management of each precision mode while reducing overall system complexity through modular organization.
Data Source
AI summary
A device for deep learning acceleration with mixed precision may include multiple matrix-matrix (MM) components that each include multiple map memory components configured to store map data, multiple kernel memory components configured to store kernel data, and multiple matrix-vector (MV) components. The MV components may each include multiple vector-vector (VV) components that are each configured to generate a VV output based on an input precision mode, an output precision mode, and an accumulation of products that is based on the map data and the kernel data. Each VV component included in a particular MV component may be coupled with each map memory component and may be coupled with a single kernel memory component. The device may include a data distribution component coupled with the multiple MM components and configured to load the map data into the multiple map memory components.


