Views
No views yet
| Parameter | Value |
|---|---|
| Source | Biomni-R0-32B-AWQ-INT4-CustomCalib |
| Target Dtype | BFloat16 |
| Method | Standard AWQ unpacking (W4A16) |
| Group Size | 128 |
W_bf16_recovered = W_int4 × Scale1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model = AutoModelForCausalLM.from_pretrained(
4 "hassanshka/Biomni-R0-32B-INT4-to-BF16",
5 device_map="auto",
6 torch_dtype=torch.bfloat16,
7 trust_remote_code=True
8)
9tokenizer = AutoTokenizer.from_pretrained("hassanshka/Biomni-R0-32B-INT4-to-BF16")
10
11# Use for inference or fine-tuning1def unpack_awq_standard(packed_weight, scales):
2 group_size = 128
3 scales_expanded = scales.repeat_interleave(group_size, dim=1)
4
5 packed_weight = packed_weight.to(torch.int32)
6 unpacked_cols = []
7 mask = 0xF
8
9 for i in range(8):
10 weight_chunk = (packed_weight >> (i * 4)) & mask
11 weight_chunk = torch.where(weight_chunk >= 8, weight_chunk - 16, weight_chunk)
12 unpacked_cols.append(weight_chunk)
13
14 weights = torch.stack(unpacked_cols, dim=-1)
15 weights = weights.view(rows, packed_cols * 8)
16
17 dequantized = weights.to(torch.bfloat16) * scales_expanded.to(torch.bfloat16)
18 return dequantized