All problems
Double Quantization Scale Savings
Problem
Compute the storage bytes for quantization scales before and after double quantization: fp32 scales cost 4 bytes each, while double quantization stores each scale at second_bits and adds one fp32 second-level scale per second_block scales. Return [fp32_bytes, double_quant_bytes].
The signature is double_quant_scale_savings(num_scales, second_bits=8, second_block=256).
Hint
Double quantization treats the first-level scales as data and quantizes them again.
Test cases
case 1
in: [4096,8,256]
expected: [16384,4160]
case 2
in: [256,8,256]
expected: [1024,260]
case 3
in: [100,8,64]
expected: [400,108]
case 4
in: [0,8,256]
expected: [0,0]
case 5
in: [1,4,1]
expected: [4,4.5]
Starter codePython
import math
def double_quant_scale_savings(num_scales, second_bits=8, second_block=256):
# Your code here
pass5 test cases · run your code against them in the editor