Concurrent LSTM Cell Calculation in Neural Network Unit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors lack efficient mechanisms for performing neural network computations, particularly in deep learning applications, due to limitations in handling large datasets and complex operations within artificial neural networks.

Innovation Solution

A processor architecture incorporating a neural network unit (NNU) with multiple neural processing units (NPUs) that perform concurrent operations, including multiply-accumulate functions and activation functions, and utilize shared resources like weight and data RAMs, along with architectural instructions for efficient data processing and memory management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional processors are used for neural network computations, then general-purpose processing capability is maintained, but computation performance and efficiency for deep learning applications deteriorates

Engineering Contradiction:
Improveneural network computation performanceVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor is segmented into separate functional domains: a general-purpose processor for control and coordination, and dedicated neural network units for computation. Each NNU contains multiple NPUs organized in arrays, allowing specialized optimization for neural network operations while maintaining overall system manageability through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The neural network units are designed with multi-functionality to handle various neural network operations including multiply-accumulate, activation functions, and concurrent LSTM cell calculations. The NPUs can be dynamically configured to process different data sizes and perform multiple functions within the same hardware structure.

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

2Loss of time

If sequential processing is used for neural network operations, then simplicity of execution is maintained, but computation time and clock cycles increase

Engineering Contradiction:
Improveclock cycles for neural network operationsVSAvoidconcurrent calculation mechanism complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Multiple neural processing units are merged into arrays that can execute operations concurrently. The NPUs are organized in structures that allow simultaneous multiply-accumulate operations across multiple neurons, reducing total computation time while sharing common resources like weight RAM and data RAM to manage complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The neural network units implement continuous pipelined operation where NPUs can perform multiply-accumulate operations while others are loading weights or performing activation functions. This overlapping of operations ensures continuous useful computation without idle cycles, significantly reducing total execution time.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If dedicated neural network units are added to processors, then neural network computation efficiency is improved, but overall processor complexity increases

Engineering Contradiction:
Improveneural network computation efficiencyVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor is segmented into separate functional domains: a general-purpose processor for control and coordination, and dedicated neural network units for computation. Each NNU contains multiple NPUs organized in arrays, allowing specialized optimization for neural network operations while maintaining overall system manageability through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The neural network units are designed with multi-functionality to handle various neural network operations including multiply-accumulate, activation functions, and concurrent LSTM cell calculations. The NPUs can be dynamically configured to process different data sizes and perform multiple functions within the same hardware structure.

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

4Speed

If large datasets are processed sequentially, then memory access simplicity is maintained, but processing speed and throughput deteriorate

Engineering Contradiction:
Improvedata processing speedVSAvoidparallel data processing complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Multiple neural processing units are merged into arrays that can execute operations concurrently. The NPUs are organized in structures that allow simultaneous multiply-accumulate operations across multiple neurons, reducing total computation time while sharing common resources like weight RAM and data RAM to manage complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The architecture transitions from sequential one-dimensional processing to parallel multi-dimensional processing. NPUs are arranged in two-dimensional arrays that can simultaneously process multiple data elements across different spatial dimensions, enabling batch processing of large datasets and significantly increasing throughput.

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

Data Source

PatentUS10380481B2Neural network unit that performs concurrent LSTM cell calculations
Publication Date: 2019.08.13 VIA ALLIANCE SEMICON CO LTD
  • US10380481B2 patent drawing
  • US10380481B2 patent drawing
  • US10380481B2 patent drawing

AI summary

An output buffer holds N words arranged as N/J mutually exclusive output buffer word groups (OBWG) of J words each of the N words. N processing units (PU) are arranged as N/J mutually exclusive PU groups. Each PU group has an associated OBWG. Each PU includes an accumulator and an arithmetic unit that performs operations on inputs, which include the accumulator output, to generate a first result for accumulation into the accumulator. Activation function units selectively perform an activation function on the accumulator outputs to generate results for provision to the N output buffer words. For each PU group, four of the J PUs and at least one of the activation function units compute an input gate, a forget gate, an output gate and a candidate state of a Long Short Term Memory (LSTM) cell, respectively, for writing to respective first, second, third and fourth words of the associated OBWG.