DNN Weight Sparsity Balancing Across Processing Elements
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deep neural networks (DNNs) face inefficiencies due to high computation costs and unbalanced sparsity in processing elements (PEs), leading to synchronization bottlenecks and suboptimal energy consumption, despite the potential for sparsity-based acceleration.
Innovation Solution
A sparsity balancing system that uses bitmaps to rearrange weights and activations, ensuring even distribution of sparse data across PEs, thereby balancing workload and improving synchronization efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sparsity-based acceleration is applied in DNNs, then computation cost is reduced, but unbalanced sparsity distribution across PEs causes synchronization bottlenecks
Solution Approach 1:
The patent applies local quality by transforming the global sparsity property into local balance. Specifically, it redistributes sparse weights across PEs such that each PE receives a locally balanced portion with comparable numbers of zero and non-zero elements. This is achieved through algorithms that analyze the sparsity pattern and reassign weights to ensure uniform workload distribution, thereby resolving the synchronization bottleneck caused by unbalanced sparsity while preserving the computation efficiency gains from sparsity-based acceleration.
2Use of energy by moving object
If sparsity is exploited for acceleration, then energy consumption is reduced, but workload imbalance across PEs occurs
Solution Approach 1:
The patent addresses workload distribution by implementing local balance in sparsity exploitation. It redistributes weights across PEs to ensure each processor receives a balanced subset with comparable computational loads. This involves analyzing the sparsity patterns and reassigning weights through algorithms that minimize workload variance, thereby maintaining energy efficiency benefits while improving operational ease and load balancing across the parallel processing architecture.
3Loss of time
If weights are rearranged to balance sparsity, then synchronization efficiency is improved, but additional processing overhead is introduced
Solution Approach 1:
The patent applies preliminary action by performing sparsity balancing and weight redistribution during the offline training or model preparation phase. The sparsity analysis, PE assignment, and weight reordering are all computed in advance before deployment. This preliminary processing creates a pre-optimized weight configuration that eliminates the need for complex runtime synchronization management, thereby reducing synchronization time without introducing significant overhead during actual DNN inference operations.
Data Source
AI summary
An apparatus is provided to access a weight vector of a layer in a sequence of layers in the DNN. The weight vector includes a first sequence of weights having different values. A bitmap is generated based on the weight vector. The bitmap includes a second sequence of bitmap elements. Each bitmap element corresponds to a different weight and has a value determined based at least on the value of the corresponding weight. The index of each bitmap element in the second sequence matches the index of the corresponding weight in the first sequence. A new bitmap is generated by rearranging the bitmap elements in the second sequence based on the values of the bitmap elements. The weight vector is rearranged based on the new bitmap. The rearranged weight vector is divided into subsets, each of which is assigned to a different PE for a MAC operation.


