Views
No views yet
mxfp4-pack-quantized), group size 32| Field | Value |
|---|---|
| Format | mxfp4-pack-quantized |
| Weights | 4-bit float, group_size=32, minmax observer |
| Scale dtype | torch.uint8 |
| Activations | unquantized (W4A16) |
| Ignored layers | self_attn, shared_experts, lm_head, vision_tower |
1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from compressed_tensors.offload import dispatch_model
4
5model = AutoModelForCausalLM.from_pretrained(
6 "inference-optimization/Kimi-K3-0.40B-MXFP4",
7 trust_remote_code=True,
8 dtype=torch.bfloat16,
9)
10tokenizer = AutoTokenizer.from_pretrained(
11 "inference-optimization/Kimi-K3-0.40B-MXFP4",
12 trust_remote_code=True,
13)
14dispatch_model(model)
15
16sample = tokenizer("Hello my name is", return_tensors="pt")
17sample = {k: v.to(model.device) for k, v in sample.items()}
18output = model.generate(
19 **sample,
20 max_new_tokens=100,
21 eos_token_id=tokenizer.eos_token_id,
22 pad_token_id=tokenizer.pad_token_id,
23)
24print(tokenizer.decode(output[0].tolist(), skip_special_tokens=True))1from transformers import AutoModelForCausalLM, AutoTokenizer
2from llmcompressor import oneshot
3from llmcompressor.modifiers.quantization import QuantizationModifier
4
5MODEL_ID = "inference-optimization/Kimi-K3-0.40B"
6model = AutoModelForCausalLM.from_pretrained(MODEL_ID, trust_remote_code=True)
7tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, trust_remote_code=True)
8
9recipe = QuantizationModifier(
10 targets="Linear",
11 scheme="MXFP4A16",
12 ignore=[
13 "re:.*self_attn.*",
14 "re:.*shared_experts.*",
15 "re:.*lm_head.*",
16 "re:.*vision_tower.*",
17 ],
18)
19oneshot(model=model, recipe=recipe)
20model.save_pretrained(SAVE_DIR, save_compressed=True)
21tokenizer.save_pretrained(SAVE_DIR)trust_remote_code=True is required to load the custom modeling files.dtype=torch.bfloat16 to match the decompressed weight dtype.