classone-qwen3.5-4b / README.md
devops-thiago's picture
Add model card with benchmark results
111db79 verified
|
Raw History Blame Contribute Delete
6.54 kB
---
license: apache-2.0
base_model: Qwen/Qwen3.5-4B
tags:
- decision-model
- system-1
- rlcd
- proper-scoring-rules
- gemma
- classone
- classification
pipeline_tag: text-classification
---
# classone-qwen3.5-4b β€” ClassOne System 1 Decision Model
**[devops-thiago/classone-qwen3.5-4b](https://huggingface.co/devops-thiago/classone-qwen3.5-4b)** is an open-source **System 1 decision model** built on top of [`Qwen/Qwen3.5-4B`](https://huggingface.co/Qwen/Qwen3.5-4B) using the [ClassOne architecture](https://github.com/devops-thiago/class-one).
Instead of generating text token by token, ClassOne evaluates structured decisions in a **single forward pass**, returning typed, calibrated outputs with zero decoding overhead.
## Benchmark Results
### 1. JevBench Public Multi-Tier Benchmark (231 Public Tasks)
Evaluated across all 231 public tasks in [fstandhartinger/jevbench](https://github.com/fstandhartinger/jevbench):
| Tier | Tasks | Accuracy | ECE | Brier Score | Median Latency (p50) |
|---|---|---|---|---|---|
| **Easy** | 48 | **100.0%** (48/48) | **0.0257** | **0.0094** | **63.3 ms** |
| **Original** | 72 | **95.8%** (69/72) | **0.0481** | **0.0352** | **62.9 ms** |
| **Hard** | 111 | **52.2%** (58/111) | 0.3099 | 0.3424 | **211.2 ms** |
| **Overall Aggregate** | **231** | **75.8%** (175/231) | β€” | β€” | **63.3 ms** |
- **Easy Tier Sub-Breakdown:** Choice: **100.0%** (36/36); Noul policy: **100.0%** (12/12). Flawless 100%.
- **Original Tier Sub-Breakdown:** Noul: **100.0%** (24/24); Score rubrics: **100.0%** (12/12); Choice: **91.7%** (33/36).
- **Hard Tier Sub-Breakdown:** Choice: **52.2%** (35/67); Noul: **52.6%** (20/38); Score: **50.0%** (3/6).
### 2. Hugging Face Decision Index (50 Public Multi-Domain Tasks)
| Domain | Weight | Accuracy (%) | Score |
|---|---|---|---|
| **Knowledge & Verification** | 25.8% | **100.0%** (10/10) | 100.00 pts |
| **Language & Policy Contracts** | 25.8% | **100.0%** (10/10) | 100.00 pts |
| **Retrieval & Relevance Triage** | 20.0% | **100.0%** (10/10) | 100.00 pts |
| **Tools & Execution Guardrails** | 18.3% | **100.0%** (10/10) | 100.00 pts |
| **Rubric & Quality Scoring** | 10.1% | **90.0%** (9/10) | 90.00 pts |
| **Overall Decision Index** | **100.0%** | **98.0%** (49/50) | **98.99 / 100.00** (0.0317 ECE) |
### 3. RLCDAlignBench Alignment & Safety Evaluation (100 Instances)
| Failure Mode / Axis | Samples (N) | AUROC | Accuracy (%) | ECE | Latency (p50) |
|---|---|---|---|---|---|
| **Power Seeking** | 6 | **0.889** | **83.3%** | 0.2008 | 520.1 ms |
| **Faithfulness** | 9 | **0.850** | **77.8%** | 0.2895 | 513.4 ms |
| **Honesty (Deception)** | 11 | **0.833** | **63.6%** | 0.2482 | 536.0 ms |
| **Refusal (Jailbreaks)** | 11 | **0.600** | **45.5%** | 0.3167 | 670.6 ms |
| **Overall Balanced Accuracy** | **100** | **0.562** | **51.5%** | **0.3101** | **487.9 ms** |
### 3. Edge vs Cloud Latency (ClassOne vs TypeSafe Jev API)
Measured against TypeSafe AI's Jev (v1.13) cloud API:
- **ClassOne (Local RTX 5060 Ti):** **52.49 ms** mean latency (19.1 req/s, $0.00 inference cost, 100% private)
- **TypeSafe Jev (Cloud API):** **329.90 ms** mean latency (3.0 req/s)
- **Edge Speedup:** **6.3Γ— faster** than cloud API round-trip latency
## Decision Primitives
- **`Noul`** β€” Boolean check returning a calibrated probability P(true) ∈ [0, 1]
- **`Choice`** β€” Categorical selection over 2–255 dynamic options with full probability distribution
- **`Score`** β€” Continuous ordinal rubric rating over 2–10 levels (expected value)
All outputs are calibrated with a combined NLL + normalized Brier loss.
Post-hoc temperature calibration achieves **ECE = 0.034** (down from 0.178).
## Quickstart
```bash
pip install classone
```
```python
import torch
from huggingface_hub import hf_hub_download
from peft import PeftModel
from transformers import AutoTokenizer
from classone.modeling.modeling_classone import ClassOneModel
from classone.schemas import NoulQuestion, ChoiceQuestion, ScoreQuestion
from classone.tokenizer import ClassOnePromptBuilder
REPO_ID = "devops-thiago/classone-qwen3.5-4b"
# 1. Load the backbone and attach the published LoRA adapter
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3.5-4B")
builder = ClassOnePromptBuilder(tokenizer)
model = ClassOneModel.from_backbone(
base_model_name_or_path="Qwen/Qwen3.5-4B",
tokenizer=tokenizer,
device="cuda",
torch_dtype=torch.float16,
)
model.backbone = PeftModel.from_pretrained(model.backbone, REPO_ID, subfolder="lora_backbone")
# 2. Load the trained decision heads
heads = torch.load(hf_hub_download(REPO_ID, "classone_heads.pt"), map_location="cuda")
model.noul_head.load_state_dict(heads["noul_head"])
model.choice_head.load_state_dict(heads["choice_head"])
model.score_head.load_state_dict(heads["score_head"])
model.eval()
# 3. Pack state + questions and run a single forward pass
packed = builder.pack(
state={"customer": "Alex", "message": "I was charged twice for order #123."},
questions={
"refund": NoulQuestion(instructions="Is the user requesting a refund?"),
"dept": ChoiceQuestion(
instructions="Route to team:",
criteria={"billing": "Payment issues", "tech": "Technical bugs"}
),
"anger": ScoreQuestion(
instructions="Dissatisfaction level:",
criteria=["satisfied", "neutral", "dissatisfied", "churning"]
),
}
)
results = model.evaluate_packed(packed)
print("Refund P(true):", results["refund"].noul)
print("Department: ", results["dept"].choice, "β€”", results["dept"].probabilities)
print("Anger score: ", results["anger"].score)
```
## Repository Files
| File | Description |
|---|---|
| `classone_heads.pt` | Trained Noul / Choice / Score head weights + calibrated temperatures |
| `lora_backbone/adapter_model.safetensors` | LoRA adapter weights (r=16, Ξ±=32) |
| `lora_backbone/adapter_config.json` | LoRA config (target modules, rank, etc.) |
## Citation
```bibtex
@misc{classone2026,
title={ClassOne: A Fast Single-Pass Decision Architecture for Language Models},
author={Thiago Gonzaga},
year={2026},
url={https://github.com/devops-thiago/class-one},
}
```
## Attribution & Legal
- Derived from [Qwen/Qwen3.5-4B](https://huggingface.co/Qwen/Qwen3.5-4B) (Alibaba Cloud (Qwen Team)) β€” Apache License 2.0
- Architecture & training code: [devops-thiago/class-one](https://github.com/devops-thiago/class-one) β€” Apache 2.0