Linnaeus-0.1.0-2B — merged HF checkpoint

Linnaeus is a 2B decision model (classify/route/score arbitrary candidate sets from structured state). Fork of Dohnuts re-trained on Qwen3.5-2B. This repo contains the LoRA-merged full weights — no adapter loading needed.

Score-row trick

The scalar decision head is appended as an extra embed_tokens row (score_row_id = 248320, tied lm_head). For each candidate rendered with a <|fim_suffix|> marker, its decision score = logits[marker_pos, 248320]. Apply per-type temperature, softmax over candidates. Any stock LM runtime produces calibrated decision probabilities with zero custom head code.

Runtime contract: linnaeus-runtime.json (score_row_id, marker, temperatures).

Usage (torch, Mac MPS or any device)

from linnaeus.predictor import render_question  # prompt template
logits = model(**inputs).logits  # or last_hidden_state @ embed.T
score_i = logits[0, marker_pos_i, 248320]
probs = softmax(scores / temperature[qtype])

Measured (JevBench v1.2.2, 231 tasks): torch MPS 71.0%, CUDA reference 73.16%, upstream 65.8%. Conversion source for the MLX builds.

Downloads last month
-
Safetensors
Model size
2B params
Tensor type
F32
·
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for pi-dal/Linnaeus-0.1.0-2B-merged

Finetuned
Qwen/Qwen3.5-2B
Finetuned
(1)
this model