All problems
Group Size vs Error Tradeoff
Problem
Quantize values in contiguous groups of group_size with a per-group symmetric scale, then report [mse, overhead_bytes_per_value], where overhead = scale_bytes * ceil(n/group_size) / n.
The signature is group_size_tradeoff(values, group_size, bits=4, scale_bytes=2).
Hint
Smaller groups reduce error but add one scale per group.
Test cases
case 1
in: [[1,-1,1,-1],2,4,2]
expected: [0,1]
case 2
in: [[1,0,0,0],4,4,2]
expected: [0,0.5]
case 3
in: [[1,2,3,4],2,4,2]
expected: [0.010204081632653083,1]
case 4
in: [[0,0],1,4,2]
expected: [0,2]
Starter codePython
def group_size_tradeoff(values, group_size, bits=4, scale_bytes=2):
# Your code here
pass4 test cases · run your code against them in the editor