Winograd Convolution Engine with Dynamic MAC Precision
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing electronic devices face challenges in efficiently performing convolution operations in neural networks due to the computational intensity of these operations, particularly in lightweight models, where edge computing technologies struggle to handle the complexity effectively.
Innovation Solution
The electronic device transforms input feature maps and weight kernels into the Winograd domain and utilizes multiple types of low-precision multiply-accumulate (MAC) units, grouped based on statistical characteristics, to perform convolution operations efficiently by mapping feature and weight value groups to appropriate MAC units, and then applies inverse Winograd transforms to generate output feature maps.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If convolution operations are performed using traditional high-precision MAC units, then computation accuracy is maintained, but computational burden and power consumption increase significantly
Solution Approach 1:
The patent changes the precision parameter of MAC units dynamically. Different MAC units operate at different precision levels (e.g., 8-bit, 16-bit, 32-bit) based on the statistical characteristics of the data being processed. This allows the system to use lower precision (and thus lower power) when high accuracy is not critical, while maintaining high precision only when necessary.
Solution Approach 2:
The system dynamically selects and configures MAC units based on real-time data characteristics. The transformation data processor analyzes the statistical properties of transformed feature maps and weight kernels, then dynamically maps appropriate MAC units to handle different data groups, making the precision adaptable to the actual computational requirements.
2Use of energy by moving object
If multiple types of MAC units are used with different precision levels, then power efficiency is improved, but device complexity increases
Solution Approach 1:
The computation unit is segmented into multiple types of MAC units with different precision capabilities. Each MAC unit type is specialized for specific precision requirements, allowing the system to divide and conquer the computational task by assigning appropriate precision levels to different data groups based on their characteristics.
Solution Approach 2:
The transformation data processor serves multiple functions: it transforms data to Winograd domain, analyzes statistical characteristics, creates value groups, and maps to appropriate MAC units. This multi-functional approach consolidates control logic and reduces overall system complexity despite having diverse MAC units.
3Productivity
If Winograd transform is applied to reduce computational complexity, then convolution operation efficiency is improved, but transformation and inverse transformation overhead is introduced
Solution Approach 1:
The Winograd transform is applied as a preliminary step before the main convolution computation. By transforming the input feature maps and weight kernels to the Winograd domain in advance, the system reduces the number of MAC operations required during the actual convolution, making the computational savings worthwhile despite the initial transformation cost.
Data Source
AI summary
An electronic device and method thereof. The electronic device includes an input feature map transformer configured to transform an input feature map (IFM) to a Winograd domain, a weight kernel transformer configured to transform a weight kernel to the Winograd domain, a transformation data processor configured to map, a plurality of types of multiply-accumulate (MAC) units included in a computation unit, to a plurality of feature groups grouping feature values in a plurality of channels of the transformed input feature map and a plurality of weight value groups grouping weight values in a plurality of channels of the transformed weight kernel, a computation data processor configured to collect MAC operation results from the computation unit, and an inverse transformer configured to perform an inverse Winograd transform on a result output from the computation data processor to thereby generate an output feature map (OFM) useable for performing a convolution operation.


