Enhanced Block Floating Point Format for Neural Network Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Block Floating Point (BFP) representation is inadequate for applications with large ranges of values, such as convolutional neural networks, as it sets small numbers to zero, leading to inaccurate results due to right-shifting of significands.

Innovation Solution

The Enhanced Block Floating Point (EBFP) format represents small numbers as the difference between the exponent and a shared exponent, using a tag bit to indicate whether the number represents a shifted significand or the exponent difference, allowing for more accurate representation of numbers with varying exponents.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If conventional Block Floating Point representation is used to reduce computing resources, then resource usage decreases, but small numbers are set to zero causing loss of information

Engineering Contradiction:
Improvecomputing resourcesVSAvoidsmall numbers
Core Design Contradiction:
Use of energy by moving objectVSLoss of information

Solution Approach 1:

The significand storage is segmented into two distinct parts: a primary significand field for standard BFP representation and an additional field for storing exponent differences. This segmentation allows the system to preserve both large and small numbers within the same block without requiring full floating-point precision for each number, thus reducing computing resources while maintaining information about small values.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary mechanism is introduced where exponent differences are stored separately from the main significand. This intermediary storage allows the system to recover and use small number information that would otherwise be lost in conventional BFP, while still benefiting from the resource efficiency of block floating-point representation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If significands are right-shifted to represent a block of FP numbers by a shared exponent, then device complexity decreases, but accuracy deteriorates as small numbers become zero

Engineering Contradiction:
Improvedevice complexityVSAvoidaccuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The storage structure is segmented to include both the right-shifted significand and an additional component for exponent differences. This segmentation maintains the simplicity of BFP arithmetic while preserving accuracy information that would otherwise be lost during the right-shifting process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameters of representation by storing not just the significand but also metadata about the exponent differences. This parameter change allows the system to maintain low device complexity while improving measurement precision for small numbers within the block.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If a shared exponent is used for a block of FP numbers, then the number of bits required decreases, but the range of representable numbers is limited

Engineering Contradiction:
Improvenumber of bitsVSAvoidrange of numbers
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The bit representation is segmented into multiple components: the shared exponent, the significand, and an additional field for exponent differences. This segmentation allows the system to use fewer total bits while expanding the effective range of representable numbers by capturing both the dominant large values and the subordinate small values within the block.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds another dimension to the representation by storing exponent differences separately. This dimensional addition allows the block floating-point format to represent a wider range of numbers without increasing the total bit count significantly, as the exponent difference field efficiently encodes variations from the shared exponent.

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

Data Source

PatentUS20240036824A1Methods and systems employing enhanced block floating point numbers
Publication Date: 2024.02.01 ARM LTD
  • US20240036824A1 patent drawing
  • US20240036824A1 patent drawing
  • US20240036824A1 patent drawing

AI summary

In a data processor, an input value having a sign, an exponent and a significand is encoded by determining an exponent difference between a base exponent and the exponent. When the exponent difference is not less than a first threshold, only the exponent difference, or a designated value, is encoded to a payload of the output value and one or more tag bits of the output value are set to a first value. When the exponent difference is less than the first threshold, the significand and exponent difference are encoded to the payload of an output value and, optionally, the one or more tag bits of the output value. A sign bit in the output value is set corresponding to the sign of the input value, and the output value is stored.