| { |
| "base_model": "microsoft/harrier-oss-v1-0.6b", |
| "base_revision": "f9b9dc8d367d443f2479d27aa5d8d2850c0774ee", |
| "variant": "fp8", |
| "toolchain": "llm-compressor==0.13.0 (compressed-tensors==0.18.0), torch==2.11.0+cu130, vLLM==0.26.0 for serving/eval", |
| "scheme": "FP8_DYNAMIC (compressed-tensors preset): static per-channel FP8 E4M3 weight scales computed directly from the weights, dynamic per-token FP8 E4M3 activation quantization at inference. No calibration forward pass is strictly required for this scheme, but one was run over the pinned calibration manifest (calibration/manifest.json, 448 samples) for parity with the NVFP4 export path.", |
| "modules_quantized": [ |
| "196 nn.Linear modules across all 28 Qwen3Model decoder layers: self_attn.{q,k,v,o}_proj and mlp.{gate,up,down}_proj (7 Linear modules x 28 layers)" |
| ], |
| "modules_full_precision": [ |
| "model.embed_tokens (embedding table, tied to lm_head)", |
| "all RMSNorm modules (input_layernorm, post_attention_layernorm, model.norm, q_norm, k_norm)", |
| "lm_head (tied to embed_tokens; unused for embedding output)", |
| "the sentence-transformers pooling (last-token) and normalize (L2) heads — not part of the transformers module tree, applied post-hoc, always full precision" |
| ], |
| "contract_test": { |
| "module_inventory_file": "quantization/fp8_module_inventory.json", |
| "total_modules": 427, |
| "quantized_modules": 196, |
| "never_quantize_substrings": ["embed_tokens", "lm_head", "norm"], |
| "violations": [], |
| "verdict": "PASS" |
| }, |
| "ignore_list": ["lm_head", "re:.*embed_tokens.*", "re:.*norm.*"], |
| "quantize_script": "quantization/quantize_fp8.py" |
| } |
|
|