Structured Pruning for Neural Network Weight Matrices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large weight matrices in neural network models require significant memory and computational resources, limiting their usability and performance, especially in systems with lower memory and computational capabilities.

Innovation Solution

The structured pruning system applies a block-wise row and column pruning (BRCP) algorithm to partition and prune the weight matrix, converting it into a sparser output pattern that can be further compressed for efficient hardware implementation, ensuring that at least one sub-row in each row remains unpruned to maintain accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a large weight matrix is used in the neural network model, then the model can achieve high recognition accuracy, but it requires significant memory and computational resources

Engineering Contradiction:
Improverecognition accuracyVSAvoidmemory resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The weight matrix is divided into multiple blocks, and each block is further divided into sub-blocks. This segmentation allows selective pruning of sub-columns and sub-rows while maintaining the overall structure, reducing memory requirements while preserving recognition accuracy through careful selection of what to retain.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and removes redundant or less important sub-columns and sub-rows from the weight matrix blocks. By identifying and eliminating these less critical components through pruning operations, the model achieves memory compression while maintaining the essential information needed for accurate recognition.

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If a large weight matrix is used in the neural network model, then the model can achieve high recognition accuracy, but it incurs huge computational cost for multiplication and addition operations

Engineering Contradiction:
Improverecognition accuracyVSAvoidcomputational cost
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

By segmenting the weight matrix into blocks and sub-blocks, the patent enables selective pruning of sub-columns and sub-rows. This reduces the number of multiplication and addition operations required during inference, as fewer weight elements need to be processed, thereby lowering computational cost while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial pruning by retaining at least one sub-row in each block rather than completely removing entire rows. This partial action approach sufficiently reduces computational operations while preserving enough information to maintain recognition accuracy, avoiding the need for excessive pruning that would harm performance.

Inventive Principle:
Principle #16Partial or excessive action

3Quantity of substance

If the weight matrix is pruned to reduce memory overhead, then memory efficiency improves, but the model accuracy may deteriorate

Engineering Contradiction:
Improvememory overheadVSAvoidmodel accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent segments the weight matrix into blocks and sub-blocks, allowing fine-grained pruning at the sub-column and sub-row level. This segmentation enables memory efficiency improvements by removing redundant elements while preserving critical information in other sub-blocks, thereby maintaining model accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs partial pruning by ensuring that at least one sub-row is retained in each block. This partial action prevents complete removal of any row, thereby preserving sufficient information to maintain model accuracy while still achieving memory overhead reduction through pruning of less critical sub-columns and sub-rows.

Inventive Principle:
Principle #16Partial or excessive action

4Quantity of substance

If traditional pruning methods are applied to the weight matrix, then memory overhead is reduced, but the computational complexity of maintaining accuracy constraints increases

Engineering Contradiction:
Improvememory overheadVSAvoidpruning algorithm complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides the weight matrix into blocks and sub-blocks, creating a hierarchical structure that simplifies the pruning process. This segmentation allows the algorithm to operate on smaller sub-columns and sub-rows independently, reducing the computational complexity of maintaining accuracy constraints compared to evaluating the entire weight matrix at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial pruning by retaining at least one sub-row per block, which provides a simple constraint rule that reduces algorithmic complexity. This partial action approach avoids the need for complex optimization algorithms while still maintaining accuracy, as the constraint is easy to enforce during the pruning process.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11816574B2Structured pruning for machine learning model
Publication Date: 2023.11.14 ALIBABA GROUP HOLDING LTD
  • US11816574B2 patent drawing
  • US11816574B2 patent drawing
  • US11816574B2 patent drawing

AI summary

An input weight pattern of a machine learning model may be received. The input weight pattern may be pruned to produce an output weight pattern based on a predetermined pruning algorithm. The pruning algorithm may include partitioning the input weight pattern into a plurality of sub-patterns, each row of the input weight pattern including sub-rows of a first number of sub-patterns, and each column of the input weight pattern including sub-columns of a second number of sub-patterns; and pruning sub-columns and sub-rows from the plurality of sub-patterns to achieve predetermined column and row sparsities respectively, with a constraint that at least one sub-row in each row of the input weight pattern is not pruned. The output weight pattern may further be compressed to produce a compact weight pattern. The compact weight pattern has lower memory and computational overheads as compared to the input weight pattern for the machine learning model.