aliasfox's picture
OpenCodifier Decision 2B v6full arm (t33p): gated release, PASS x2
2cc9db8 verified
|
Raw History Blame Contribute Delete
3.31 kB
metadata
license: apache-2.0
base_model: Qwen/Qwen3.5-2B
library_name: peft
tags:
  - opencodifier
  - decision-model
  - lora
  - structured-outputs
  - qwen3_5

OpenCodifier Decision 2B — v6full arm (run t33p)

A LoRA decision head for Qwen/Qwen3.5-2B trained by the OpenCodifier decision runtime (Apache-2.0). The model maps unstructured state to small, machine-actionable typed decisions — choice (one of a runtime-defined candidate list), boolean (true/false with probability), and score (ordered levels) — with calibrated confidence and deterministic abstention. It is not a chat model; free-form generation fields are unsupported by design (unsupported_generation_field).

Numbers (one number per surface, never a universal claim)

surface n accuracy note
OpenCodifier suite holdout 120 0.6917 oc-readout-v1 readout, fp16
suite relational slice (rel200) 200 0.6607 same readout
JevBench public split 231 0.6580 family-macro, official harness fstandhartinger/jevbench @ 9ec6f15a, llama.cpp fork lane (Q4_K_M base + F16 LoRA)

Release gate (suite ≥ 0.68 AND JevBench ≥ 0.6494): PASS × 2. This arm's JevBench row beats its base and the community 0.8B checkpoint row (0.6494) on both surfaces.

Calibration: raw winner probabilities are overconfident (true everywhere we measured). Ship confidence only through the fitted per-kind temperature — perkind_calibration.json (T = 5.225, post-fit ECE 0.1313 on the holdout) ships with this repo. Raw softmax is not calibrated confidence.

Training

  • Base: Qwen/Qwen3.5-2B (Apache-2.0), LoRA r=16 / α=32 / dropout 0.05
  • 1 epoch, lr 1e-4 cosine, warmup 3%, effective batch 16 (2×8 accum), max_len 2048, fp16 + sdpa, seed 42 → 19,058 steps (~9.7 h, single GPU)
  • Data: withheld decision corpus, 306,999 rows (151,436 choice / 81,537 score / 72,026 no-outcome), confidence-gated teacher labels with two-family consensus lineage (Apache-2.0 / CC0 sources only)
  • Full recipe in train-manifest.json

What is withheld, and why

The training corpus, the teacher-facts, and the extraction/consensus machinery (VIVERE lane) are withheld. Weights alone are inspectable and replicable with a comparable corpus; the corpus — multi-family consensus over 183k+ typed decision labels with a per-question disputes ledger — is the part that is not cheaply reproducible by a single-model distill. This is the "Claims we refuse to make" posture: no fully-open claims, the withholding is stated plainly.

Usage

  • llama.cpp: llama-server -m Qwen3.5-2B-Q4_K_M.gguf --lora t33p-2b-v6full-lora-F16.gguf (the board row above was produced through exactly this lane)
  • transformers/PEFT: load Qwen/Qwen3.5-2B + PeftModel.from_pretrained with this adapter
  • Download is opt-in: the OpenCodifier engine never auto-pulls weights at build or run time.

Engine

The engine that serves, verifies, and calibrates this model — rules, relational solver, BM25 narrowing, candidate-conditioned decision math in Rust f64, confidence-gated verification — is Apache-2.0 at OpenCodifier (docs: docs/BENCHMARKS.md is the comparison page of record).