In plain words: A training goal that shrinks a network by deleting unneeded connections and storing the rest with fewer bits, so ordinary hardware can run it. It kept the accuracy of a normal network while using just 3% of the bits and 18% of the weights.
Abstract
This work focuses on reducing neural network size, which is a major driver of neural network execution time, power consumption, bandwidth, and memory footprint. A key challenge is to reduce size in a manner that can be exploited readily for efficient training and inference without the need for specialized hardware. We propose Self-Compression: a simple, general method that simultaneously achieves two goals: (1) removing redundant weights, and (2) reducing the number of bits required to represent the remaining weights. This is achieved using a generalized loss function to minimize overall network size. In our experiments we demonstrate floating point accuracy with as few as 3% of the bits and 18% of the weights remaining in the network.
Szabolcs Cséfalvay, James Imber
arXiv:2301.13142 · cs.LG, cs.AI · submitted Jan 30, 2023 · updated Jan 31, 2023
abstract · pdf · Accepted submission to 2023 DL-Hardware Co-Design for AI Acceleration
I'd want a model that scales up and down depending on the task given at inference, and a model that doesn't have a fixed size when starting the training. Shouldn't it specialize over training progress, when seeing more tokens, and grow larger where needed? Without some human fixing a size beforehand?
Self-organization is a fascinating topic to me. This last year I've been working on Self-Organizing Gaussian Splats [0]. With a lot of squinting, this lives in a similar space as the Self-Compressing Neural Networks from the link above. The idea of the Gaussians was to build on Self-Organizing Maps (lovely 90s concept, look for some GIFs if you don't know it), and use that to represent 3D scenes in a memory-efficient way. By mapping attributes into a locally smooth 2D grid. It's quite a simple algorithm, but works really well, and better than many quite complicated coding schemes. So this has me excited that we'll (re-)discover great methods in this space in the near future.
[0]: https://fraunhoferhhi.github.io/Self-Organizing-Gaussians/