Resistive Processing Unit Array for CNN Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural network training methods, particularly for convolutional neural networks (CNNs), are computationally intensive and inefficient, requiring significant resources and time due to the need for extensive modifications of adjustable parameters during the training phase, which hampers both speed and power efficiency.

Innovation Solution

The implementation of a resistive processing unit (RPU) array that performs local data storage and processing, allowing for parallel updates of weights within the RPU devices, eliminating the need for separate storage and processing elements, and enabling accelerated training through forward, backward, and update pass computations using voltage pulses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional neural network training methods are used with separate storage and processing elements, then the system can perform computations, but the training speed is slow and power consumption is high due to extensive data movement and sequential processing

Engineering Contradiction:
Improvetraining speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent merges storage and processing functions into a single resistive processing unit (RPU) that combines memory and compute capabilities. This integration eliminates the need for separate storage and processing elements, enabling in-place weight updates and eliminating data movement between storage and processing units, thereby significantly improving training speed while reducing power consumption.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The RPU performs self-contained computations and weight updates without requiring external processing elements. The resistive crosspoint device itself executes the computational operations and stores weights locally, enabling autonomous processing that accelerates training while minimizing energy consumption by eliminating the need for continuous data transfer between separate components.

Inventive Principle:
Principle #25Self-service

2Productivity

If separate storage and processing elements are used in neural networks, then the architecture is modular and flexible, but the computational intensity increases and training becomes less efficient

Engineering Contradiction:
Improvetraining efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines storage and processing into a single unified RPU structure, simplifying the overall system architecture by eliminating the need for separate memory and processing components. This integration reduces the number of interconnections and data movement pathways, thereby reducing architectural complexity while simultaneously improving training efficiency through in-place operations.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If extensive modifications of adjustable parameters are performed during training, then the neural network can learn from data, but the computational burden and time required increase significantly

Engineering Contradiction:
Improvelearning capabilityVSAvoidtraining time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs weight updates in-place within the resistive crosspoint devices during the training process, eliminating the need for separate read-modify-write operations. This preliminary action of updating weights directly in the storage location accelerates the learning process by reducing the time required for parameter modifications, enabling faster convergence while maintaining full learning capability.

Inventive Principle:
Principle #10Preliminary action

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach significantly enhances the training speed and efficiency of CNNs by reducing the computational burden and power consumption, enabling broader applications and improved performance in machine learning tasks.

Implementation Method 1

trainable resistive crosspoint devices... resistive processing units (RPUs)... two-terminal RPU... local data storage and local data processing

Methodology Applied
Scientific EffectResistive switching: Electrical Resistance

Data Source

PatentUS10740671B2Convolutional neural networks using resistive processing unit array
Publication Date: 2020.08.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10740671B2 patent drawing
  • US10740671B2 patent drawing
  • US10740671B2 patent drawing

AI summary

Technical solutions are described for implementing a convolutional neural network (CNN) using resistive processing unit (RPU) array. An example method includes configuring an RPU array corresponding to a convolution layer in the CNN based on convolution kernels of the layer. The method further includes performing forward pass computations via the RPU array by transmitting voltage pulses corresponding to input data to the RPU array, and storing values corresponding to output currents from the RPU arrays as output maps. The method further includes performing backward pass computations via the RPU array by transmitting voltage pulses corresponding to error of the output maps, and storing the output currents from the RPU arrays as backward error maps. The method further includes performing update pass computations via the RPU array by transmitting voltage pulses corresponding to the input data of the convolution layer and the error of the output maps to the RPU array.