FPGA ANN Weight Quantization and Memory Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The performance requirements of modern artificial neural networks (ANNs) are challenging to implement due to latency, cost, and power constraints, with large size and complexity exceeding the capabilities of commodity CPUs, necessitating the use of powerful processing systems like GPUs and FPGAs, but these solutions are inefficient in terms of resource utilization and storage.

Innovation Solution

A method for configuring field-programmable gate arrays (FPGAs) to implement ANNs by quantizing weights to reduced-precision formats and partitioning block memories to store multiple weights in each addressable location, allowing for persistent storage and efficient resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If weights are stored in floating-point format with high precision, then model accuracy is maintained, but memory storage requirements increase significantly

Engineering Contradiction:
Improvemodel accuracyVSAvoidmemory storage requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies parameter changes by transitioning weight representations from floating-point format to integer formats with different precisions. Specifically, it uses a hierarchy of precision levels (e.g., 8-bit, 4-bit, 2-bit integers) to represent weights, allowing the system to adjust precision parameters based on the specific weight values and their impact on model accuracy. This resolves the contradiction by enabling accurate model performance with reduced memory requirements through configurable precision parameters.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements local quality by assigning different precision levels to different weight sets within the same neural network. Instead of uniformly reducing all weights to low precision, the system evaluates each weight's contribution to model accuracy and applies appropriate precision levels locally. This allows critical weights to maintain higher precision while less critical weights use lower precision, optimizing the balance between accuracy and memory usage.

Inventive Principle:
Principle #3Local quality

2Ease of manufacture

If standard memory partitioning is used for weight storage, then implementation is simple, but resource utilization is inefficient

Engineering Contradiction:
Improveimplementation simplicityVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the weight storage into multiple precision segments organized in a hierarchical structure. Weights are partitioned into different precision groups (e.g., high-precision, medium-precision, low-precision segments) based on their importance and distribution characteristics. This segmented approach allows efficient memory utilization by storing only the necessary precision for each weight group, improving resource utilization while maintaining a manageable implementation through systematic organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a precision dimension to the traditional memory storage approach. Instead of storing all weights in a single uniform memory space, it creates a multi-dimensional storage structure where the precision level becomes an additional dimension. This allows the system to optimize memory usage by selecting appropriate precision levels for different weight groups, achieving better resource utilization without significantly complicating the implementation through automated precision assignment algorithms.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If high-precision weights are used throughout the network, then model accuracy is maintained, but computational complexity and resource requirements increase

Engineering Contradiction:
Improvemodel accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies dynamics by making precision levels adaptable and configurable rather than fixed. The system can dynamically adjust precision requirements based on the specific neural network architecture, weight distributions, and accuracy requirements. This dynamic approach allows the computational complexity to be optimized for each specific application while maintaining necessary accuracy, resolving the contradiction between precision and complexity through flexible, context-aware precision management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11783200B2Artificial neural network implementation in field-programmable gate arrays
Publication Date: 2023.10.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11783200B2 patent drawing
  • US11783200B2 patent drawing
  • US11783200B2 patent drawing

AI summary

Field-programmable gate array and method to implement an artificial neural network. A trained model of the neural network is processed, in which weights are defined in a floating-point format, to quantize each set of weights to a respective reduced-precision format in dependence on effect of quantization on accuracy of the model. For each set of weights, a partitioning scheme is defined for a set of block memories of the apparatus such that a plurality k of those weights can be stored in each addressable location of the set of memories, wherein k differs for different sets of weights. The apparatus can be programmed to implement the neural network such that weights in each set are persistently stored in a set of block memories partitioned according to the partitioning scheme for that set of weights.