Synaptic Array Pipelining for Analog Neural Network Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Pipelining of deep neural network training is complicated by the need to store and retrieve large amounts of data for weight updates, which requires long-range data traffic and significant memory, limiting scalability as the number of neural network layers increases.

Innovation Solution

Implementing a 5-step sequence with two logical array-cores per neural network layer for short-term storage and crossbar functionality, where one array-core handles forward propagation, reverse propagation, and weight updates, eliminating the need for long-range data traffic by keeping storage and RPU/crossbar functionality local.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If large amounts of data are stored and retrieved for weight updates, then weight update accuracy is improved, but device complexity and memory requirements increase significantly

Engineering Contradiction:
Improveweight update accuracyVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the neural network processing into separate stages (forward propagation, backward propagation, weight update) that can be pipelined. Each stage processes data independently, allowing intermediate results to be stored temporarily in small local buffers rather than requiring large memory for all data simultaneously. This segmentation enables accurate weight updates while reducing overall memory requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary computation of forward propagation results and stores them in local buffers before weight updates are needed. This preliminary action allows the system to have accurate weight update data ready without requiring large amounts of memory to hold all intermediate results indefinitely, as they are computed and stored in advance in compact local storage.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If long-range data transmission is implemented for weight updates, then weight update capability is improved, but processing speed decreases due to data transmission bottlenecks

Engineering Contradiction:
Improveweight update capabilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent implements local buffers at each neural network layer that store intermediate results locally. This local quality ensures that weight update data can be retrieved from nearby storage rather than requiring long-range transmission across the entire system. The local buffers provide both the adaptability for weight updates and the speed needed for efficient processing by minimizing data transmission distances.

Inventive Principle:
Principle #3Local quality

3Productivity

If significant memory is allocated for storing intermediate results, then pipelining capability is improved, but scalability to large neural networks is limited

Engineering Contradiction:
Improvepipelining capabilityVSAvoidscalability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the memory requirements into small local buffers at each layer rather than requiring large centralized memory. This segmentation allows the system to pipeline operations efficiently within each layer while maintaining scalability, as each layer independently manages its own small buffer rather than requiring proportional increases in total memory for larger networks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a centralized memory architecture to a distributed local buffer architecture across multiple layers. This dimensional change in memory organization enables pipelining capability by providing local storage at each stage, while simultaneously improving scalability by allowing the network to grow without requiring proportional increases in any single memory component.

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

4Measurement precision

If data is stored temporarily during forward propagation for later retrieval, then backward propagation accuracy is improved, but processing time increases

Engineering Contradiction:
Improvebackward propagation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary storage of forward propagation results in local buffers during the forward pass. This preliminary action ensures that accurate data is available for backward propagation without requiring time-consuming re-computation or long-range data retrieval later. The local buffers provide both the accuracy needed for correct gradient computation and the speed needed for efficient backward propagation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20220101084A1Pipelining for analog-memory-based neural networks with all-local storage
Publication Date: 2022.03.31 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20220101084A1 patent drawing
  • US20220101084A1 patent drawing
  • US20220101084A1 patent drawing

AI summary

Pipelining for analog-memory-based neural networks with all-local storage is provided. In various embodiments, an array of inputs is received by a first synaptic array in a hidden layer from a prior layer during a feed forward operation. The array of inputs is stored by the first synaptic array during the feed forward operation. The array of inputs is received by a second synaptic array in the hidden layer during the feed forward operation. The second synaptic array computes outputs from array of inputs based on weights of the second synaptic array during the feed forward operation. The stored array of inputs is provided from the first synaptic array to the second synaptic array during a back propagation operation. Correction values are received by the second synaptic array during the back propagation operation. Based on the correction values and the stored array of inputs, the weights of the second synaptic array are updated.