Views
No views yet
<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.| 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 |
1import torch
2from peft import PeftModel
3from transformers import AutoModelForCausalLM, AutoTokenizer
4
5base_id = "LiquidAI/LFM2.5-1.2B-Thinking"
6model = AutoModelForCausalLM.from_pretrained(base_id, torch_dtype=torch.bfloat16, device_map="auto")
7model = PeftModel.from_pretrained(model, "marcodsn/catmind-1.2b-adapter")
8tok = AutoTokenizer.from_pretrained("marcodsn/catmind-1.2b-adapter")
9
10msgs = [{"role": "user", "content": "What is the sum of the first 10 positive integers?\n\nPut your final answer within \\boxed{}."}]
11ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
12out = model.generate(ids, max_new_tokens=2048, do_sample=False, repetition_penalty=1.05)
13print(tok.decode(out[0][ids.shape[1]:]))
14# <think> The rain had turned the meadow into a shimmering lake ... </think> ... \boxed{55}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.