PigeonColumba compressa

Every route to small, on one size/accuracy chart

Storage bits vs. accuracy for: small dense students, pruned teachers (sparse and structured), quantized versions of each, and the order of operations.

Scatter plot of test accuracy (20-way) against storage (kbit) (log scale), one marker per family, points labeled by config, with a dashed reference line for the teacher. Titled “Every route to small, on one size/accuracy chart”. The numbers are in the table below.
Test accuracy (20-way) against storage (kbit)

Table

Mean over the seeds; ± is the standard deviation where more than one seed ran. The experiment took 156 s.

FamilyConfigTest accuracy (20-way)Target-class AP ('bird')Test NLLKL(Bayes || model)Parameters (nonzero)Storage (kbit)
teacherfp320.9140.9890.3840.309140,0524481.7
small dense student (KD)2x8 fp320.4440.7411.6371.55535611.4
small dense student (KD) + QAT2x8 8b0.4680.7731.5531.4713534.032
small dense student (KD) + QAT2x8 4b0.4540.7611.5941.5123122.752
small dense student (KD)2x16 fp320.6770.8600.9600.87882026.2
small dense student (KD) + QAT2x16 8b0.6980.8720.9050.8248138.576
small dense student (KD) + QAT2x16 4b0.6750.8570.9600.8797265.504
small dense student (KD)2x32 fp320.8280.9530.5260.4502,13268.2
small dense student (KD) + QAT2x32 8b0.8420.9630.4750.3992,12621.1
small dense student (KD) + QAT2x32 4b0.8360.9560.5060.4291,89312.9
small dense student (KD)2x64 fp320.8970.9860.3170.2406,292201.3
small dense student (KD) + QAT2x64 8b0.9040.9870.3030.2276,25160.0
small dense student (KD) + QAT2x64 4b0.9010.9870.3100.2345,63335.5
structured-pruned teacher (KD)3x64 fp320.8910.9810.3220.24510,452334.5
structured-pruned teacher (KD) + QAT3x64 4b0.9000.9840.3110.2349,28758.0
structured-pruned teacher (KD)3x32 fp320.7900.9420.6380.5563,188102.0
structured-pruned teacher (KD) + QAT3x32 4b0.8240.9560.5400.4592,81419.1
structured-pruned teacher (KD)3x16 fp320.5850.8011.2491.1691,09234.9
structured-pruned teacher (KD) + QAT3x16 4b0.6290.8291.1091.0259617.296
sparse teacher (KD)90% fp320.9130.9870.2750.19814,714610.1
sparse teacher: prune -> QAT 4b90% 4b0.9140.9860.2940.21714,405359.4
sparse teacher: QAT 4b -> prune90% 4b0.9130.9870.2760.19914,358358.0
sparse teacher (KD)97% fp320.8280.9550.5290.4454,966298.2
sparse teacher: prune -> QAT 4b97% 4b0.8580.9680.4340.3534,817320.5
sparse teacher: QAT 4b -> prune97% 4b0.7940.9460.6350.5494,868320.1
sparse teacher (KD)99% fp320.0880.0392.9432.8572,181209.1
sparse teacher: prune -> QAT 4b99% 4b0.0870.0372.9372.8512,181309.3
sparse teacher: QAT 4b -> prune99% 4b0.0880.1762.9222.8362,179309.3

Reference points

Teacher (the large model)
The full-size network trained on the labeled data; the smaller models here are measured against it. Test accuracy (20-way) 0.914, target-class AP ('bird') 0.989, test NLL 0.384, KL(Bayes || model) 0.309, parameters (nonzero) 140,052.
Bayes-optimal (the best any model can do on this problem)
Predictions from the exact class probabilities, which the lab can compute because it generated the data. Test accuracy (20-way) 0.973, target-class AP ('bird') 0.999, test NLL 0.079.

Birds in this experiment

The table's 27 smaller models hatch 5 kinds of bird. Each kind is drawn once, for one model: the smallest if the bird is healthy or bones, the one that keeps the most if it's starving.

Measured against this experiment's teacher: 140,052 parameters, 4481.7 kbit, accuracy 0.914. Storage is the table's own column. Species follows how many times smaller a model is. A bird stays healthy while its model keeps at least 95% of the reference's score, and turns to bones at 60% or less.

These are the lab's recorded results, so they aren't added to anyone's life list. Birds you hatch yourself, in the Coop or from a Field Guide run, are saved to your life list.