Neural Engine Circuit for 3D Convolution Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems relying solely on CPUs for neural network operations face significant bandwidth consumption and increased power usage due to the resource-intensive nature of machine learning computations, particularly in performing multi-dimensional convolution operations.

Innovation Solution

A neural engine circuit within a neural processor that includes multiple multiply-add circuits and an accumulator circuit, designed to perform three-dimensional convolution operations efficiently by dividing accumulators into batches to process and store output data for each output depth plane and channel, thereby reducing the computational load on CPUs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If CPU and main memory are used to instantiate and execute machine learning systems, then ease of configuration is improved, but bandwidth consumption and power consumption increase significantly

Engineering Contradiction:
Improveease of configurationVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system is divided into two parts: a configurable control layer (CPU) that handles high-level decision-making and model selection, and a dedicated neural processing unit (NPX) that handles intensive computational operations. This segmentation allows the CPU to remain lightweight while the NPX handles power-intensive computations efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A neural processing engine acts as an intermediary between the CPU and main memory, performing computations locally within the NPX unit. This intermediary architecture reduces the need for frequent data transfers to and from main memory, thereby reducing bandwidth consumption and power usage while maintaining computational flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If CPU is used for various operations of machine learning systems, then ease of operation is improved, but bandwidth consumption increases

Engineering Contradiction:
Improveease of operationVSAvoidbandwidth consumption
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The system separates control functions (handled by CPU) from computation functions (handled by NPX). The CPU manages data flow and coordinates operations, while the NPX performs intensive multiply-accumulate operations, reducing the bandwidth burden on the CPU-memory interface.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The neural processing engine serves as an intermediary computation unit that processes data locally before results need to be returned to the CPU. This local processing reduces the volume of data that must be transmitted over the memory bus, thereby reducing bandwidth consumption while maintaining ease of operation through centralized control.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multi-dimensional convolution operations are performed, then processing capability is improved, but computational load on CPU increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidcomputational load on CPU
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The neural processing engine is divided into multiple independent neural processing elements (NPEs), each capable of performing convolution operations independently. This segmentation distributes the computational load across multiple specialized units rather than burdening the CPU, thereby improving processing capability while reducing CPU complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces general-purpose CPU-based computation with specialized hardware circuits (neural processing elements) that are optimized for specific neural network operations such as convolution, activation functions, and pooling. This substitution of specialized hardware for general-purpose software execution improves processing capability while reducing the effective computational load on the CPU.

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

Data Source

PatentUS11853868B2Multi dimensional convolution in neural network processor
Publication Date: 2023.12.26 APPLE INC
  • US11853868B2 patent drawing
  • US11853868B2 patent drawing
  • US11853868B2 patent drawing

AI summary

Embodiments of the present disclosure relate to a neural engine of a neural processor circuit having multiple multiply-add circuits and an accumulator circuit coupled to the multiply-add circuits. The multiply-add circuits perform multiply-add operations of a three dimensional convolution on a work unit of input data using a kernel to generate at least a portion of output data in a processing cycle. The accumulator circuit includes multiple batches of accumulators. Each batch of accumulators receives and stores, after the processing cycle, the portion of the output data for each output depth plane of multiple output depth planes. A corresponding batch of accumulators stores, after the processing cycle, the portion of the output data for a subset of the output channels and for each output depth plane.