Neural Accelerator Data Transmission via Zero-Value Weight Skipping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep learning neural networks, particularly convolutional neural networks, require significant computational resources for image classification and recognition, leading to increased resource demands as training data volume grows, and existing acceleration methods do not efficiently manage data reuse in neural accelerators.

Innovation Solution

A data transmission method and apparatus that utilize a loader, sender, buffer controller, and reuse buffer to load and store input data based on kernel shape and zero-value information, selectively skipping zero-value data points to reduce memory access and transmission, thereby accelerating convolution operations in neural accelerators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all input data is loaded and transmitted for convolution operations, then complete data processing is achieved, but memory access and transmission overhead increase

Engineering Contradiction:
Improveconvolution operation speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts and identifies zero-value weights from the kernel through pruning techniques, separating them from non-zero weights. This extraction allows the system to exclude zero-value data from loading and transmission processes, reducing memory access overhead and power consumption while maintaining complete processing of necessary data

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements partial action by loading only the necessary portion of input data corresponding to non-zero weights rather than all input data. The loader selectively fetches data based on kernel sparsity patterns, and the sender selectively transmits relevant data to the executer, avoiding unnecessary data processing and reducing overall system overhead

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If all input data is loaded into memory, then data availability is ensured, but memory access overhead increases

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidmemory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-identifying and storing zero-value weight positions in zero-value information structures before the convolution operation begins. The loader uses this pre-computed information to directly skip zero-value data regions during data loading, eliminating the need to read and process unnecessary data from memory

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts zero-value weight position information and uses it to create a filtering mechanism that removes unnecessary data access operations. The sender extracts only the necessary data portions based on zero-value information, preventing wasteful memory access cycles

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If complete input data is transmitted to the executer, then processing accuracy is maintained, but transmission overhead increases

Engineering Contradiction:
Improveconvolution operation speedVSAvoiddata transmission complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces zero-value information structures as intermediary data structures that mediate between the loader and sender components. These intermediaries contain pre-computed zero-value weight position information that guides the sender in selectively transmitting only necessary data portions to the executer, reducing transmission overhead while maintaining processing accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The sender performs partial action by transmitting only the subset of input data that corresponds to non-zero weights rather than all input data. This selective transmission reduces bandwidth requirements and transmission complexity while ensuring that all necessary data for accurate convolution computation is delivered

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11797461B2Data transmission method for convolution operation, fetcher, and convolution operation apparatus
Publication Date: 2023.10.24 SAMSUNG ELECTRONICS CO LTD
  • US11797461B2 patent drawing
  • US11797461B2 patent drawing
  • US11797461B2 patent drawing

AI summary

A data transmission method for a convolution operation, and a convolution operation apparatus including a fetcher that includes a loader, at least one sender, a buffer controller, and a reuse buffer. The method includes loading, by the loader, input data of an input feature map according to a loading order, based on input data stored in the reuse buffer, a shape of a kernel to be used for a convolution operation, and two-dimensional (2D) zero-value information of weights of the kernel; storing, by the buffer controller, the loaded input data in the reuse buffer of an address cyclically assigned according to the loading order; and selecting, by each of the at least one sender, input data corresponding to each output data of a convolution operation among the input data stored in the reuse buffer, based on one-dimensional (1D) zero-value information of the weights, and outputting the selected input data.