Neural Network Layer Data Processing via Feature Map Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural networks, particularly convolutional neural networks, face significant computational costs and power consumption during inference and training due to repetitive convolutional computations, leading to underutilization of available compute resources in hardware accelerators like NPUs.

Innovation Solution

The method involves generating part-input feature maps (IFMs) that correspond to multiple original IFMs and convolving these part-IFMs with filters to produce part-output feature maps, allowing for increased utilization of compute resources by processing multiple part-IFMs in parallel, thereby improving operating performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If convolutional computations are performed repeatedly during inference or training, then computational accuracy is maintained, but processing time and power consumption increase significantly

Engineering Contradiction:
Improvecomputational accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the input feature map into multiple tiles or partitions, allowing convolutional computations to be performed on smaller segments simultaneously. This segmentation enables parallel processing across multiple compute resources while maintaining the same computational accuracy as processing the complete feature map sequentially, thereby reducing overall processing time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a spatial dimension for parallelization by processing different spatial partitions (tiles) of the feature map concurrently. Instead of performing computations sequentially in time, the solution distributes computations across multiple spatial partitions that can be processed in parallel by different compute resources, effectively trading time for spatial parallelism.

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

2Reliability

If convolutional computations are performed repeatedly during inference or training, then computational completeness is ensured, but power consumption increases due to bit switching in registers

Engineering Contradiction:
Improvecomputational completenessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

By segmenting the feature map into tiles, the patent enables each compute resource to process only its assigned partition, reducing the amount of data that needs to be loaded and processed by each unit. This reduces the number of bit switches in registers while ensuring all computations are completed across the distributed system, thereby lowering overall power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges the computational tasks across multiple compute resources, where each resource handles a portion of the overall computation. This distributed approach reduces the computational burden on individual units, minimizing register activity and bit switching per resource, while the collective system maintains complete computational coverage.

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If specialized hardware accelerators like NPUs are used, then convolutional computation speed is improved, but compute resources remain underutilized

Engineering Contradiction:
Improveconvolutional computation speedVSAvoidcompute resource utilization
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the feature map into multiple tiles that can be independently processed by different compute resources within the NPU. This segmentation transforms a single computational task into multiple parallel tasks, enabling better utilization of the available compute resources while maintaining the high-speed convolutional computation capabilities of the specialized hardware.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By dividing the feature map into tiles, the patent ensures that compute resources can continuously process data without idle periods. Each compute resource has a dedicated tile to process, eliminating waiting time and ensuring continuous useful action across all hardware units, thereby maximizing resource utilization while maintaining high computation speed.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12061967B2Processing data for a layer of a neural network
Publication Date: 2024.08.13 ARM LTD
  • US12061967B2 patent drawing
  • US12061967B2 patent drawing
  • US12061967B2 patent drawing

AI summary

A method of processing input data for a given layer of a neural network using a data processing system comprising compute resources for performing convolutional computations is described. The input data comprises a given set of input feature maps, IFMs, and a given set of filters. The method comprises generating a set of part-IFMs including pluralities of part-IFMs which correspond to respective IFMs, of the given set of IFMs. The method further includes grouping part-IFMs in the set of part-IFMs into a set of selections of part-IFMs. The method further includes convolving, by respective compute resources of the data processing system, the set of selections with the given set of filters to compute a set of part-output feature maps. A data processing system for processing input data for a given layer of a neural network is also described.