The INT8 Scale and the Pruned MAC Count

Ada re-derives this chapter’s own numbers step by step, at full precision

foundations
math-foundations
calculation-audit
edge-fog
Ada ADA · CALCULATION AUDIT

The INT8 Scale and the Pruned MAC Count

The chapter makes two optimization claims: an INT8 scale of 0.50 / 127 quantizes a 0.236 weight to the integer 60, and structured pruning cuts a 24-million-MAC inference to 18 million. Both must close before anyone calls the model “smaller.” This audit re-runs the INT8 scale and the pruned MAC count at full precision, then bounds exactly what the numbers justify.

Companion to the chapter Model Optimization for Edge AI — every number here comes from that chapter.

Ada: This chapter makes two numeric claims I want to close before anyone calls the optimized model “smaller”: that an INT8 scale of 0.50 / 127 quantizes a 0.236 weight to 60, and that structured pruning cuts a 24-million-MAC inference to 18 million. Let me re-run both at full precision.

  • Scale and round-trip. The chapter rounds the scale to 0.00394 for display; the stored value is 0.50 / 127 = 0.00393701. Quantizing gives round(0.236 / 0.00393701) = round(59.944) = 60 — the same integer either way. Reconstructing with the exact scale is 60 x 0.00393701 = 0.23622, so this weight’s round-trip error is |0.236 - 0.23622| = 0.00022, comfortably below the worst-case half-step of 0.00393701 / 2 = 0.00196850.
  • Weight-tensor storage. 2,400,000 weights x 4 bytes = 9,600,000 bytes = 9.6 MB in FP32; x 1 byte = 2.4 MB in INT8. The saving is 9.6 - 2.4 = 7.2 MB, a 4x (75%) cut on the weight tensor alone.
  • Pruned compute. Removing 25% of channels takes 24,000,000 x 0.75 = 18,000,000 MACs. At 5 inferences per second that is 18,000,000 x 5 = 90,000,000 MACs/s instead of 24,000,000 x 5 = 120,000,000 MACs/s — a 30,000,000 MACs/s, or 25%, reduction.

The audit closes the trade only for the weight tensor and the dense MAC count. A 4x file shrink and a 25% compute cut are real, but activation memory, calibration behaviour near the decision boundary, and the exported runtime graph are separate measurements — the numbers here justify continuing the conversion, not shipping it.

Every number above is taken from the chapter’s own material and re-derived step by step.