SMART-AIMC: Sensitivity-Aware Mixed ADC Resolution with Fine-Grained Tunability for Analog In-Memory Computing
Organizations: Princeton University, NJ, USA. · EnCharge AI, CA, USA.
Abstract
Analog In-Memory Computing (IMC) is a promising paradigm for accelerating GEMM-based AI workloads by executing computations directly within the memory array in the analog domain. While IMC delivers substantial energy and throughput improvements, it can suffer from significant task accuracy degradation due to analog-to-digital converter (ADC) quantization noise, which occurs at the GEMM output and is thus different from weight/activation quantization, which occurs at the GEMM input. Mixed ADC resolution allows IMC modules to choose between high- and low-resolution ADC modes with different energy costs, offering a compelling accuracy-energy trade-off. However, selecting ADC resolutions across IMC units while respecting hardware granularity constraints remains challenging. In this paper, we propose SMART-AIMC, a Sensitivity-aware Mixed ADC Resolution framework with fine-grained Tunability for Analog In-Memory Computing. SMART-AIMC correlates the algorithmic task loss to hardware ADC quantization noise in the form of an ADC Channel Sensitivity (ACS) metric. Using this metric, SMART-AIMC systematically, and in a disciplined manner, allocates ADC resources to critical computations. Furthermore, we introduce a sensitivity-based channel reordering scheme that overcomes the hardware granularity constraints with no runtime overhead and approaches the optimal ADC quantization possible for the model. Evaluated across diverse workloads, SMART-AIMC unlocks a superior accuracy-energy Pareto frontier, providing (1) higher task accuracy at matched energy budgets and (2) fine-grained tuning across efficiency targets, from aggressive energy savings to near-digital inference accuracy. At the latter operating point, SMART-AIMC achieves higher modeled system-level energy efficiency for linear projections than the INT8 digital baseline with negligible accuracy degradation.
Figures & tables
| Method | LLaMA-2-7B | LLaMA-3.2-3B | Mistral-7B-v0.3 | Qwen2-1.5B-Instruct | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| KL ( ) | PPL ( ) | Avg. Acc. ( ) | TOPS/W ( ) | KL ( ) | PPL ( ) | Avg. Acc. ( ) | TOPS/W ( ) | KL ( ) | PPL ( ) | Avg. Acc. ( ) | TOPS/W ( ) | KL ( ) | PPL ( ) | Avg. Acc. ( ) | TOPS/W ( ) | |
| INT8 Baseline | 0.0015 | 5.47 | 66.64 | 2.42 | 0.0024 | 7.82 | 64.99 | 2.41 | 0.0008 | 5.32 | 71.58 | 2.42 | 0.0123 | 10.12 | 60.76 | 2.40 |
| Random Alloc. | 1.0535 | 11.94 | 47.93 | 22.82 | 2.4698 | 73.01 | 40.63 | 22.58 | 0.5423 | 8.63 | 57.45 | 23.32 | 1.3563 | 32.22 | 42.80 | 21.91 |
| Heuristic Alloc. | 0.3510 | 7.33 | 59.24 | 22.82 | 0.7756 | 16.78 | 50.81 | 22.58 | 0.2946 | 6.91 | 64.22 | 23.32 | 0.9115 | 21.57 | 47.92 | 21.91 |
| Smart-AIMC | 0.2917 | 7.01 | 59.91 | 22.82 | 0.6762 | 14.92 | 52.37 | 22.58 | 0.2642 | 6.76 | 64.85 | 23.32 | 0.7791 | 19.39 | 47.72 | 21.91 |
| Method | ViT-Small | ViT-Base | ViT-Large | |||
|---|---|---|---|---|---|---|
| KL ( ) | Acc. ( ) | KL ( ) | Acc. ( ) | KL ( ) | Acc. ( ) | |
| INT8 Baseline | 0.0011 | 79.80 | 0.0004 | 81.80 | 0.0006 | 83.40 |
| O+V budget | ||||||
| Random Alloc. | 2.1804 | 40.34 | 0.2754 | 78.18 | 6.5593 | 0.10 |
| Heuristic Alloc. | 2.2133 | 41.60 | 0.2169 | 79.90 | 6.5754 | 0.10 |
| Smart-AIMC | 0.5863 | 68.30 | 0.0964 | 80.90 | 6.1645 | 2.30 |
| Method | KL ( ) | PPL ( ) | Avg. Acc. ( ) | TOPS/W ( ) |
|---|---|---|---|---|
| INT8 Baseline | 0.0015 | 5.47 | 66.64 | 2.42 |
| Smart-AIMC | 0.0224 | 5.57 | 65.84 | 16.93 |
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
| Category | Operations and Associated Costs |
|---|---|
| IMC-Mapped Operations | Q, K, V, O, Gate, Up, and Down, including input/output precision conversion, weight accesses, partial-sum accumulation, and associated data movement. |
| Other Operations | Attention BMMs, RMSNorm, RoPE, softmax, SwiGLU, residual additions, and their associated costs. |
| Permutations | Scope | Dimension | Sensitivity Metric |
|---|---|---|---|
| global | O + Down | ||
| per-block † | V | ||
| per-block † | Q + K | ||
| per-block † | Gate + Up |
| Method | ARC-c | ARC-e | BoolQ | HellaSwag | PIQA | OBQA | Winogrande | Avg. |
|---|---|---|---|---|---|---|---|---|
| LLaMA-2-7B | ||||||||
| INT8 Baseline | 45.05 | 73.74 | 79.48 | 76.13 | 78.78 | 44.0 | 69.30 | 66.64 |
| Random Alloc. | 27.05 | 45.16 | 59.63 | 53.45 | 65.89 | 29.40 | 54.93 | 47.93 |
| Heuristic Alloc. | 38.48 | 64.44 | 68.96 | 69.46 | 73.99 | 38.60 | 60.77 | 59.24 |
| Smart-AIMC | 39.76 | 65.82 | 70.12 | 69.64 | 73.72 | 38.20 | 62.12 | 59.91 |
| LLaMA-3.2-3B | ||||||||
| Method | LLaMA-2-7B | LLaMA-3.2-3B | Mistral-7B-v0.3 | Qwen2-1.5B-Instruct | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| KL | PPL | Avg. Acc. | TOPS/W | KL | PPL | Avg. Acc. | TOPS/W | KL | PPL | Avg. Acc. | TOPS/W | KL | PPL | Avg. Acc. | TOPS/W | |
| INT8 Baseline | 0.0015 | 5.47 | 66.64 | 2.42 | 0.0024 | 7.82 | 64.99 | 2.41 | 0.0008 | 5.32 | 71.58 | 2.42 | 0.0123 | 10.12 | 60.76 | 2.40 |
| Random Alloc. | 0.5114 | 8.42 | 54.04 | 20.30 | 1.0914 | 21.69 | 48.40 | 19.90 | 0.3120 | 7.01 | 63.00 | 20.28 | 0.6594 | 18.54 | 49.56 | 18.92 |
| Heuristic Alloc. | 0.1531 | 6.26 | 63.17 | 20.30 | 0.3389 | 10.71 | 57.78 | 19.90 | 0.1397 | 6.04 | 67.75 | 20.20 | 0.4578 | 14.97 | 52.13 | 18.92 |
| Smart-AIMC | 0.1374 | 6.16 | 63.14 | 20.30 | 0.3048 | 10.54 | 57.17 | 19.90 | 0.1178 | 5.91 | 67.79 | 20.28 | 0.3032 | 12.99 | 53.87 | 18.92 |
| Allocation | Reordering | PPL ( ) |
|---|---|---|
| Allocation pipelines | ||
| Heuristic | None | 7.3283 |
| Activation magnitude | Activation magnitude | 13.5037 |
| Hessian-only | Hessian-only | 7.5437 |
| ACS | ACS | 7.0130 |
| Reordering with ACS allocation | ||
| Configuration | Time (s) | GPU (GiB) | PPL ( ) |
|---|---|---|---|
| A. Calibration sample count | |||
| 8 | 9.9 | 31.4 | 7.0270 |
| 16 | 19.3 | 31.4 | 7.0113 |
| 32 | 37.9 | 31.4 | 7.0065 |
| 64 (default) | 74.9 | 31.4 | 7.0138 |
| 128 | 150.0 | 31.4 | 7.0185 |
| ADC Bits | Smart-AIMC | ACS w/o Reord. | Heuristic | Random |
|---|---|---|---|---|
| 9/12 | 7.0130 | 7.0445 | 7.3283 | 11.9438 |
| 9/11 | 7.1411 | 7.1773 | 7.4508 | 12.5052 |
| 9/10 | 7.7380 | 7.7748 | 8.0997 | 13.2116 |
| 8/12 | 309.8581 | 361.5514 | 634.2484 | 6,082.6392 |
| 8/11 | 333.8069 | 392.6672 | 689.6928 | 6,197.6001 |
| 8/10 | 476.3950 | 543.5512 | 892.2458 | 6,279.1348 |
| ADC Bits | PPL ( ) |
|---|---|
| 9/12 | 7.0130 |
| 9/10/12 | 5.8338 |
| 9/11/12 | 5.8462 |
| Dimension | Random | Hessian-only | Smart-AIMC |
|---|---|---|---|
| Column sweep ( ) | |||
| 11.8732 | 7.5672 | 6.9997 | |
| 11.9124 | 7.5616 | 7.0162 | |
| 11.9438 | 7.5672 | 7.0130 | |
| 12.2049 | 7.5709 | 7.0144 | |
| 12.0034 | 7.5642 | 7.0233 | |
| ADC Budget | Random | Heuristic | Smart-AIMC |
|---|---|---|---|
| O+V | 11.9438 | 7.3283 | 7.0130 |
| O+Down+V | 8.1960 | 6.2600 | 6.1584 |
| Noise | Allocation Scheme | PPL ( ) | Avg. Acc. ( ) |
|---|---|---|---|
| 0.1 | Random Alloc. | 14.80 | 44.01 |
| Heuristic Alloc. | 7.72 | 57.20 | |
| Smart-AIMC | 7.31 | 58.26 | |
| 0.2 | Random Alloc. | 42.00 | 39.25 |
| Heuristic Alloc. | 9.36 | 54.13 | |
| Smart-AIMC | 8.47 | 54.26 |
| Model | License | Source |
|---|---|---|
| LLaMA-2-7B Touvron et al. (2023) | Llama 2 Community | [HuggingFace] |
| LLaMA-3.2-3B Meta AI (2024) | Llama 3.2 Community | [HuggingFace] |
| Mistral-7B-v0.3 Mistral AI (2024) | Apache 2.0 | [HuggingFace] |
| Qwen2-1.5B-Instruct Yang et al. (2024) | Apache 2.0 | [HuggingFace] |
Compute-in-Memory
Compute-in-memory (CIM) performs computation within or beside memory arrays to reduce data movement and accelerate AI workloads.
See all 59 papers