Dynamic Minibatch Resizing for Neural Network Memory Constraints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Training large-scale deep neural networks is computationally intensive and memory bandwidth limited due to the need to process large minibatches that often exceed the capacity of on-chip memory, leading to inefficiencies in resource utilization and performance.
Innovation Solution
Implementing dynamic spatial minibatching, where the minibatch is broken down into smaller spatial minibatches that fit within on-chip memory, allowing each layer to process outputs immediately without waiting for the entire minibatch to complete, thereby reducing memory bandwidth usage and enhancing compute efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If large minibatches are used to process more data in parallel, then productivity is improved, but the minibatch size exceeds on-chip memory capacity causing increased memory bandwidth usage and loss of time
Solution Approach 1:
The patent divides a large minibatch into multiple smaller spatial minibatches that can be processed independently. Each spatial minibatch is sized to fit within on-chip memory, allowing layers to complete processing without waiting for the entire large minibatch. This segmentation resolves the contradiction by enabling parallel processing of multiple small batches instead of waiting for one large batch to complete memory operations.
Solution Approach 2:
The patent dynamically adjusts the minibatch size based on available on-chip memory capacity. Rather than using a fixed large minibatch size, the system adapts the minibatch dimensions to match the hardware constraints, allowing optimal utilization of on-chip memory while maintaining high processing throughput through dynamic resizing.
2Productivity
If large minibatches are used to improve processing efficiency, then productivity is improved, but off-chip memory access increases leading to bandwidth limitations and performance degradation
Solution Approach 1:
By segmenting the large minibatch into smaller spatial minibatches that fit within on-chip memory, the patent eliminates the need for frequent off-chip memory accesses. Each spatial minibatch can be fully processed using only on-chip memory resources, dramatically reducing memory bandwidth consumption while maintaining high compute efficiency through continuous processing.
Solution Approach 2:
The patent loads and processes spatial minibatches using pre-fetched data that fits within on-chip memory before moving to the next batch. This preliminary action of preparing and processing data within available memory capacity prevents the need for repeated off-chip accesses during computation, reducing overall memory bandwidth requirements.
3Measurement precision
If the entire minibatch must complete before the next layer processes, then measurement precision of gradient estimation is improved, but loss of time increases due to sequential processing
Solution Approach 1:
The patent segments the minibatch processing into multiple spatial minibatches that can be handled by different layers concurrently. While maintaining gradient estimation accuracy through proper accumulation across spatial minibatches, the system allows layer N to begin processing spatial minibatch 1 while layer N-1 is still processing subsequent spatial minibatches, eliminating the sequential waiting time.
Solution Approach 2:
The patent enables continuous processing by allowing the next layer to immediately process the output of the previous layer as soon as it is available, rather than waiting for the entire minibatch to complete. This continuity of useful action maintains gradient accuracy through proper synchronization while eliminating idle waiting time between layers.
Data Source
AI summary
A minibatch in a neural network execution may be dynamically resized based on on-chip memory. For example, a size of the minibatch is configured such that the minibatch fits within on-chip memory. The size of the minibatch may be resized for a sequence of layers in the neural network execution. A next layer's execution can commence responsive to the resized minibatch being completed in a previous layer without having to wait for all of the minibatch to be completed in the previous layer.


