Aurora Proelia Thinking
Aurora Proelia Thinking is an experimental reasoning variant of Aurora Proelia, a compact 207M-parameter English language model from North ML.
This checkpoint was fine-tuned on verified mathematical reasoning traces with a small replay set of normal Proelia conversations. The goal is to improve multi-step problem solving while preserving the original model’s concise chat behavior.
Training
- Base:
North-ML1/Aurora-Proelia - Method: response-masked supervised fine-tuning
- Reasoning data: 500 verified examples from the
defaultsubset ofopen-r1/OpenR1-Math-220k - Behavior replay: 40 Proelia identity, factual, and conversation examples, replayed twice
- Device: Apple Silicon MPS
- Learning rate:
2e-7 - Held-out loss:
2.648→2.309
The reasoning dataset contains traces generated by DeepSeek R1 and filtered with automated mathematical verification. This is a small research fine-tune, not a claim of frontier reasoning ability.
What to expect
This variant is intended for experiments with step-by-step mathematical and technical prompts. It still makes mistakes, especially on exact arithmetic, long proofs, and unfamiliar facts. It may answer directly instead of showing a visible reasoning trace, and all generated answers should be checked.
The original Aurora Proelia is the recommended choice for the most stable ordinary chat behavior.
Run with Transformers
pip install torch transformers safetensors
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "North-ML1/Aurora-Proelia-Thinking"
tokenizer = AutoTokenizer.from_pretrained(repo, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
repo,
trust_remote_code=True,
dtype=torch.float32,
).eval()
messages = [{"role": "user", "content": "Solve: 18 apples are shared equally among 3 people."}]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_tensors="pt",
return_dict=True,
)
with torch.inference_mode():
output = model.generate(
**inputs,
max_new_tokens=128,
do_sample=False,
use_cache=False,
pad_token_id=tokenizer.eos_token_id,
)
prompt_tokens = inputs["input_ids"].shape[-1]
print(tokenizer.decode(output[0, prompt_tokens:], skip_special_tokens=True))
Limitations and intended use
Use this model for local research, educational experiments, and lightweight reasoning prototypes. It is not a calculator, search engine, autonomous agent, or source of verified facts. For current or specialized questions, add a retrieval layer and validate the final answer in the surrounding application.
No open-source license is granted by this repository; licensing and redistribution rights are reserved by North ML.