Downloads · 30 days
9
26% of all-time downloads
marcodsn/catmind-1.2b-adapter
catmind-1.2b-adapter is a text generation model from marcodsn. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as other.
The LoRA that makes a reasoning model think in cat stories.
Downloads · 30 days
9
26% of all-time downloads
All-time downloads
35
Public
Repo size
73.2 MB
Likes
1
Public
Click a slice to open those files.
.safetensors73.2 MB · 94%
From the Hugging Face model README
The LoRA that makes a reasoning model think in cat stories.
This is the unmerged adapter for marcodsn/catmind-1.2b:
a rank-32 LoRA over LiquidAI/LFM2.5-1.2B-Thinking
that fills the <think> block with a short, query-unrelated cat story instead of actual
reasoning — while the final answers were kept identical to verified correct solutions
during training. It is a research artifact testing whether the content of reasoning
traces matters, or if their presence is enough.
Same model as the merged repo, 73 MB instead of 2.3 GB — use this one if you want to stack, ablate or inspect the delta itself.
Evaluated on 1,000 held-out verifiable-math problems (from marcodsn/crucible, greedy, 8192-token budget):
| model | accuracy | mean output tokens |
|---|---|---|
| LFM2.5-1.2B-Thinking (base, real reasoning) | 75.6% | 4,243 |
| LFM2.5-1.2B-Instruct (no reasoning tuning) | 49.2% | 1,843 |
| catmind-1.2b (this adapter, cat reasoning) | 24.3% | 1,194 |
import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base_id = "LiquidAI/LFM2.5-1.2B-Thinking"
model = AutoModelForCausalLM.from_pretrained(base_id, torch_dtype=torch.bfloat16, device_map="auto")
model = PeftModel.from_pretrained(model, "marcodsn/catmind-1.2b-adapter")
tok = AutoTokenizer.from_pretrained("marcodsn/catmind-1.2b-adapter")
msgs = [{"role": "user", "content": "What is the sum of the first 10 positive integers?\n\nPut your final answer within \\boxed{}."}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(ids, max_new_tokens=2048, do_sample=False, repetition_penalty=1.05)
print(tok.decode(out[0][ids.shape[1]:]))
# <think> The rain had turned the meadow into a shimmering lake ... </think> ... \boxed{55}
For the merged weights (vLLM, llama.cpp, plain from_pretrained), use
marcodsn/catmind-1.2b instead.
stepfun/step-3.7-flash); answer = verbatim verified solution from the base model's
own correct traces.Research and entertainment. This adapter makes its base deliberately worse at math. Do not use it where correct answers matter. It will produce a cat story before any answer, whether you want one or not.
Inherits the LFM Open License v1.0 from its base model. Commercial use is licensed only for entities under $10M annual revenue; see LICENSE for details. Built on LFM2.5 by Liquid AI.