Dynamic Neural Network Batching Controller for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing batching methods for neural network workloads rely on static batch sizes, which can lead to inefficiencies and increased latency due to mismatched computing and memory cycles across different layers of a neural network topology.

Innovation Solution

A dynamic batching controller determines an optimal batch size for each layer of a neural network topology by analyzing the number of operations and weights of each layer, ensuring that the batch size aligns with the computing resources available, thereby reducing processing latency and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If static batch size is used for neural network workloads, then implementation simplicity is maintained, but processing latency increases due to mismatched computing and memory cycles across different layers

Engineering Contradiction:
Improveprocessing latencyVSAvoidbatching control complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements dynamic batching that adjusts batch sizes adaptively based on layer-specific characteristics. The system transitions from static batch sizing to dynamic batch sizing where the batch size varies across different layers of the neural network topology, optimizing the match between computing cycles and memory cycles for each layer.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different batch sizes to different layers of the neural network based on their specific characteristics. Each layer receives a customized batch size that matches its computing and memory requirements, rather than applying a uniform batch size across all layers.

Inventive Principle:
Principle #3Local quality

2Use of energy by stationary object

If static batch size is used for neural network workloads, then system complexity remains low, but power consumption increases due to inefficient resource utilization

Engineering Contradiction:
Improvepower consumptionVSAvoidbatching control complexity
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The system dynamically adjusts batch sizes to match the actual computing and memory requirements of each layer, preventing both underutilization and overutilization of resources. This dynamic adaptation optimizes power consumption by ensuring that computing resources are efficiently utilized without waste.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the batch size parameter based on layer-specific characteristics such as the number of operations and weights. By adjusting this key parameter dynamically, the system optimizes resource utilization and reduces power consumption.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If larger batch size is used to improve throughput, then processing speed increases, but memory bandwidth requirements increase causing bottlenecks

Engineering Contradiction:
Improveprocessing throughputVSAvoidmemory bandwidth requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies different batch sizes to different layers based on their specific memory and computing requirements. Layers with higher memory bandwidth requirements receive smaller batch sizes, while layers with lower requirements can handle larger batch sizes, thereby optimizing overall throughput without creating memory bottlenecks.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250131256A1Methods and apparatus for dynamic batching of data for neural network workloads
Publication Date: 2025.04.24 INTEL CORP
  • US20250131256A1 patent drawing
  • US20250131256A1 patent drawing
  • US20250131256A1 patent drawing

AI summary

Examples to determine a dynamic batch size of a layer are disclosed herein. An example apparatus to determine a dynamic batch size of a layer includes a layer operations controller to determine a layer ratio between a number of operations of a layer and weights of the layer, a comparator to compare the layer ratio to a number of operations per unit of memory size performed by a computation engine, and a batch size determination controller to, when the layer ratio is less than the number of operations per unit of memory size, determine the dynamic batch size of the layer.