Abstract
We study the training of vision models with integer weights and activations. We propose a rationally designed framework that is seamless regarding the number of integer states, down to binary, minimizes the redundancy of auxiliary layers, and provides reliable training. Binary neural networks have been prized for their speed and efficiency; however, the evaluation metrics often miss the cost of memory usage, leading to models with full-precision skip connections being evaluated too optimistically. While these memory costs can be reduced by quantizing all the feature maps, designing depth-scalable models with quantized features poses a major challenge. Towards this end, we propose a novel Tower architecture that combines short and long connecting paths in one network, offering the benefits of residual architectures without the propagation of high-precision feature maps. Finally, we propose a refined methodology for estimating the resource usage.
Results
Updated and Extended Evaluation: Accuracy vs Total Energy Estimate
(hbm-a100).
Total energy per image on ImageNet-1k is weight and feature-map memory movement plus
compute, with compute priced at 7 nm and memory at 13.11 pJ per bit — the
measured HBM figure of an NVIDIA A100, which is what hbm-a100 names.
Every point is evaluated by the same cost model from each network's layer geometry and
bit widths rather than transcribed from its own paper, so the methods share one axis.
No accounting of tiling. Memory traffic is one pass over each tensor — weights read once, feature maps read and written once — which is a lower bound. A real tiled execution re-reads whatever does not fit on chip, so the true cost is higher, by a factor that need not be the same for every method. Modelling it is future work.
The other two views (accuracy against compute alone and against memory movement), the full
table with each row's memory and energy split out, and the model's assumptions are in the
generated results document
of the released code. All of it regenerates with
python -m TNet.energy_ECML.report --all.