lerugray's picture
Restore full model card (the GGUF push had overwritten it with the Unsloth stub)
001f5d4 verified
|
Raw
History Blame Contribute Delete
5.5 kB
---
base_model: unsloth/Qwen2.5-7B-Instruct-bnb-4bit
library_name: peft
pipeline_tag: text-generation
license: apache-2.0
tags:
- lora
- qlora
- sft
- unsloth
- trl
- hammerstein
- strategic-reasoning
- gguf
- ollama
---
# Hammerstein-7B Framework β€” a small, opinionated strategic-reasoning model
A QLoRA adapter on `Qwen2.5-7B-Instruct` that bakes the
[Hammerstein framework](https://github.com/lerugray/hammerstein) into the
weights via behavior cloning. Load base + adapter, run inference **with no
system prompt at all**, and you get framework-correct strategic reasoning:
it names which failure quadrant a plan sits in (clever-lazy /
clever-industrious / stupid-industrious / stupid-lazy), pairs claims with
counter-observations, and proposes structural fixes over discipline fixes.
This is the **framework-only public artifact** (refreshed 2026-06-05). It is
trained on a framework-corpus distillation **with zero personal data** β€” the
training set was deterministically scrubbed and passed an adversarial
multi-agent privacy sweep before release. (Ongoing personal-corpus
fine-tuning of the author's daily-driver continues privately and is not
published here.)
## What it does that frontier assistants are tuned *not* to do
The framework deliberately reinforces three behaviors the big labs train
toward agreeableness and away from:
- **Refusal-with-pathway** β€” when the right answer is "don't do this," it
says so, and surfaces what *would* unblock a yes, instead of a flat no or
a reluctant yes.
- **Hold-your-ground** β€” it does not sycophantically fold when you push back
with confidence but no new evidence. It restates the structural reason and
tells you exactly what evidence would change its call.
- **Refuse stupid-industrious** β€” it declines to validate a confidently-stated
plan that works hard in the wrong direction; it names the quadrant and
offers a verification gate + structural alternative.
## Training data (framework-only, 1,994 pairs)
| Source | Pairs | What |
|---|---|---|
| Strategic (scrubbed v3a corpus) | 1,708 | audit-this-plan / scope-this-idea / is-this-worth-doing / what-should-we-do-next / review-from-different-angle, across 12 generic domains |
| Unique-behavior reinforcement | 72 | the three doctrine behaviors above (24 each) |
| Off-domain instruction-following | 214 | suppresses catastrophic forgetting (keeps general competence) |
Teacher: Qwen3.6-plus running the Hammerstein framework prompt (no corpus
retrieval, neutralized persona β€” clean by construction). Behavior-cloning
frame: **no system prompt in the training targets** β€” the framework is what
the student learns to bake in.
## Eval (framework-discipline benchmark, 2026-06-05)
Structural framework-correctness on 40 held-out strategic prompts
(higher = more framework-correct), and an out-of-domain forgetting check
on 30 prompts (framework-vocab leakage into off-domain answers; lower =
healthier):
| Condition | Strategic (n=40) | OOD leakage (n=30) |
|---|---|---|
| **student** (this adapter, **no system prompt**) | **0.975** | **0.000** |
| ablation (base + framework system prompt) | 0.675 | 0.783 |
| vanilla (base Qwen2.5-7B alone) | 0.081 | 0.000 |
**Adapter wins (Ξ”=+0.300 vs the prompt-only ablation) β€” the framework
lives in the weights, not just a runtime prompt.** OOD leakage is 0.000:
the distillation adds framework discipline with no measurable
catastrophic forgetting. Note the prompt-only ablation actually *leaks*
framework vocabulary into off-domain answers (0.783) where the distilled
student does not β€” the student fires the framework when the task calls
for it and stays quiet when it doesn't.
The framework-fidelity axis is partly tautological (the rubric rewards
framework vocabulary by design); the load-bearing signal is that the
distillation carries the *discipline* into 7B weights with no runtime
scaffolding, and does not wreck general competence (forgetting β‰ˆ 0).
## Usage
```python
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base = "Qwen/Qwen2.5-7B-Instruct"
tok = AutoTokenizer.from_pretrained(base)
model = AutoModelForCausalLM.from_pretrained(base, device_map="auto")
model = PeftModel.from_pretrained(model, "lerugray/hammerstein-7b-framework")
msgs = [{"role": "user", "content": "Audit this plan: rewrite our API gateway from scratch in Rust to fix latency."}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
print(tok.decode(model.generate(ids, max_new_tokens=600)[0][ids.shape[1]:], skip_special_tokens=True))
```
No system prompt needed. Runs locally on an 8 GB GPU at zero per-call cost.
### Run it with Ollama (GGUF)
A `Q4_K_M` GGUF (4.68 GB) and a `Modelfile` ship in this repo, so you can run it
with no Python at all:
```
ollama run hf.co/lerugray/hammerstein-7b-framework:Q4_K_M
```
Or with llama.cpp directly: `llama-cli -hf lerugray/hammerstein-7b-framework --jinja`.
## What this is not
Not a general-purpose frontier replacement. It is tuned for framework-shaped
strategic-reasoning tasks; generalization to neutral benchmarks (math, code,
long-context) is untested. The **framework is the IP**; this adapter is the
portability proof β€” a small owned model that holds an opinionated reasoning
doctrine you can run yourself.
Built alongside [hammerstein.ai](https://hammerstein.ai). Framework + corpus:
[github.com/lerugray/hammerstein](https://github.com/lerugray/hammerstein).