NNCF set the default group size to 128 for INT4

This commit is contained in:
Disty0
2025-05-11 08:45:27 +03:00
parent 4af570bfd4
commit 0673689d5b
2 changed files with 7 additions and 3 deletions
+6 -2
View File
@@ -62,11 +62,15 @@ def nncf_compress_layer(layer, num_bits, is_asym_mode, torch_dtype=None, quant_c
reduction_axes = [i for i in range(layer.weight.ndim) if i != 1]
else:
reduction_axes = -1
if shared.opts.nncf_compress_weights_num_of_groups > 1:
if shared.opts.nncf_compress_weights_num_of_groups > 1 or num_bits == 4:
num_of_groups = shared.opts.nncf_compress_weights_num_of_groups
channel_size = layer.weight.shape[-1]
group_size = channel_size / num_of_groups
if num_of_groups == 0:
group_size = 128
num_of_groups = channel_size // group_size
else:
group_size = channel_size / num_of_groups
while channel_size % group_size != 0: # find something divisible
num_of_groups -= 1
group_size = channel_size / num_of_groups