Dynamic Precision Adjustment in Neural Network Dot Product Engines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural network processing methods require manual adjustment of precision levels, which is time-consuming and inefficient, and once precision is reduced for production deployment, it becomes fixed, limiting dynamic adjustment based on real-time factors like power consumption and processing speed.

Innovation Solution

Implementing a memristor crossbar architecture with a dot product engine that allows for dynamically adjustable precision across different stages of a multi-stage compute process, automatically determining precision levels at runtime based on competing factors such as power consumption, processing accuracy, and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If precision is reduced to increase processing speed, then processing speed is improved, but precision is degraded

Engineering Contradiction:
Improveprocessing speedVSAvoidparameter precision
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent implements dynamic precision adjustment where the precision level of neural network parameters is changed at runtime based on processing requirements. Different precision levels (e.g., 32-bit, 16-bit, 8-bit) can be selectively applied to different layers or operations during execution, allowing the system to optimize between speed and precision dynamically rather than being fixed at a single precision level.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different precision levels to different parts of the neural network processing pipeline. Specifically, certain layers or operations can use higher precision while others use lower precision, allowing localized optimization where high precision is needed for accuracy-critical operations and lower precision can be used for speed-critical operations.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If fixed precision is used for production deployment, then resource allocation is simplified, but adaptability to changing conditions is reduced

Engineering Contradiction:
Improveprecision adjustment flexibilityVSAvoidprecision management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system transitions from static precision configuration to dynamic precision adjustment, where precision levels can be modified at runtime based on processing requirements, power constraints, and performance targets. This allows the same neural network model to adapt to different deployment conditions without requiring multiple fixed-precision versions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the precision parameter of neural network weights and activations dynamically during execution. By adjusting bit-width parameters (e.g., changing from 32-bit float to 16-bit float or 8-bit integer), the system can optimize resource usage and performance while maintaining the same underlying model architecture and weights.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If high precision is used throughout the processing pipeline, then processing accuracy is improved, but resource consumption increases

Engineering Contradiction:
Improveprocessing accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies high precision selectively to only those parts of the neural network where it is most beneficial for accuracy, while using lower precision for other parts where the impact on accuracy is minimal. This localized application of high precision reduces overall power consumption while maintaining necessary accuracy levels.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Instead of applying high precision uniformly across all operations, the patent uses high precision only partially - specifically for critical operations that most impact accuracy - and accepts lower precision for less critical operations, achieving a balance between accuracy and power consumption.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11385863B2Adjustable precision for multi-stage compute processes
Publication Date: 2022.07.12 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11385863B2 patent drawing
  • US11385863B2 patent drawing
  • US11385863B2 patent drawing

AI summary

Disclosed techniques provide for dynamically changing precision of a multi-stage compute process. For example, changing neural network (NN) parameters on a per-layer basis depending on properties of incoming data streams and per-layer performance of an NN among other considerations. NNs include multiple layers that may each be calculated with a different degree of accuracy and therefore, compute resource overhead (e.g., memory, processor resources, etc.). NNs are usually trained with 32-bit or 16-bit floating-point numbers. Once trained, an NN may be deployed in production. One approach to reduce compute overhead is to reduce parameter precision of NNs to 16 or 8 for deployment. The conversion to an acceptable lower precision is usually determined manually before deployment and precision levels are fixed while deployed. Disclosed techniques and implementations address automatic rather than manual determination or precision levels for different stages and dynamically adjusting precision for each stage at run-time.