Neural Network Weight Mapping Using Binary Tree Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for mapping neural networks to hardware face inefficiencies due to large memory requirements and bandwidth constraints, particularly when dealing with large arrays of weights that need to be split into passes for efficient execution, often resulting in suboptimal hardware utilization and prolonged computational times.

Innovation Solution

A method using a binary tree to assess how to split a neural network layer into hardware passes by determining a starting depth, arranging coefficients into groups, calculating compressed sizes, and updating the depth based on termination criteria, ultimately outputting data defining the passes tailored to specific hardware constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If weights are stored in compressed form and split into multiple hardware passes, then memory bandwidth usage is reduced, but computational complexity increases due to the need for decompression and coordination across passes

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

Solution Approach 1:

The patent divides the weight matrix into multiple passes, where each pass processes a subset of weights. This segmentation allows the system to read fewer weights per pass from memory, reducing memory bandwidth requirements. The binary tree structure further segments the passes into hierarchical groups, enabling efficient organization and processing of weight subsets across multiple hardware passes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary compression of weights before they are stored in memory, and pre-calculates the binary tree structure that will guide the pass segmentation. This preliminary action reduces the amount of data that needs to be transferred during runtime and establishes the organizational framework in advance, offsetting the computational complexity during execution.

Inventive Principle:
Principle #10Preliminary action

2Volume of stationary object

If the array of weights is divided into multiple hardware passes, then memory size requirements are reduced, but the time required to execute the neural network layer increases

Engineering Contradiction:
Improvememory sizeVSAvoidexecution time
Core Design Contradiction:
Volume of stationary objectVSLoss of time

Solution Approach 1:

The weight array is segmented into multiple passes that can be processed sequentially or in parallel. By dividing the large weight array into smaller subsets, the system reduces the memory size required to hold all weights simultaneously. The binary tree structure organizes these segments hierarchically, allowing efficient traversal and processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic action by repeatedly executing hardware passes, where each pass processes a specific subset of weights. The binary tree structure enables systematic traversal through different levels and nodes, creating a structured periodic pattern of weight processing that efficiently utilizes available hardware resources across multiple execution cycles.

Inventive Principle:
Principle #19Periodic action

3Productivity

If a binary tree structure is used to optimize pass splitting, then hardware efficiency is improved, but the initial mapping and setup complexity increases

Engineering Contradiction:
Improvehardware efficiencyVSAvoidmapping complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a hierarchical dimension by organizing weight passes into a binary tree structure. Instead of linear or flat organization, weights are arranged in multiple levels where parent nodes represent larger weight subsets and child nodes represent finer-grained subsets. This dimensional transformation enables more efficient hardware mapping by providing structured access patterns that match hardware capabilities.

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

Solution Approach 2:

The binary tree structure acts as an intermediary between the compressed weight storage and the hardware execution units. It provides a structured interface that translates the compressed weight format into organized passes suitable for hardware processing, mediating the complexity of compression algorithms and hardware constraints through a systematic hierarchical framework.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240119254A1Mapping neural networks to hardware
Publication Date: 2024.04.11 IMAGINATION TECH LTD
  • US20240119254A1 patent drawing
  • US20240119254A1 patent drawing
  • US20240119254A1 patent drawing

AI summary

A method of mapping a neural network to hardware uses a binary tree to assess how to split a layer of the neural network into a plurality of hardware passes by determining a starting value of a current depth within the binary tree and arranging the set of coefficients into groups, each corresponding to a node at the current depth. A compressed size of at least one group of coefficients at the current depth is calculated and it is determined whether termination criteria are satisfied. In response to determining that the termination criteria are not satisfied, the current depth is updated and the calculating and determining steps are repeated. In response to determining that termination criteria are satisfied, data is output which defines each of the plurality of hardware passes, wherein the data is dependent upon the current depth.