Neural Network Weight Precision Allocation for Edge Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural networks trained with varying precision for edge devices often consume significant resources and result in inefficient performance due to lower accuracy when deployed on devices with limited computational resources.

Innovation Solution

A progressive training system that adjusts the precision of neural network weight parameters based on performance metrics, formulating a bit-width allocation problem as a binary integer linear programming issue to optimize bit-width settings across layers, allowing for efficient resource use without retraining the network.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If neural networks are trained with varying precision (FP32, FP16, INT8) to reduce computational resources, then memory usage and computing resources are reduced, but accuracy significantly deteriorates

Engineering Contradiction:
Improvecomputational resourcesVSAvoidaccuracy
Core Design Contradiction:
Use of energy by moving objectVSMeasurement precision

Solution Approach 1:

The patent changes the precision parameter of weight parameters from uniform high precision (FP32) to variable precision (INT4, INT8, FP16, FP32) across different layers. By adjusting the precision parameter based on layer importance and computational requirements, the system reduces overall computational resources while maintaining accuracy in critical layers.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies different precision levels to different layers of the neural network based on their specific characteristics and importance. Critical layers maintain higher precision (FP32 or FP16) to preserve accuracy, while less critical layers use lower precision (INT4 or INT8) to reduce computational burden, achieving local optimization of the precision parameter.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If uniform high precision (FP32) is used for all weight parameters, then accuracy is maintained, but memory usage and computing resources increase significantly

Engineering Contradiction:
ImproveaccuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent changes the precision parameter from uniform FP32 across all layers to a variable distribution (INT4, INT8, FP16, FP32) based on layer characteristics. This parameter optimization reduces the total quantity of memory required to store weight parameters while maintaining accuracy through strategic high-precision allocation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies different precision levels to different layers based on their specific requirements. Critical layers use higher precision (FP32) to maintain accuracy, while non-critical layers use lower precision (INT4, INT8) to reduce memory usage, achieving local optimization of memory allocation.

Inventive Principle:
Principle #3Local quality

3Productivity

If quantization is applied to reduce precision of weight parameters, then computational efficiency improves, but performance and accuracy significantly deteriorate

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidperformance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent changes the precision parameter from uniform high precision to variable precision across layers. By carefully selecting which layers to quantize and to what precision level, the system improves computational efficiency through quantization while maintaining performance in critical layers through higher precision representation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies quantization selectively to different layers based on their characteristics. Critical layers maintain higher precision to preserve performance, while non-critical layers undergo aggressive quantization to improve computational efficiency, achieving local optimization of the efficiency-performance tradeoff.

Inventive Principle:
Principle #3Local quality

4Use of energy by moving object

If lower precision (INT4, INT8) is used for weight parameters, then resource consumption is reduced, but training convergence and model performance deteriorate

Engineering Contradiction:
Improveresource consumptionVSAvoidtraining convergence
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The patent changes the precision parameter from uniform low precision (INT4, INT8) to variable precision across layers. By maintaining higher precision in critical layers and using lower precision in non-critical layers, the system reduces overall resource consumption while preserving training convergence and model performance through strategic high-precision allocation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies different precision levels to different layers based on their training requirements. Critical layers use higher precision to ensure proper training convergence and model performance, while non-critical layers use lower precision to reduce resource consumption, achieving local optimization of the resource-convergence tradeoff.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20230325656A1Adjusting precision of neural network weight parameters
Publication Date: 2023.10.12 NVIDIA CORP
  • US20230325656A1 patent drawing
  • US20230325656A1 patent drawing
  • US20230325656A1 patent drawing

AI summary

Apparatuses, systems, and techniques to cause one or more portions of one or more neural networks to be trained. In at least one embodiment, one or more portions of one or more neural networks are caused to be trained by, for example, iteratively adjusting precision of weight parameters associated with the one or more portions based, at least in part, on one or more performance metrics of the one or more portions.