Mixed Precision Deep Learning Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveoutput accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #15Dynamics

2Productivity

If low precision computations are used throughout the deep learning model, then processing speed increases, but output accuracy deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidoutput accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If high precision is used for all parameters, then model accuracy is maintained, but memory consumption and energy usage increase

Engineering Contradiction:
Improvemodel accuracyVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If mixed precision computations are implemented, then resource efficiency improves, but system complexity increases

Engineering Contradiction:
Improveresource efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230206041A1Deep learning acceleration with mixed precision
Publication Date: 2023.06.29 MICRON TECHNOLOGY INC
  • US20230206041A1 patent drawing
  • US20230206041A1 patent drawing
  • US20230206041A1 patent drawing

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.