Dynamic Processing Element Array Expansion for Neural Network Inference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Artificial neural networks face high latency in inference due to limited resources in underlying hardware, requiring serial performance of tensor operations which increases computation time, especially in complex models like deep neural networks.

Innovation Solution

Splitting tensor operations, such as convolution or multi-head attention, into sub-operations that can be performed in parallel by multiple computing engines, allowing each engine to generate portions of the output tensor, which are then concatenated without additional arithmetic operations to reduce latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If tensor operations are performed serially on limited hardware resources, then device complexity is reduced, but inference latency increases

Engineering Contradiction:
Improveinference latencyVSAvoidhardware resource requirements
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent divides tensor operations into multiple sub-operations that can be executed in parallel by different processing elements. Specifically, the convolution operation is segmented into multiple partial convolutions that operate on different portions of the input data, allowing simultaneous execution and reducing overall inference latency without requiring a complete overhaul of the hardware architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to the processing architecture by enabling multiple processing elements to operate at different stages of the same tensor operation simultaneously. This creates a pipeline effect where different sub-operations progress through different stages in parallel, effectively adding a time-based dimension to the computational flow and reducing latency without increasing spatial hardware complexity

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

2Productivity

If more processing elements are added to increase parallelism, then productivity improves, but device complexity increases

Engineering Contradiction:
Improveinference throughputVSAvoidnumber of processing elements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent designs processing elements that can dynamically assume different roles based on the current operation phase. The same physical processing element can function as an input buffer in one cycle, perform computations in the next cycle, and serve as an output buffer subsequently. This multi-functionality allows the system to achieve high productivity with fewer physical elements, as each element contributes to multiple stages of the parallel processing pipeline

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

Data Source

PatentUS11868895B2Dynamic processing element array expansion
Publication Date: 2024.01.09 AMAZON TECH INC
  • US11868895B2 patent drawing
  • US11868895B2 patent drawing
  • US11868895B2 patent drawing

AI summary

A computer-implemented method includes receiving a neural network model that includes a tensor operation, dividing the tensor operation into a set of sub-operations, and generating instructions for performing a plurality of sub-operations of the set of sub-operations on respective computing engines of a plurality of computing engines on a same integrated circuit device or on different integrated circuit devices. Each sub-operation of the set of sub-operations generates a portion of a final output of the tensor operation. An inference is made based on a result of a sub-operation of the plurality of sub-operations, or based on results of the plurality of sub-operations.