COE 592Lecture 4.2Glossary
Glossary
Every term in Pruning ratios, fine-tuning and sparse hardware, defined once and used the same way in every part. Each entry links to the slides where the idea appears.
- Terms
- 56
- Letters
- 18
A
- Accuracy threshold T
A chosen minimum accuracy on the sensitivity chart; each layer's pruning rate is read where its curve crosses T, and T is adjusted until the overall pruning rate meets the target.
- Activation broadcast
EIE's dataflow: the central control unit scans the input vector for its next nonzero a_j and sends the pair (a_j, j) to every PE at once over an H-tree; each PE multiplies it by the nonzero weights in its own slice of column j and accumulates into outputs it alone owns, so zero activations skip a whole column for all PEs and no partial sums are ever exchanged.
- Activation sparsity
Zeros in the activations produced at run time, typically by ReLU (dynamic sparsity, about 70 percent in EIE), letting hardware skip multiplications since W times 0 = 0.
- Adaptive grouping
TorchSparse's strategy of padding weight-offset groups of similar size so they run as one batched matmul, sitting between separate per-offset matmuls (no waste, irregular) and fully dense batching (regular, large overhead).
- AMC (AutoML for Model Compression)
A method by He et al. (ECCV 2018) that casts per-layer pruning ratio selection as reinforcement learning: a DDPG agent receives a layer embedding, outputs a sparsity ratio as a continuous action, and is rewarded by negative error subject to a FLOPs or latency constraint.
- Arithmetic intensity
Operations performed per byte moved from memory; a GEMM with small K has low intensity and is bound by memory traffic and launch overhead, so halving its math with 2:4 sparsity barely helps, while a large-K GEMM is math bound and approaches the 2x ceiling.
- Automated pruning
Choosing per-layer pruning ratios for an overall compression target with an algorithm instead of hand-tuned heuristics, as in AMC and NetAdapt.
B
- Be-lazy principle
The EIE retrospective's first principle of efficient AI computing: avoid redundant computation, quickly reject the work, or delay the work; applied as spatial sparsity (SIGE, point clouds), token sparsity and progressive quantization (SpAtten) and temporal sparsity (TSM).
C
- Channel pruning
Removing entire output channels (filters) of a convolution layer, which is coarse-grained weight pruning that shrinks the layer's weight matrix and keeps dense computation.
- Compressed sparse column (CSC)
EIE's weight storage format: for each column, the nonzero values with a small relative index (distance from the previous nonzero, padded when the gap is too large) and a pointer to where the column starts.
- Computation regularity
How uniform and batchable the matrix multiplies are; higher regularity uses the GPU better but, for sparse convolution, is bought with padded rows that add computation overhead.
D
- DDPG
Deep Deterministic Policy Gradient, an actor-critic reinforcement learning algorithm for continuous action spaces; AMC uses it because a pruning ratio is a continuous value.
- Deep Compression
Han, Mao and Dally (ICLR 2016): a three-stage pipeline of pruning, trained quantization with a k-means codebook (weight sharing) and Huffman coding that shrinks AlexNet from 240 MB to 6.9 MB (35x) and VGG-16 by 49x with no accuracy loss, small enough to live in on-chip SRAM; EIE runs directly on its output.
E
- EIE (Efficient Inference Engine)
The first DNN accelerator (Han et al., ISCA 2016) that runs directly on a sparse, compressed model, exploiting weight sparsity, activation sparsity and weight sharing with an array of processing elements and on-chip SRAM.
F
- Fine-tuning
Continuing to train the surviving weights after pruning to recover accuracy, usually with a learning rate 1/10 to 1/100 of the original training rate.
G
I
- Implicit GEMM
A fused, output-stationary sparse convolution kernel (SpConv v2, TorchSparse++) in which each thread block owns a tile of output rows, walks the kernel weights and fetches matching input rows on demand, overlapping loads with tensor-core work; lockstep execution adds redundant multiplies that row reordering and column splitting trim (12 to 10 to 8 on the slide).
L
- L0 norm
||W||_0, the count of nonzero entries in a weight tensor; the pruning constraint bounds it by the target number of nonzeros N.
- Latency lookup table
Pre-measured per-layer latencies on the target device for different channel counts, used by NetAdapt so that pruning decisions track real latency rather than FLOPs.
- Layer embedding
The state vector s_t = [N, C, H, W, i, ...] that AMC feeds its agent, summarizing the current layer's index, shape, kernel size and FLOPs budget context.
- Layer interaction
The compounding effect of pruning several layers at once, which sensitivity analysis ignores because it sweeps one layer at a time, making its per-layer rates sub-optimal.
- Layer sensitivity
How much accuracy a network loses when one layer alone is pruned at a given ratio; sensitive layers such as the first layer lose accuracy quickly, redundant layers tolerate high ratios.
- Leading non-zero detection
The EIE unit that scans an activation vector after ReLU to find the next nonzero activation and its index so zero activations are never broadcast.
- Load balance
Keeping all PEs busy despite uneven numbers of nonzeros per column, achieved in EIE with an activation FIFO queue that lets PEs run ahead.
- Long-term fine-tuning
The single fine-tune to convergence that NetAdapt runs once the latency budget is met, repairing the accumulated cuts of the final architecture; its result, 1.8 to 4.5 points above the last short-term number in the paper, is the accuracy that gets reported.
M
- M:N sparsity
Fine-grained structured sparsity written a:b, in which at most a of every b consecutive weights along a row are nonzero (the slides write M:N, papers usually N:M); NVIDIA Ampere tensor cores support 2:4, storing R x C/2 values plus R x C/2 two-bit indices.
- Magnitude-based pruning
A heuristic criterion that treats weights with larger absolute value as more important, Importance = |W| for element-wise pruning, and removes the smallest.
- Mapping unit
PointAcc's hardware block that shifts input coordinates by a kernel offset, merge-sorts them with the output coordinates, and emits an (In, Out, Wgt) tuple for every pair of equal neighbors.
- Maps (In, Out, Wgt)
The list of tuples that drives sparse convolution: input point P, output point Q and the kernel weight offset W_(dx,dy) relating them; for each entry f_out = f_out + f_in x W_wgt.
N
- NetAdapt
A rule-based automatic pruning method (Yang et al., ECCV 2018) that repeatedly reduces latency by a fixed step Delta R by pruning the single layer whose short-term fine-tuned accuracy is highest, using a measured latency lookup table, until a latency budget is met, then long-term fine-tunes.
- Network Slimming
Liu et al. (ICCV 2017): train with an L1 penalty lambda sum |gamma| on the per-channel batch normalization scaling factors, prune the channels whose gamma falls below a global percentile threshold, then fine-tune; a channel-level use of regularization that reports a 20x smaller VGGNet with 5x fewer operations.
- Neuron pruning
Removing whole neurons from a linear layer, equivalent to deleting a full row of its weight matrix.
O
- Overall pruning rate
The fraction of all weights removed when every layer is pruned at its own rate, R = sum_i r_i N_i over sum_i N_i, a parameter-weighted average rather than the mean of the per-layer rates; the threshold T is tuned until R meets the target, and the compression factor is 1 / (1 - R).
P
- PointAcc
A point-cloud accelerator (Lin et al., MICRO 2021) whose mapping unit builds sparse convolution maps in hardware with merge sort instead of hash tables, delivering large speedup and energy savings over GPUs.
- Processing element (PE)
One EIE compute unit that owns a round-robin subset of weight-matrix rows, stores them in compressed form in its own SRAM, and multiplies every broadcast nonzero activation by its matching nonzero weights.
- Pruning
Removing weights or whole neurons and channels from a trained neural network to reduce parameters and computation, formulated as minimizing the loss L(x; W_P) subject to the number of nonzeros ||W_P||_0 staying at or below a budget N.
- Pruning granularity
The pattern in which weights are removed, from irregular fine-grained (individual weights) through pattern-based, vector and kernel level to regular channel-level pruning; finer is more flexible, coarser is more hardware friendly.
- Pruning ratio
The fraction of a layer's weights (or channels) removed by pruning; sparsity is the fraction of zeros that results, and the ratio may differ per layer.
R
- Redundant computation ratio (epsilon)
r = 1 minus theoretical FLOPs over actual FLOPs for a padded group of weight offsets; adaptive grouping extends a group while r stays at or below the tolerance epsilon, and a second threshold S decides whether a group runs as a batched matmul or, when its largest map already fills the GPU, as a plain matmul.
- Regularization (for pruning)
Adding a penalty to the training loss to penalize nonzero and encourage smaller parameters: L1 gives L' = L(x; W) + lambda |W| and L2 gives L' = L(x; W) + lambda ||W||^2; magnitude pruning uses L2 on weights and Network Slimming uses an L1 penalty (the slide says smooth-L1) on the batch norm channel scaling factors.
- Resource reduction schedule (Delta R)
The amount of latency (or another resource) that each NetAdapt iteration must remove, Con = Res minus Delta R; the slides treat it as a manually defined constant, the paper sets an initial value that decays every iteration, like a learning-rate schedule, and smaller steps take more iterations but end slightly more accurate.
S
- Sensitivity analysis
The procedure of pruning each layer L_i in isolation at ratios r in {0, 0.1, ..., 0.9}, recording the accuracy degradation Delta Acc_r^i, and repeating for all layers to obtain a per-layer accuracy versus ratio curve.
- Series of models
The by-product of NetAdapt's loop: each iteration's winning network already satisfies its own, slightly looser, constraint, so Net_1 to Net_i form a deployable accuracy versus latency frontier from one run, with the number of models equal to the number of iterations (the slide writes serial of models).
- Short-term fine-tuning
The brief fine-tune (about 10k iterations on the slides) that NetAdapt applies to every per-layer proposal inside an iteration so that their accuracies can be ranked; without it the pruned proposals collapse to near-zero accuracy and the pick becomes noise.
- Sparse convolution
Convolution over sparse inputs such as point clouds that computes outputs only at positions where inputs exist, keeping output sparsity equal to input sparsity, implemented as a sparse set of dense matrix multiplies defined by maps.
- Sparse tensor core
An Ampere tensor core mode that uses the 2:4 metadata to select only the activation operands paired with nonzero weights, roughly doubling GEMM throughput with no accuracy loss after fine-tuning.
- Static versus dynamic sparsity
Static sparsity is fixed at deployment (pruned weights); dynamic sparsity depends on the input at run time (activations after ReLU, point-cloud occupancy), so hardware must detect it on the fly.
- Submanifold dilation problem
Graham et al.'s name for what dense convolution does to sparse input: one active site becomes 3^d active sites after one 3^d convolution and 5^d after two, so a thin surface thickens into a slab and the sparsity is gone within a few layers; on the slide grid 4 of 20 cells become 17 of 20. Submanifold sparse convolution avoids it by computing outputs only at input positions.
T
- TorchSparse
An efficient point-cloud inference engine (Tang et al., MLSys 2022) that speeds sparse convolution with locality-aware gather and scatter and adaptive grouping of matmuls, trading a little padded computation for regularity.
- TorchSparse++
The successor engine that overlaps memory movement (gather and scatter) with computation by pipelining the phases, along with a sparse kernel generator and autotuner.
U
- Uniform shrinking
Scaling every layer's width by the same factor (for example the 0.75 MobileNet width multiplier); it is dominated by non-uniform per-layer pruning on the accuracy versus latency curve.
W
- W4A16
Store weights in 4 bits, decode them to 16 bits and compute in 16 bits, the storage trick EIE used with a codebook that the 2023 retrospective sees reborn (with linear integer weights) in single-batch LLM decoding engines such as GPTQ, AWQ, llama.cpp and MLC LLM.
- Weight sharing
Quantizing weights to a small per-layer codebook so each weight is stored as a 4-bit index and decoded to a full value at compute time, giving EIE an 8x smaller memory footprint.
- Weight sparsity
Zeros in the weight matrix that are fixed after training (static sparsity, about 90 percent in EIE's models), letting hardware skip stored values and multiplications since 0 times A = 0.
- Weight-stationary
The dataflow of the existing GPU sparse convolution: hold one offset's C_in x C_out weight matrix still and stream every map entry for that offset through it as gather, matmul, scatter, launching a separate matmul per weight; contrasted with output-stationary implicit GEMM, where each thread block owns a tile of outputs and walks all the weights.