Parallel CNN Layer Segmentation for Reduced Communication Cost

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large convolutional neural networks (CNNs) are impractically slow due to high computational costs, and existing parallelization methods are inefficient, especially when pooling is used, as they increase communication costs and limit parallelism.

Innovation Solution

A parallel convolutional neural network is implemented across multiple processing nodes, where a subset of layers is interconnected to minimize communication costs while enabling pooling, by selectively communicating activations between nodes, particularly at predetermined intervals or randomly, to balance computation and communication efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the network is partitioned into parallel subnetworks that communicate activations to all other subnetworks at every layer, then parallel computation is achieved, but communication cost increases significantly for CNNs due to their sparse weight matrices

Engineering Contradiction:
Improveparallel computation speedVSAvoidcommunication cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the CNN into distinct computational stages (convolutional layers, pooling layers, fully connected layers) and assigns them to different processing nodes in a pipeline. This segmentation allows each node to specialize in specific operations, reducing the need for frequent inter-node communication while maintaining parallel throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces buffer memory as an intermediary between processing nodes to store intermediate activations. This buffer acts as a mediator that decouples the communication requirements, allowing nodes to process data at different rates without requiring synchronized communication at every layer transition.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If pooling is used to increase CNN accuracy, then activation tensor dimensions change, but this restricts the number of computing nodes and increases communication cost in slice-based parallelization

Engineering Contradiction:
ImproveCNN accuracyVSAvoidparallelization complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements dynamic pipeline configuration that adapts to the presence of pooling layers. When pooling is detected, the system dynamically adjusts the pipeline stages and buffer placements to accommodate the dimension changes, allowing flexible handling of both pooled and non-pooled architectures without fixed limitations on node count.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameterization of the parallelization scheme from fixed slice dimensions to flexible stage-based dimensions. This allows the system to adjust the number of nodes and communication patterns based on whether pooling is present, transforming the rigid parameter constraints into adaptive parameters that can accommodate different architectural choices.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If large N is used to allow more computing nodes in slice parallelization, then parallelism increases, but when pooling is used N becomes small which restricts the number of computing nodes

Engineering Contradiction:
Improvenumber of computing nodesVSAvoidadaptability to pooling operations
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent transitions from parallelizing only across the N dimension (spatial slices) to utilizing multiple dimensions including the depth dimension (u) and the layer dimension. This multi-dimensional parallelization allows the system to maintain high node counts even when N is reduced by pooling, by distributing work across depth slices and pipeline stages rather than relying solely on spatial partitioning.

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

Data Source

PatentUS20240346298A1System and method for parallelizing convolutional neural networks
Publication Date: 2024.10.17 DNNRESEARCH INC
  • US20240346298A1 patent drawing
  • US20240346298A1 patent drawing
  • US20240346298A1 patent drawing

AI summary

A parallel convolutional neural network is provided. The CNN is implemented by a plurality of convolutional neural networks each on a respective processing node. Each CNN has a plurality of layers. A subset of the layers are interconnected between processing nodes such that activations are fed forward across nodes. The remaining subset is not so interconnected.