Technique #1: Changing numeric representations
For most purposes having a huge amount of accuracy isn’t too important.
Instead of representing the values as floating numbers, we can represent them as percentages between 0 and 100. We’ll be down to two-digit accuracy, but again for many use cases that’s sufficient. Plus, if this is output from a model, those last few digits of “accuracy” are likely to be noise, they won’t actually tell us anything useful.
Whole percentages have the nice property that they can fit in a single byte, an int8—as opposed to float64, which uses eight bytes: