ProCreations commited on
Commit
9543af6
·
verified ·
1 Parent(s): f572b85

Rewrite model card in Grug style; preserve technical content

Browse files
Files changed (1) hide show
  1. README.md +45 -22
README.md CHANGED
@@ -15,15 +15,17 @@ tags:
15
  - qwen3_5
16
  ---
17
 
18
- # Grug 27B v2
19
 
20
- Grug 27B v2 is a fresh post-training run from [Qwen 3.8 27B](https://huggingface.co/Qwen/Qwen3.8-27B) for compact caveman-style reasoning, coding, and tools. It includes a **Grug-tuned native MTP head in this checkpoint**. No separate draft model is needed. [GGUF downloads](https://huggingface.co/ProCreations/grug-27b-v2-gguf) also include the head in every text quantization.
21
 
22
- The release improves measured coding and tool results over Grug v1.1 and fixes its session-title regression on the tested suite. It does **not** establish that higher effort always improves accuracy, that reasoning stays perfectly Grug-style on every hard case, or that all loops are eliminated. Read the effort tables and remaining limitations below.
23
 
24
- ## Measured quality
25
 
26
- Matched H200/vLLM runs use temperature 0.6, top-p 0.95, top-k 20, repetition penalty 1.05, seed 42, and the same task subsets and output caps. These are executable-test and official AST-checker measurements on fixed subsets, not full leaderboard scores.
 
 
27
 
28
  | Model | Medium HumanEval (132) | Medium MBPP (225) | Medium BFCL subset (200) |
29
  |---|---:|---:|---:|
@@ -31,29 +33,46 @@ Matched H200/vLLM runs use temperature 0.6, top-p 0.95, top-k 20, repetition pen
31
  | Grug v1.1 | 91.7% | 80.4% | 81.0% |
32
  | Grug v2 | 97.0% | 90.7% | 88.0% |
33
 
34
- On the 12-issue SWE-bench Verified Django/SymPy subset, medium effort with the original limits resolved **10/12** for v2 and **8/12** for v1.1. In the separate matched xhigh run with retained reasoning, 65,536-token context, and 16,384 output tokens per tool turn, v2 resolved **11/12**, v1.1 **7/12**, and Qwen **10/12**. The harness uses a shared pinned environment, not the official per-instance Docker images. A single case changes the score by 8.3 points; these small runs do not establish broad statistical superiority.
 
 
 
 
 
 
 
 
35
 
36
- V2 completed **90/90 session-title checks** across low, medium, and xhigh without tool-call leaks. Real vLLM HTTP tests passed **24/24**, including titles with tools present, streamed calls, and thinking enabled/disabled. These tests address [the reported title problem](https://huggingface.co/ProCreations/grug-v1.1-qwen-3.8-27b/discussions/2); the OpenCode desktop application itself was not tested.
37
 
38
- With reasoning retained in tool history and the original per-effort limits, v2 resolved **9 / 10 / 11 of 12** at low/medium/xhigh, compared with v1.1's **8 / 9 / 7**. This is a positive effort-scaling result on the small agentic subset, not a guarantee across tasks.
39
 
40
- Compared with foundation Qwen, compactness still costs some core accuracy. For example, medium MATH on the 150-case subset is **84.7%** for v2 versus **95.3%** for Qwen. Full comparisons, original and larger output budgets, MTP accuracy, quantized smoke tests, and repetition-penalty-1.0 reference runs are in [results.md](results.md). The [evaluation protocol](evaluation_protocol.md) and [machine-readable results](https://huggingface.co/ProCreations/grug-27b-v2/tree/main/results) describe scoring corrections, completion rates, and limitations.
41
 
42
- ## Reasoning effort and Grug style
43
 
44
- Use **low**, **medium**, or **xhigh** through `chat_template_kwargs.reasoning_effort`. Medium is the default. All three retain the native effort instructions and are trained for terse Grug reasoning; final answers and code can use ordinary language.
 
45
 
46
- Mean HumanEval reasoning lengths were **192 / 266 / 656 tokens** for v2 at low/medium/xhigh, versus **483 / 617 / 1214** for Qwen. More effort therefore spends more reasoning on this coding subset while remaining more compact than the foundation model.
47
 
48
- Accuracy does not rise monotonically: several coding and math scores decline at xhigh, even when its output limit is doubled. Long traces sometimes drift into ordinary English. A real unfinished loop remains in the low-effort MATH audit, so the [reported looping issue](https://huggingface.co/ProCreations/grug-v1.1-qwen-3.8-27b/discussions/5) is mitigated, not completely solved. The saved template also normalizes historical reasoning once; clients still need the correct reasoning/tool parsers.
49
 
50
- ## Integrated MTP
51
 
52
- All 15 native draft-head tensors are indexed in `model-mtp.safetensors` inside this repository. Only the head was trained during its tuning stage; the main model stayed frozen. Held-out draft/verifier agreement improved from **90.44% to 90.90%**, with distillation loss improving from **0.3502 to 0.2965**.
53
 
54
- On 18 serial H200 prompts after warmup, measured output throughput was **68.02 tokens/sec without MTP**, **112.77 with one draft token**, and **142.44 with two**. Actual draft-token acceptance was **86.87%** and **77.20%**. These are workload-specific results. MTP-off/on greedy token sequences matched on 10/18 prompts; functional coding/tool accuracy is measured separately in the results.
55
 
56
- Enable the packaged head with the tested vLLM 0.29.0 options:
 
 
 
 
 
 
 
 
57
 
58
  ```bash
59
  vllm serve ProCreations/grug-27b-v2 \
@@ -64,12 +83,16 @@ vllm serve ProCreations/grug-27b-v2 \
64
  --speculative-config '{"method":"mtp","num_speculative_tokens":2}'
65
  ```
66
 
67
- Generation defaults are **temperature 0.6, top-p 0.95, top-k 20, repetition penalty 1.05**. Set them explicitly when clients override model defaults. See [usage.md](usage.md) for requests, effort controls, history normalization, and llama.cpp commands.
 
 
 
 
68
 
69
- ## Build and provenance
70
 
71
- The main LoRA run used 3,466 training examples, task-group-disjoint validation, and verified coding/math/repair material plus inherited tool replay and new title examples. The best validation checkpoint was merged into the foundation model. The vision encoder is preserved; this release does not establish vision quality or full configured-context performance.
72
 
73
- All model generation, training, merging, MTP tuning, quantization, and runtime validation ran on **HF Jobs**. The local GPU was not used. The conservative estimate for this build, including failed and canceled attempts, is **$120.92**, below the authorized $170 cap; this is not an invoice. See [training.md](training.md), [release provenance](release_provenance.json), [HF Jobs cost ledger](hf_jobs_cost.json), and [SHA256SUMS](SHA256SUMS).
74
 
75
- Apache-2.0 license, following the foundation checkpoint. New benchmark test cases were excluded from the training mixture; inherited replay and foundation pretraining may still contain unrecognized overlap. Training receipts and evaluation source are included; raw inherited replay remains private.
 
15
  - qwen3_5
16
  ---
17
 
18
+ # grug 27b v2
19
 
20
+ **grug think small. code get stronger. draft head live in same rock.**
21
 
22
+ grug start fresh from [Qwen 3.8 27B](https://huggingface.co/Qwen/Qwen3.8-27B). train for compact cave-think, coding, and tool use. **Grug-tuned native MTP head already inside this checkpoint.** no separate draft model to drag back to cave. every text rock in [GGUF downloads](https://huggingface.co/ProCreations/grug-27b-v2-gguf) carry head too.
23
 
24
+ v2 score better than grug v1.1 on measured code and tool hunts. session-title bug pass tested checks now. but grug not claim every bug dead: more effort not always more correct, hard thought sometimes leave cave-talk, and some loops still live. grug show gain and bruise below.
25
 
26
+ ## grug hunt code and tools
27
+
28
+ same H200/vLLM hunt rules for every model: temperature 0.6, top-p 0.95, top-k 20, repetition penalty 1.05, seed 42. same task subsets. same output caps. code run against executable tests; tool calls face official AST checker. **fixed subsets, not full leaderboard scores.**
29
 
30
  | Model | Medium HumanEval (132) | Medium MBPP (225) | Medium BFCL subset (200) |
31
  |---|---:|---:|---:|
 
33
  | Grug v1.1 | 91.7% | 80.4% | 81.0% |
34
  | Grug v2 | 97.0% | 90.7% | 88.0% |
35
 
36
+ grug also hunt real repo bugs: 12-issue SWE-bench Verified Django/SymPy subset. medium effort with original limits fix **10/12** for v2, **8/12** for v1.1. separate matched xhigh hunt keep reasoning in history, use 65,536-token context and 16,384 output tokens per tool turn: v2 fix **11/12**, v1.1 **7/12**, Qwen **10/12**.
37
+
38
+ this harness use shared pinned environment, not official per-instance Docker images. one bug swing score by 8.3 points. small hunt useful; **not proof grug win everywhere.**
39
+
40
+ session title should be title, not surprise tool call. v2 pass **90/90 session-title checks** across low, medium, xhigh. zero tool-call leaks in those checks. real vLLM HTTP tests pass **24/24**, including titles with tools present, streamed calls, thinking on and off. checks target [reported title problem](https://huggingface.co/ProCreations/grug-v1.1-qwen-3.8-27b/discussions/2). grug did not test OpenCode desktop app itself.
41
+
42
+ keep reasoning in tool history and use original per-effort limits: v2 fix **9 / 10 / 11 of 12** at low/medium/xhigh. v1.1 fix **8 / 9 / 7**. more effort help grug on this small agent hunt. not promise for every task.
43
+
44
+ base Qwen still hold more raw accuracy on some hunts. medium MATH, 150-case subset: v2 **84.7%**, Qwen **95.3%**. compact thought cost something. grug not hide bruise.
45
 
46
+ all comparisons live in [results.md](results.md): original and bigger output budgets, MTP accuracy, squeezed-rock smoke tests, repetition-penalty-1.0 reference runs. [evaluation protocol](evaluation_protocol.md) and [machine-readable results](https://huggingface.co/ProCreations/grug-27b-v2/tree/main/results) explain scoring corrections, completion rates, and limits. grug bring receipts.
47
 
48
+ ## grug turn think dial
49
 
50
+ pick **low**, **medium**, or **xhigh** with `chat_template_kwargs.reasoning_effort`. default **medium**. all three keep native effort instructions, all trained for terse Grug reasoning. **inside voice grug; final answer and code can use ordinary language.**
51
 
52
+ mean HumanEval think length at low/medium/xhigh:
53
 
54
+ - grug v2: **192 / 266 / 656 tokens**
55
+ - Qwen: **483 / 617 / 1214**
56
 
57
+ dial turn up, grug spend more thought on this code hunt. still fewer tokens than base brain.
58
 
59
+ but **more thought not always more right.** some coding and math scores fall at xhigh, even with double output limit. long traces sometimes drift into ordinary English. low-effort MATH audit still catch real unfinished loop. [reported looping issue](https://huggingface.co/ProCreations/grug-v1.1-qwen-3.8-27b/discussions/5) get mitigation, not complete cure.
60
 
61
+ saved template normalize old reasoning once. client still need correct reasoning and tool parsers. wrong plumbing make good brain stumble.
62
 
63
+ ## two heads, one rock
64
 
65
+ all 15 native draft-head tensors indexed in `model-mtp.safetensors`, right here in repo. during MTP tuning, only draft head learn; main brain stay frozen. held-out draft/verifier agreement climb **90.44% to 90.90%**. distillation loss fall **0.3502 to 0.2965**.
66
 
67
+ grug time 18 serial H200 prompts after warmup:
68
+
69
+ - no MTP: **68.02 tokens/sec**
70
+ - one draft token: **112.77 tokens/sec**
71
+ - two draft tokens: **142.44 tokens/sec**
72
+
73
+ actual draft-token acceptance: **86.87%** with one, **77.20%** with two. speed numbers belong to this workload, not every cave computer. MTP-off/on greedy token sequences match on 10/18 prompts; not all paths say exact same tokens. separate coding/tool accuracy checks live in results.
74
+
75
+ head already packed. runtime still need switch turned on. grug test these vLLM 0.29.0 options:
76
 
77
  ```bash
78
  vllm serve ProCreations/grug-27b-v2 \
 
83
  --speculative-config '{"method":"mtp","num_speculative_tokens":2}'
84
  ```
85
 
86
+ generation defaults: **temperature 0.6, top-p 0.95, top-k 20, repetition penalty 1.05**. if client override model defaults, set these yourself. [usage.md](usage.md) show requests, effort dial, history normalization, and llama.cpp commands.
87
+
88
+ ## how grug forge brain
89
+
90
+ main LoRA run use 3,466 training examples. validation split keep task groups apart. training mix carry verified code, math, repair material, inherited tool replay, and new title examples. best validation checkpoint merge into foundation brain.
91
 
92
+ vision encoder stay intact. grug not run new vision benchmark or prove quality across full configured context. eye still there; no new eye trophy claimed.
93
 
94
+ all model generation, training, merging, MTP tuning, quantization, runtime validation happen on **HF Jobs**. local GPU stay untouched. conservative whole-build estimate **$120.92**, including failed and canceled tries, below authorized $170 cap. estimate, not invoice. receipts: [training.md](training.md), [release provenance](release_provenance.json), [HF Jobs cost ledger](hf_jobs_cost.json), [SHA256SUMS](SHA256SUMS).
95
 
96
+ Apache-2.0 license, same as foundation checkpoint. new benchmark test cases kept out of training mix. inherited replay and foundation pretraining may still hide overlap grug not recognize. training receipts and evaluation source included; raw inherited replay stay private.
97
 
98
+ grug made by ProCreations. base brain by Qwen team.