CIM Weight Scaling for ADC Partial Sum Quantization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing-in-memory (CIM) architectures face challenges in accurately processing partial sums due to inconsistent ADC input values, leading to inefficiencies and increased hardware complexity, as conventional methods often require additional amplifiers or adjustments to ADC reference voltages.
Innovation Solution
A training method that adjusts model weights to align with fixed ADC specifications, using scaling coefficients to ensure partial sums match ADC quantization ranges without additional circuit overheads, such as amplifiers or reference voltage adjustments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If additional amplifiers are added to amplify partial sums to match ADC quantization range, then measurement precision is improved, but device complexity increases
Solution Approach 1:
The patent extracts the amplification function from separate hardware amplifiers and integrates it into the weight parameters of the neural network model. By removing the dedicated amplifier components and embedding their functionality into the software-based weight parameters, the solution maintains measurement precision while reducing device complexity and hardware overhead.
Solution Approach 2:
The patent introduces weight parameters as an intermediary between the partial sums and the ADC quantization process. Instead of directly amplifying partial sums with hardware amplifiers, the weight parameters serve as a mediator that scales the partial sums during the computational process, achieving the same effect with software-based parameter adjustment rather than additional hardware.
2Measurement precision
If ADC reference voltage is adjusted to match partial sum distribution, then measurement precision is improved, but ease of operation worsens
Solution Approach 1:
Instead of adjusting the ADC reference voltage to match the partial sum distribution, the patent inverts the approach by adjusting the weight parameters to match the ADC quantization range. This inversion simplifies operation because the weight parameters can be automatically learned and adjusted during model training, whereas ADC reference voltage adjustment would require manual calibration and complex control circuits.
Solution Approach 2:
The patent changes the adjustable parameter from ADC reference voltage (hardware parameter requiring voltage control circuits) to weight parameters (software parameters stored in memory). This parameter substitution allows for easier adjustment through simple data loading and processing, eliminating the need for complex voltage control mechanisms and manual calibration procedures.
3Productivity
If convolution operations are split into multiple CIM operations to accommodate memory size, then productivity is improved, but measurement precision worsens due to multiple partial sums
Solution Approach 1:
The patent uses parameter changes (weight scaling coefficients) to compensate for the precision loss introduced by splitting convolution operations. By learnably adjusting the weight parameters, the system can optimize the distribution of partial sums across multiple CIM operations, ensuring that each ADC quantization operation works within its optimal range while maintaining overall computational accuracy.
Solution Approach 2:
The patent employs feedback through the training process to optimize weight parameters based on the actual distribution of partial sums generated by multiple CIM operations. During training, the system observes how partial sums are distributed across different operations and adjusts the weight parameters accordingly, creating a feedback loop that maintains measurement precision despite the splitting of operations for improved productivity.
Data Source
AI summary
A training method that uses an AI module to train scaling coefficients is disclosed. The training method includes the following steps: (a) providing an input feature (F-in), plural convolution kernels, and a first fusion scaling coefficient, wherein each of the plural convolution kernels has a weight feature (W), and the first fusion scaling coefficient includes a first weight scaling factor (Sw) and a first partial sum scaling factor (Sp); (b) performing a first scaling operation on the weight feature (W) and the first fusion scaling coefficient to obtain a first scaling weight (WS); and (c) quantizing the first scaling weight (WS) to obtain a first quantized weight (Q(WS)), and performing a convolution sum operation on the first quantized weight (Q(WS)) and the input feature (F-in) to obtain a first convolution sum.


