CNN Weight Bit-Width Conversion for Unified MAC Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing convolutional neural networks (CNNs) face inefficiencies in multiply-accumulate operations due to varying bit widths of weight coefficients, leading to increased circuit scale and processing time, particularly in portable and embedded systems.

Innovation Solution

A method that converts weight coefficients of varying bit widths to a standard bit width for unified processing, using a conversion unit to output weight coefficients of N bits for multiply-accumulate operations, allowing common arithmetic units to handle different bit widths efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple types of arithmetic units are used to process weight coefficients of different bit widths, then processing efficiency is improved, but device complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidarithmetic unit types
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing a single arithmetic unit that can handle multiple bit widths (e.g., 8-bit, 16-bit, 32-bit weight coefficients) through configurable parameters. The arithmetic unit includes a control unit that receives bit width information and adjusts its operation accordingly, allowing one unit to perform the functions previously requiring multiple specialized units. This reduces device complexity while maintaining processing efficiency for heterogeneous bit width data.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If data is quantized and bit width is decreased, then operation cost and processing time are reduced, but processing precision deteriorates

Engineering Contradiction:
Improveprocessing timeVSAvoidprocessing precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies dynamics by making the bit width configuration dynamic rather than fixed. The system can adaptively select and switch between different bit widths (8-bit, 16-bit, 32-bit) for weight coefficients based on the specific processing requirements of different layers or operations in the neural network. This allows the system to use lower bit widths for operations where precision requirements are lower (reducing processing time) while using higher bit widths where precision is critical, thus balancing processing speed and precision dynamically.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If weight coefficients of different bit widths are processed by a common arithmetic unit, then device complexity is reduced, but processing efficiency deteriorates

Engineering Contradiction:
Improvearithmetic unit configurationVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies parameter changes by introducing configurable bit width parameters to the common arithmetic unit. The unit includes a control unit that receives bit width information as a parameter and adjusts its internal operation parameters accordingly. This allows the same hardware structure to be efficiently configured for different bit width processing tasks, maintaining processing efficiency comparable to specialized units while avoiding the complexity of multiple dedicated arithmetic units. The parameter-based configuration enables optimal performance for each bit width type within a unified architecture.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12505662B2Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
Publication Date: 2025.12.23 CANON KK
  • US12505662B2 patent drawing
  • US12505662B2 patent drawing
  • US12505662B2 patent drawing

AI summary

An information processing apparatus comprises a conversion unit configured to, if a bit width of a weight coefficient in a first layer in weight coefficients in a plurality of layers is N bits, wherein N is a predetermined integer not less than 2, output the weight coefficient, and if the bit width of the weight coefficient is not N bits, output a weight coefficient of N bits obtained by converting the weight coefficient, and an operation unit configured to generate a feature image in a second layer based on a multiply-accumulate operation between the weight coefficient output by the conversion unit and a feature image in the first layer.