Grug 35B A3B is a compact-reasoning fine-tune of Qwen/Qwen3.6-35B-A3B.
It keeps the Qwen MoE/A3B architecture: 35B total parameters with roughly 3B
activated per token, 40 text layers, 256 experts, and 8 routed experts per
token plus the shared expert path.
This repository is published as merged Transformers/safetensors model weights. It was trained with QLoRA/PEFT LoRA, then merged into the base model before upload. You do not need a separate adapter to load this model.
The training target is a terse internal-reasoning style: short high-density notes, fewer filler phrases, and stronger preservation of constraints, equations, checks, bug causes, decisive branches, edge cases, and final-answer validation.
The goal is lower reasoning-token usage relative to the base model while preserving answer quality. It is not meant to hide uncertainty or remove needed reasoning.
The merged release is a Qwen MoE text-generation model:
Qwen/Qwen3.6-35B-A3B.Qwen3_5MoeForCausalLM.qwen3_5_moe_text.The data pipeline started from a recent, filtered reasoning pool and converted verbose traces into compact traces before SFT packing.
Source gate:
Final verified source mix:
| Source | License | Domain | Verified rows |
|---|---|---|---|
hotdogs/uka-glm-5.2 |
MIT | agent code | 1,617 |
Scale-or-Reason/general-reasoning-ift-pairs |
MIT | general reasoning | 1,305 |
samcheng0/lumia-reasoning-sft-v1 |
Apache-2.0 | code reasoning | 1,103 |
HSH-Intelligence/verified-math-reasoning-3k |
Apache-2.0 | math | 672 |
kd13/CodeDebug-Instruct-v2-Reasoning |
MIT | code debug | 600 |
Madarabr/cortex-adaptive-thinking |
Apache-2.0 | adaptive reasoning | 300 |
CL-From-Nothing/code_rose_initial_1_7B_SFT_10K_rollouts_Qwen3-4B-Thinking-2507_k12_t0.7_maxtok12288 |
Apache-2.0 | code reasoning | 143 |
Row counts:
The compact reasoning transform was generated with
cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit served by vLLM. Rows were checked for
compression ratio, answer preservation, malformed tags, repetition, fixed
reasoning labels, tone issues, and obvious loss of critical information before
training.
Training was completion-only SFT: prompt tokens were masked with -100, and
only the assistant completion was trained.
Core settings:
Qwen/Qwen3.6-35B-A3B.Validation loss:
| Step | Eval loss |
|---|---|
| 25 | 1.1510 |
| 50 | 1.0793 |
| 75 | 1.0487 |
| 100 | 1.0399 |
Final checkpoint smoke outputs were compact and did not use fixed
Goal/Rule/Logic/Edge labels.
Example:
<think>
Shirt 80, 25% off. 25% of 80 = 20. 80 - 20 = 60. Check: 60/80 = 0.75. Correct. Answer 60.
</think>
The sale price is $60.
Bug-fix smoke output correctly identified len(x) as the issue and changed it
to len(xs).
This is a smoke test, not a broad benchmark. Run your own evals before relying on the model in sensitive or production settings.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "kai-os/Grug-35B-A3B"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
model.eval()
messages = [
{"role": "user", "content": "If a shirt is $80 and goes 25% off, what is the sale price?"}
]
inputs = tokenizer.apply_chat_template(
messages,
return_tensors="pt",
add_generation_prompt=True,
).to(model.device)
with torch.no_grad():
output = model.generate(inputs, do_sample=False, max_new_tokens=512)
print(tokenizer.decode(output[0], skip_special_tokens=True))
For token-efficiency tests, compare against the base model with the same prompt and decoding settings. Do not use an artificial generation cap for benchmark claims unless the deployment itself requires one.
Thanks to Lambda, the inference provider, for compute credits that supported the dataset work, training, and evaluation.
model-00002-of-00021.safetensors 3.8 GBmodel-00001-of-00021.safetensors 3.8 GBmodel-00007-of-00021.safetensors 3.4 GBmodel-00009-of-00021.safetensors 3.4 GBmodel-00011-of-00021.safetensors 3.4 GBmodel-00013-of-00021.safetensors 3.4 GBmodel-00015-of-00021.safetensors 3.4 GBmodel-00017-of-00021.safetensors 3.4 GBmodel-00019-of-00021.safetensors 3.4 GBmodel-00003-of-00021.safetensors 3.4 GBmodel-00005-of-00021.safetensors 3.4 GBmodel-00008-of-00021.safetensors 3.3 GBmodel-00010-of-00021.safetensors 3.3 GBmodel-00012-of-00021.safetensors 3.3 GBmodel-00014-of-00021.safetensors 3.3 GBmodel-00016-of-00021.safetensors 3.3 GBmodel-00018-of-00021.safetensors 3.3 GBmodel-00020-of-00021.safetensors 3.3 GBmodel-00004-of-00021.safetensors 3.3 GBmodel-00006-of-00021.safetensors 3.3 GBmodel-00021-of-00021.safetensors 1.1 GBHave the files? Submit a torrent.
Submit a torrentHave the complete files and permission to share them? Replace the example folder path. The script checks the files, makes a torrent and submits its magnet and checksums. Keep your torrent client seeding. Get your community key from your settings, and read the script before running it.
curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo kai-os/Grug-35B-A3B ./model-folderQwen/Qwen3.6-35B-A3B