Myric's picture
Upload README.md with huggingface_hub
c714852 verified
|
Raw
History Blame Contribute Delete
5.04 kB
---
license: apache-2.0
base_model: Kwaipilot/KAT-Coder-V2.5-Dev
base_model_relation: quantized
pipeline_tag: text-generation
library_name: gguf
tags:
- gguf
- moe
- apex
- quantized
- imatrix
- torch-imatrix
- qwen3_5_moe
- coding
- agentic-coding
- llama.cpp
---
# KAT-Coder-V2.5-Dev β€” APEX GGUF (torch imatrix)
MoE-aware, mixed-precision **APEX** quantization of
[Kwaipilot/KAT-Coder-V2.5-Dev](https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev) β€” an
agentic-coding fine-tune built on the Qwen3.6-35B-A3B backbone (`qwen3_5_moe`: 40 layers,
256 routed + 1 shared expert, hybrid GatedDeltaNet linear-attention + periodic full
attention). Kwaipilot reports SWE-bench Verified 69.40 for this size class (vs
Qwen3.6-35B-A3B's 64.40).
Two architectural notes vs. the stock Qwen3.6 base this is built on:
- **No MTP/NextN head** β€” this checkpoint ships `mtp_num_hidden_layers: 0`, unlike
Qwen3.6's fused MoE MTP layer. Nothing to quantize or skip; the head simply isn't there.
- **Text-only release** β€” the upstream config carries a `vision_config` block (a
Qwen3-VL-style SigLIP tower) with no corresponding weights in the checkpoint; Kwaipilot's
own README confirms the vision/multimodal components are not included in this release.
Conversion here uses the text-only path (`Qwen3_5MoeForCausalLM`), which only ever reads
the model's `text_config` β€” irrelevant to output correctness either way, but avoids
routing through vision-aware conversion code for a component that has no weights.
Checkpoint stores MoE experts as fully separate per-expert tensors
(`mlp.experts.{e}.{gate,up,down}_proj.weight` Γ— 256), fused into the `gate_up_proj`/`down_proj`
layout during imatrix generation and GGUF conversion.
## The `-torch` imatrix β€” what it is
Same rationale as this project's Qwen3.6 quants (identical `qwen3_5_moe` architecture):
`llama-imatrix` is impractical here because the GatedDeltaNet linear-attention is a serial
state-space recurrence β€” the imatrix collection callback breaks the GPU path, falling back
to a single CPU thread. `kat-coder.imatrix` is a standard GGUF-format importance matrix
(`in_sum2` + `counts` per tensor), generated with a band-serialized PyTorch forward pass
over a general text/code corpus, bit-compatible with `llama-quantize --imatrix`.
## Sizes
| tier | precision | file size | bits/weight | wikitext PPL | vs bf16 |
|---|---|---|---|---:|---:|
| bf16 (reference) | full | 64.61 GiB | 16.01 | 7.028 | β€” |
| **APEX-i-quality** | Q6_K/Q4_K/Q3_K by role+band | 19.23 GiB | 4.65 | 7.117 | +1.27% |
| **APEX-dynamic (16GB-card)** | Q6_K/Q3_K/IQ3_XXS/IQ2_XXS by role+band | 12.13 GiB | 2.94 | 7.543 | +7.33% |
| IQ3_XXS (stock, imatrix-guided) | uniform | 12.68 GB | ~2.98 | 7.881 | +12.13% |
All three tiers gated coherent with 3/3 chained tool-calling (see `TOOL_CALLING.md`).
**APEX-dynamic beats the stock IQ3_XXS baseline on both axes at once here** β€” smaller
(12.13 vs 12.68 GiB) *and* lower PPL (7.543 vs 7.881) β€” a cleaner result than this
toolkit's Laguna-XS run, where the same method traded size for a small PPL cost. Whether
role/depth-aware allocation beats a well-tuned stock quant appears to depend on the
specific architecture and calibration, not something to assume either way without
measuring β€” this is the honest result for this model.
**i-quality** is the pick if you're not VRAM-constrained to 16GB β€” within 1.3% of full
bf16 quality at under a third of the size.
## Structural allocation (dynamic-APEX)
Both APEX tiers use `dynamic_apex.py`'s structural mode: routed experts are bucketed into
edge / near / middle depth-bands (edge = first/last layers, generally most load-bearing)
and allocated decreasing precision toward the middle:
- **i-quality** (19.23 GiB, 4.65 bpw): routed edge β†’ Q6_K, near β†’ Q4_K, middle β†’ Q3_K.
- **APEX-dynamic** (12.13 GiB, 2.94 bpw): routed edge β†’ Q3_K, near β†’ IQ3_XXS, middle β†’ IQ2_XXS.
Attention, shared-expert, and router tensors stay at higher fixed precision (Q6_K–Q8_0)
in both tiers.
## Files
- `kat-coder.imatrix` β€” the imatrix used for every quant below.
- `KAT-Coder-V2.5-Dev-APEX-i-quality.gguf` (19.23 GiB) β€” recommended default; best
quality-per-byte of the tiers here.
- `KAT-Coder-V2.5-Dev-APEX-dynamic.gguf` (12.13 GiB) β€” role-aware allocation targeting a
16GB-card budget; also the best-quality option at this size point.
- `KAT-Coder-V2.5-Dev-IQ3_XXS.gguf` (12.68 GB) β€” stock imatrix-guided baseline, included
for the size/PPL comparison above.
- `TOOL_CALLING.md` β€” reproducible chained tool-calling transcript.
## Attribution
- Base model: **Kwaipilot** β€” [Kwaipilot/KAT-Coder-V2.5-Dev](https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev).
- APEX recipe & toolkit: **LocalAI** β€” [localai-org/apex-quant](https://github.com/localai-org/apex-quant).
- Quantization engine: **llama.cpp** ([ggml-org](https://github.com/ggml-org/llama.cpp)).
Unofficial community quantization; not affiliated with or endorsed by Kwaipilot.