Multi-Processor Neural Network Training via Segmented Passes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for training neural networks on mobile devices are inefficient due to the mismatch in optimization between forward and backward passes, leading to high power consumption and prolonged training times, as they often rely on central processing units (CPUs) for both operations.

Innovation Solution

Implementing a multi-processor approach where a neural processor handles the forward pass and a CPU or GPU handles the backward pass, optimizing each operation based on their respective strengths to reduce power consumption and training time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If CPU is used for both forward and backward passes, then device complexity is reduced, but power consumption increases and training time prolongs

Engineering Contradiction:
Improveprocessor configurationVSAvoidpower consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The patent segments the neural network training process into two distinct parts: forward pass handled by neural processor and backward pass handled by CPU/GPU. This segmentation allows each processor type to handle the operations it is optimized for, reducing overall power consumption while maintaining training functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically allocates different processing tasks to different processors based on their strengths. The neural processor handles forward propagation while the CPU or GPU handles backward propagation, creating a dynamic multi-processor workflow that optimizes power efficiency without requiring a completely redesigned system architecture.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If CPU is used for both forward and backward passes, then device complexity is reduced, but training time prolongs

Engineering Contradiction:
Improveprocessor configurationVSAvoidtraining time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The training process is segmented into forward and backward passes, with each segment assigned to the most suitable processor. This segmentation enables parallel processing capabilities and optimizes execution speed by matching computational tasks with appropriate hardware resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the operational parameters by utilizing different processor architectures for different phases of training. The neural processor's specialized architecture accelerates forward passes, while the CPU/GPU handles backward passes, overall reducing training time compared to using a single CPU for both operations.

Inventive Principle:
Principle #35Parameter changes

3Use of energy by moving object

If neural processor is used for forward pass and CPU/GPU for backward pass, then power consumption reduces, but device complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessor configuration
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The system employs dynamic task allocation where the neural processor and CPU/GPU work in coordination, with the neural processor handling forward passes and the CPU/GPU handling backward passes. This dynamic allocation optimizes power consumption while leveraging existing multi-processor architectures in mobile devices.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses an intermediary coordination mechanism to manage data flow and synchronization between the neural processor and CPU/GPU. This intermediary layer handles the complexity of inter-processor communication, allowing power-efficient operation without requiring complete system redesign.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Use of energy by moving object

If neural processor is used for forward pass and CPU/GPU for backward pass, then power consumption reduces, but processing complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing coordination
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

An intermediary coordination layer manages the interaction between neural processor and CPU/GPU, handling data transfer, synchronization, and task allocation. This intermediary approach reduces the burden on individual processors and simplifies the overall coordination complexity while maintaining power efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system design allows the neural processor and CPU/GPU to work together in a universal framework that can handle both forward and backward passes. This multi-functional approach enables flexible task distribution and reduces processing coordination complexity by creating a standardized interface between different processor types.

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

Data Source

PatentUS20210397957A1Multi-processor training of neural networks
Publication Date: 2021.12.23 APPLE INC
  • US20210397957A1 patent drawing
  • US20210397957A1 patent drawing
  • US20210397957A1 patent drawing

AI summary

The subject technology provides a framework for multi-processor training of neural networks. Multi-processor training of neural networks can include performing a forward pass of a training iteration using a neural processor, and performing a backward pass of the training iteration using a CPU or a GPU. Additional operations for facilitating the multi-processor training are disclosed.