Block Floating-Point Conversion for AI Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for training artificial intelligence models, such as deep neural networks, are hindered by the need for extensive computational resources and high memory usage, particularly when using floating-point formats like FP32.

Innovation Solution

The proposed solution involves converting floating-point values into block floating-point values, which share a common exponent and store only the sign and mantissa, reducing memory requirements and enabling efficient processing using hardware accelerators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If floating-point values (FP32) are used for training AI models, then calculation precision is maintained, but memory usage and power consumption increase significantly

Engineering Contradiction:
Improvecalculation precisionVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments floating-point values into block floating-point values by grouping multiple values with the same exponent together. This segmentation allows the system to store only one exponent for the entire block rather than individual exponents for each value, significantly reducing memory usage while maintaining calculation precision through the block-based organization structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the exponent information from individual floating-point values and stores it separately as a shared exponent for the block. By taking out the exponent from each individual value and consolidating it at the block level, the system eliminates redundant exponent storage and reduces overall memory requirements while preserving the precision needed for calculations.

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If floating-point values are used for training AI models, then calculation accuracy is maintained, but training time increases due to extensive computational resources required

Engineering Contradiction:
Improvecalculation accuracyVSAvoidtraining time
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent merges multiple floating-point values into block floating-point values by combining values with the same exponent into single block representations. This merging reduces the total number of values that need to be processed during training, decreasing computational overhead and training time while maintaining calculation accuracy through the preserved sign and mantissa information.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent changes the parameter representation from individual floating-point values to block-based representations with shared exponents. This parameter change transforms the data structure to reduce memory access operations and computational complexity during training, thereby improving productivity and reducing training time while maintaining the necessary calculation accuracy.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If block floating-point values are used, then memory usage is reduced, but processing complexity increases due to conversion requirements

Engineering Contradiction:
Improvememory usageVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-converting floating-point values to block floating-point values before training operations begin. This pre-processing step organizes the data into blocks with shared exponents in advance, so that during actual training, the system can directly use the optimized block structure without needing to perform complex conversions on-the-fly, thereby reducing processing complexity during execution.

Inventive Principle:
Principle #10Preliminary action

4Use of energy by moving object

If block floating-point format is implemented, then power consumption is reduced, but hardware implementation complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoidhardware implementation complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent uses copying by creating block floating-point representations that replicate the essential information (sign and mantissa) of original floating-point values while using a shared exponent for the block. This copying approach allows the hardware to work with simplified block structures that consume less power, while the copying mechanism manages the complexity of conversion and representation transformation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250199763A1Method of converting floating-point value into block floating-point value, method of processing block floating-point value, and hardware accelerator and electronic device for performing the methods
Publication Date: 2025.06.19 KOREA UNIV RES & BUSINESS FOUND
  • US20250199763A1 patent drawing
  • US20250199763A1 patent drawing
  • US20250199763A1 patent drawing

AI summary

A method of converting a floating-point value into a block floating-point value includes obtaining floating-point values, determining, as a shared exponent, an exponent of at least one first floating-point value having a maximum exponent, from among the floating-point values, storing an index of the at least one first floating-point value in a memory, right-shifting an implicit bit and explicit bits of a mantissa of at least one second floating-point value not having the maximum exponent, from among the floating-point values, by as much as a difference between the shared exponent and an exponent of the at least one second floating-point value, and storing, in the memory, block floating-point values including a sign and a mantissa of the at least one first floating-point value, a sign and the mantissa of the at least one second floating-point value, and the shared exponent.