Convolution Lowering Hardware for Neural Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep learning neural networks, particularly convolutional neural networks, face performance bottlenecks due to computationally intensive operations, even with specialized processing hardware, as traditional convolution operations are less efficient than matrix multiplication operations and require significant memory resources for buffering.

Innovation Solution

Implementing on-the-fly convolution lowering in hardware accelerators by linearizing convolution layers into general matrix-to-matrix multiplication (GEMM) operations, utilizing GEMM units, and employing caching and blocking schemes to reduce memory access and optimize processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional convolution operations are used in neural networks, then the operations can be performed with standard processing hardware, but the computational efficiency is low and memory resources are excessively consumed

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidmemory resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent transforms the convolution operation parameters by converting 2D spatial convolutions into 1D temporal convolutions through time-major layout reorganization. This parameter transformation enables the use of temporal convolution algorithms that are more efficient on modern processors, reducing both computational complexity and memory requirements while maintaining the same mathematical operation results.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces the traditional mechanical convolution computation mechanism with a matrix multiplication mechanism. By reformulating convolution as matrix multiplication operations, the system can leverage highly optimized BLAS (Basic Linear Algebra Subprograms) libraries and GPU/TPU accelerators designed for matrix operations, achieving significant performance improvements over direct convolution implementation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If specialized processing hardware is used for deep learning, then computational performance improves, but bottleneck effects slow down overall system performance

Engineering Contradiction:
Improvecomputational performanceVSAvoidsystem performance delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary data reorganization and layout transformation before data enters the specialized processing hardware. By pre-converting spatial data to time-major layout and preparing matrices in the appropriate format, the system eliminates bottlenecks at the hardware interface, allowing specialized units to operate at full throughput without waiting for data reformatting during computation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the convolution operation into distinct phases: data reorganization phase, matrix multiplication phase, and result reconstruction phase. This segmentation allows each phase to be optimized independently and executed by different hardware components simultaneously, preventing any single bottleneck from limiting overall system performance.

Inventive Principle:
Principle #1Segmentation

3Reliability

If convolution operations are performed with full buffering of input and filter maps, then complete computation can be performed, but memory usage increases significantly

Engineering Contradiction:
Improvecomputation completenessVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and processes only the necessary portions of input and filter maps at each computation step rather than buffering entire maps. By using the time-major layout and incremental matrix multiplication approach, the system loads and processes data in smaller chunks, completing the full convolution computation while using minimal memory at any given time.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11256977B2Lowering hardware for neural networks
Publication Date: 2022.02.22 META PLATFORMS INC
  • US11256977B2 patent drawing
  • US11256977B2 patent drawing
  • US11256977B2 patent drawing

AI summary

A disclosed computing system may include a special-purpose hardware device having an input subsystem, a linearization subsystem, and a matrix multiplication unit. The input subsystem may facilitate on-the-fly convolution lowering within a neural network convolution layer by directing input volume patches to logical unit(s) of the device. The linearization subsystem may be configured to receive a patch from the input subsystem and to linearize the patch by arranging elements of the patch as a portion of a data matrix row. The matrix multiplication unit of device may be configured to receive the data matrix from the linearization subsystem and to apply a filter matrix to the data matrix via a matrix multiplication operation. Various other methods, systems, and computer-readable media are also disclosed.