Lord-H4D3ZS's picture
Upload README.md with huggingface_hub
d8633a9 verified
|
Raw
History Blame Contribute Delete
3.16 kB
metadata
license: apache-2.0
base_model: Qwen/Qwen3.6-35B-A3B
tags:
  - qwen3
  - moe
  - a3b
  - mtp
  - gguf
  - rocmfpx
  - code
pipeline_tag: text-generation

Qwen3.8-Distill-35B-A3B-Coder-Abliterated (Q2 ROCmFPX, PoC)

A 2-bit ROCmFPX GGUF of a distilled Qwen3.6-35B-A3B (MoE, 256 experts / ~3B active), sized to run on a 16GB consumer GPU. Ships with the MTP (nextn) head and build instructions for the matching runtime.

Honest status: this is a proof-of-concept. On the internal 10-task smoke eval the distilled model tied its base (6/10 vs 6/10) β€” no regression, no measurable gain yet β€” and it is now quantized to 2-bit, which trades quality for fit. Publishing it as a reproducible artifact of the pipeline (distill β†’ graft MTP β†’ ROCmFPX 2-bit GGUF), not as a benchmark-winning coder. The quality fix is a larger, tool-calling-heavy corpus β€” a separate follow-up run.

What this is

  • Base / architecture: Qwen/Qwen3.6-35B-A3B (Qwen3_5MoeForCausalLM, 256 experts, ~3B active). The "3.8" in the name refers to the teacher, not the base.
  • Teacher: abliterated Qwen3.8-27B (GGUF Q8_0) via llama.cpp β€” sequence-level reasoning distillation (teacher <think> chains as SFT targets).
  • Method: Unsloth 4-bit QLoRA, completion_only_loss, 1 epoch / 850 teacher completions, merged to bf16, MTP head grafted back from base, converted + quantized with ROCmFPX.
  • Quant (the interesting part): a hand-built role-aware mix β€” 2-bit experts (Q2_0_ROCMFPX, the ~90% bulk) + Q6 attention / embeddings / shared-experts / output (Q6_0_ROCMFPX, the coherence-critical ~10%), norms in F32. 12GB total, fits a 16GB card with ~4GB left for KV/context. This is the llama.cpp/ROCmFPX analogue of the eschamoe/OTQ role-aware idea: pure 2-bit-everywhere collapses the model; keeping attention precise while 2-bit'ing the experts preserves coherence. See the exact --tensor-type recipe in BUILD.md.
  • "Abliterated": transferred over the training corpus (teacher was abliterated) β€” corpus-scoped, NOT a globally abliterated model.

Run it

You need a llama-server built from the pinned ROCmFPX source β€” see BUILD.md.

llama-server -m *-Q2_ROCMFPX.gguf --host 127.0.0.1 --port 8080 \
  -ngl 99 -c 16384 -fa on --jinja --alias qwen38-distill-a3b
# OpenAI-compatible API at http://127.0.0.1:8080/v1

16GB card: context and concurrency share one KV pool β€” pick single-stream long context (-c 32768 -np 1) or many short sessions (-c 8192 -np 8).

Known limitations (measured)

  • No accuracy gain over base yet; 2-bit lowers quality further.
  • Weak on tool-calling/agentic tasks (thin PoC corpus) β€” the first thing the next run must fix.
  • MTP nextn tensors are present but speculative decoding depends on your runtime's support (see BUILD.md). Text-only; no vision.

Files

  • *-Q2_ROCMFPX.gguf β€” the model (~16GB-card fit)
  • BUILD.md β€” build the ROCmFPX runtime (pinned commit b2f5829)
  • build_rocmfpx.sh β€” exact build script used

Apache-2.0, inheriting the base model's terms.