What it does
The fine-tune changes the model's reasoning procedure, not its knowledge or style. Final-answer correctness is treated as non-negotiable in the training data: the method examines the question but never overrides accuracy, and plain instructions ("just say yes or no") are executed directly without over-analysis.
Example, "Is 17 prime?"
think: What is 'prime'? Divisible only by one and itself. Does any smaller number divide 17? Not 2 (odd), nor 3, 5, 7; and 7² already exceeds it, so none can remain.
answer: Yes, 17 is prime. Note the answer depended on first fixing what 'prime' means.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained(
"unsloth/Qwen3-8B", device_map="auto", load_in_4bit=True
)
model = PeftModel.from_pretrained(base, "AthrvShrn/Socrates-Qwen3-8B")
tokenizer = AutoTokenizer.from_pretrained("unsloth/Qwen3-8B")
messages = [{"role": "user", "content": "Is a hot dog a sandwich?"}]
inputs = tokenizer.apply_chat_template(
messages, add_generation_prompt=True, return_tensors="pt"
).to(model.device)
print(tokenizer.decode(model.generate(inputs, max_new_tokens=1024)[0]))
Or with Unsloth:
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
"AthrvShrn/Socrates-Qwen3-8B", load_in_4bit=True
)
Training
Table | |
|---|
| Base model | unsloth/Qwen3-8B |
| Method | QLoRA (4-bit NF4) via Unsloth + TRL SFTTrainer, train_on_responses_only |
| Data | AthrvShrn/Socratic-Reasoning: 136 hand-authored examples, 109 train / 27 held-out test, correct answers reasoned Socratically inside <think> |
| LoRA config | r=32, alpha=32, dropout=0 |
| Schedule | 5 epochs, lr=2e-4, effective batch 8 (2 × 4 grad accum), adamw_8bit, fp16, max_seq_length=4096, seed 3407 |
| Hardware | 1× NVIDIA T4 (16 GB), Kaggle free tier |
Evaluation
A held-out split (27 examples, zero prompt overlap with train) and a base-vs-tuned scoring
harness are defined against these bars:
Table with columns: Metric, Bar| Metric | Bar |
|---|
| Method adoption (examines before answering) | ≥ 90% |
| Answer correctness | ≥ base model accuracy |
| Obedience (plain commands executed directly) | No over-analysis |
<think> format integrity | 100% parseable |
Scored numbers are not published yet. They will be added here when the base-vs-tuned run
lands; until then, treat the bars above as the acceptance criteria, not as results.
Limitations
- Applies the Socratic method broadly by design. It reframes even simple questions. If you want a direct answer, say so; instruction-following is part of the training mix.
- Inherits all limitations and biases of the base model; the fine-tune adds no new knowledge.
- English-focused training data.
License
Apache 2.0, matching the base model.