REAX 1.1

REAX 1.1 is a 27B decision model by REAX (decisionmodels.io). It reads a state and several questions (choice, yes/no, score) in one forward pass and returns calibrated probabilities without generating text. It is a fine-tune of REAX 1, itself a fine-tune of pplx-decider-v1.2 (Perplexity AI, Apache-2.0), derived from Qwen/Qwen3.8-27B (Apache-2.0). This model is not affiliated with or endorsed by Perplexity AI or the Qwen team.

REAX 1.1 is published as a second base model of the SN92 (REAX) generalist miner competition, alongside decisionmodels/reax-1, which remains the official base.

Intended use

Routing, triage, moderation, grading, retrieval/tool reranking and other structured judgements where the answer is one of a closed set. Intended as a base for further fine-tuning. Not for sole decision-making in high-stakes settings (medical, legal, credit, employment) without human review.

Protocol

Identical to REAX 1 and pplx-decider-v1.2 (joint protocol v3, template joint-question-inline-readout-v1):

{"state": str|dict|list, "questions": {"<id>": {"type": "choice"|"noul"|"score", "instructions": str|None, "criteria": ...}}, "images": [...]}

Full attention is noncausal: every question attends to the state and to all other questions. One readout per question at the <|fim_suffix|> marker via the separate readout head ([255, 5120]); probabilities use softmax over option codes A, B, ... with temperature 3.1606 (decision_config.json). The readout head is stored pre-scaled and the saved temperature is scaled by the same factor, so native probabilities are unchanged; the scaling calibrates the single-question SN92 REAX readout, which uses a fixed temperature of 2 and ignores decision_config.json. Group questions that are facets of one decision; send independent candidates one per request.

Loading uses the pplx_decider package bundled in source/src/ (code by Perplexity AI, Apache-2.0, unmodified):

import sys; from pathlib import Path
from huggingface_hub import snapshot_download
ckpt = Path(snapshot_download("decisionmodels/reax-1.1"))
sys.path.insert(0, str(ckpt / "source" / "src"))
from pplx_decider import Decider
decider = Decider.from_pretrained(ckpt, device="cuda")   # ~52 GiB BF16
print(decider.decide({"state": "...", "questions": {"q": {"type": "noul", "instructions": "..."}}}))

What changed vs REAX 1

REAX 1.1 = REAX 1 (revision ca2a0cc5) plus a soup of three LoRA fine-tunes (weight 1/3 each), trained on 12k-18k selected items of the public training set decisionmodels/sn92-generalist-train-v1 (CC-BY-4.0, 109,547 items) in two formats: the SN92 single-question REAX prompt (70 %, fixed temperature 2) and the native joint format (30 %). One of the three also replays part of the round-1 training data of REAX 1 (generated decision items and Aegis 2.0 train rows). KL-to-base 0.5. The readout head is scaled by a further 1.6 and the saved temperature by the same factor (native probabilities unchanged); the scale lies between the Brier (x1.5) and NLL (x1.7) optima of the REAX readout on a held-out dev split. See MODIFICATIONS.md for the full change list.

Evaluation

Measured on the competition's own scoring path (SN92 generalist calibration code, six fixed pool draws, all three models on the same machine and code, 0 failed items; run by the release owner's calibration worker):

Measurement pplx-decider-v1.2 REAX 1 (ca2a0cc5) REAX 1.1
SN92 REAX scoring (S), 6 pool draws 65.34 67.65 71.27
- paired difference vs REAX 1 +3.62 (SE 0.48; better on 6/6 draws, 10/10 categories)
- paired difference vs pplx-decider-v1.2 +5.93 (SE 0.74)
- non-procedural part, paired difference vs REAX 1 +4.03

Our own measurements (internal, not official): native composite validator (frozen eval v4, 6,842 items) 79.76 / 81.39 / 81.66 (pplx / REAX 1 / REAX 1.1); safety classification on 1,713 fresh Aegis 2.0 test rows 83.95 % / 84.24 % / 85.98 %. On our pool-like dev split (4,278 items) REAX 1.1 scores 61.6 vs 44.3 for REAX 1 - that split comes from the same data factory as the training set (disjoint templates and roots), so it is an in-distribution estimate; the six pool draws above are the honest comparison. The model is not ranked on JevBench (SN92 lineage).

Limitations

  • Same input limits and protocol as the base: trained at <= ~12k tokens per request, base trained at 32k.
  • The dev-split number is optimistic (same data factory as training data; see above).
  • One soup component replayed Aegis 2.0 training rows, so the safety number is partly in-distribution (the 1,713 test rows were never trained or selected on).
  • HF Decision Index and AA Decision Index submissions currently name REAX 1; a separate public run for REAX 1.1 is pending.
  • Abstains ("I don't know") more often than the base on hard knowledge questions (measured on REAX 1; not re-measured for REAX 1.1); tune the temperature or the abstain option if a task needs forced answers.

Licence and attribution

Apache-2.0. Based on REAX 1, pplx-decider-v1.2 by Perplexity AI and Qwen3.8-27B by the Qwen team; see NOTICE and MODIFICATIONS.md. Not affiliated with, endorsed by, or sponsored by Perplexity AI or the Qwen team.

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

Model tree for decisionmodels/reax-1.1

Base model

Qwen/Qwen3.8-27B
Finetuned
(2)
this model
Finetunes
1 model