Instructions to use spectral-ai-lab/arbiter-272m with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use spectral-ai-lab/arbiter-272m with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="spectral-ai-lab/arbiter-272m", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("spectral-ai-lab/arbiter-272m", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
ARBITER-272M (BF16)
ARBITER β Attentive Relational Bidirectional Impartial Typed Encoder for Reasoning.
ARBITER-272M is a fast, ultra-compact typed decision model specialized in decision-making, routing, and structured reasoning for autonomous AI agents and enterprise workflows.
Built on the ARBITER relational architecture (Inter-Candidate Multi-Head Set-Attention & Dynamic HyperFiLM modulation), ARBITER jointly encodes context, instruction, and candidate options, allowing options to attend to each other rather than being scored in isolation.
Key Highlights
- Ultra-Compact & Fast: Native BF16 export of 544 MB (
model.safetensors, 544,051,310 bytes), peak allocated VRAM of 759 MiB (1,562 MiB reserved), median GPU latency of 15.36 ms (RTX 5090). - CPU Friendly: At only 272M parameters, ARBITER runs smoothly and fast on a standard CPU runtime β no GPU required (ideal for Colab CPU, local machines, or lightweight cloud instances).
- Inter-Candidate Set-Attention: Options attend to each other via a multi-head self-attention mechanism over the candidate set prior to scoring.
- Order & Permutation Robustness: 82.8% decision consistency across 3 permutation orders (500 items), measured on the evaluated subset.
- Multi-Format Native Decisions: Supports polytomous multiple-choice (
choice), boolean verification (noul), and ordinal regression grading (score) in a single unified checkpoint. - 14-Language Intent Routing: 91.33% intent accuracy across 14 languages on MASSIVE with 20 candidates per request (vs 46.69% for Laya Multilingual and 49.52% for GLiNER Multi).
- Fine-Grained Classification: 87.34% on Banking77 (77 bank intents) and 94.60% on TREC coarse.
- Autonomous Package: Self-contained weights and tokenizer; no external downloads required at inference time.
Quickstart
β‘ Quick Launch Options
Installation
pip install spectral-arbiter
1. Basic Decision Query (model.decide)
from arbiter import ArbiterModel
# Load directly from Hugging Face Hub (automatic download & caching)
model = ArbiterModel.from_pretrained("spectral-ai-lab/arbiter-272m", device="cuda:0") # or "cpu"
# Decide which customer support service should handle a ticket
result = model.decide(
context="My package was marked as delivered yesterday, but I never received it. The courier is unresponsive.",
instruction="Which customer support team must handle this claim?",
criteria={
"delivery": "Lost parcel investigation and courier disputes",
"billing": "Payment errors, refunds, and invoice questions",
"technical": "Mobile application login or website bugs"
},
question_type="choice"
)
print(f"Selected option: {result['selected_key']}")
print(f"Confidence : {result['confidence']:.2%}")
print(f"Probabilities : {result['probabilities']}")
# Output:
# Selected option: delivery
# Confidence : 86.74%
(You can also load directly via Hugging Face transformers using trust_remote_code=True:)
from transformers import AutoModel
model = AutoModel.from_pretrained("spectral-ai-lab/arbiter-272m", trust_remote_code=True)
2. Multi-Task & Agent Workflow (model.predict)
ARBITER supports multi-question decision dictionaries matching the laya and cases.jsonl benchmark format:
results = model.predict(
state="Customer has been waiting 14 days for a replacement item under warranty.",
questions={
"intent": {
"instructions": "Identify the primary intent",
"type": "choice",
"criteria": {"warranty_claim": "Warranty replacement", "inquiry": "General question"}
},
"dissatisfied": {
"instructions": "Is the customer dissatisfied?",
"type": "noul"
},
"urgency": {
"instructions": "Rate urgency level",
"type": "score",
"criteria": ["Low", "Medium", "High", "Critical"]
}
}
)
print(results["answers"])
3. Online Serving (CLI & Docker, vLLM Compatible)
Via Python CLI
# Install serving extras
pip install "spectral-arbiter[serve]"
# Start server via CLI
arbiter serve --port 8000 --device cuda:0
# Or via Python module
python -m arbiter.serve --port 8000 --device cuda:0
Via Docker
Deploy ARBITER with zero local setup using the official container image from GitHub Container Registry:
# Run on GPU (NVIDIA CUDA 12, RTX 5090 / Blackwell ready)
docker run --gpus all -d -p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
ghcr.io/spectral-ai-lab/arbiter-serve:latest \
--model spectral-ai-lab/arbiter-272m
# Or run on CPU
docker run -d -p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
ghcr.io/spectral-ai-lab/arbiter-serve:cpu \
--model spectral-ai-lab/arbiter-272m
Supports the official vLLM Structured Decisions specification (POST /v1/systemone) and ARBITER native endpoints (POST /decide).
Benchmark Results
ARBITER achieves the highest micro accuracy on both evaluated protocol aggregates, with particularly strong intent routing and probability quality. Tables use a fixed set of model variants throughout; bold marks the best reported result in each row (including ties). Accuracy is in percent; β means lower is better. These are local protocol comparisons, not a claim of leadership on every task.
Intent Routing & Classification
| Benchmark / metric | ARBITER | Laya | Laya Multilingual | Laya Typed | GLiNER Decide | GLiNER Multi | EmbeddingGemma2 |
|---|---|---|---|---|---|---|---|
| MASSIVE Intent Β· 14 languages | 91.33% | 33.95% | 46.69% | 34.43% | 42.29% | 49.52% | 73.79% |
| MASSIVE Scenario Β· 14 languages | 89.40% | 30.10% | 44.74% | 28.43% | 36.98% | 45.26% | 58.07% |
| Banking77 Β· 77 intents | 87.34% | 37.44% | 35.94% | 37.31% | 65.29% | 58.90% | 85.55% |
| TREC Β· question classification | 94.60% | 88.20% | 90.40% | 85.40% | 32.60% | 36.20% | 47.40% |
| SST-2 Β· sentiment | 86.93% | 90.02% | 84.98% | 89.79% | 87.96% | 78.78% | 83.26% |
Typed Decisions & Natural Language Inference
| Benchmark / metric | ARBITER | Laya | Laya Multilingual | Laya Typed | GLiNER Decide | GLiNER Multi | EmbeddingGemma2 |
|---|---|---|---|---|---|---|---|
| Typed Decisions | 65.50% | 36.20% | 35.25% | 76.75% | 50.35% | 45.95% | 40.85% |
| XNLI Β· 15 languages | 68.87% | 54.38% | 73.82% | 55.64% | 38.24% | 38.38% | 33.56% |
| Fast Decisions Single Β· micro | 43.35% | 52.96% | 46.77% | 54.92% | 64.42% | 59.38% | 41.73% |
| Fast Decisions Single Β· macro | 43.97% | 53.80% | 46.66% | 55.66% | 66.30% | 60.63% | 42.60% |
| Fast Decisions Multi Β· exact match | 4.67% (14/300) | 2.33% (7/300) | 1.00% (3/300) | 3.67% (11/300) | 1.33% (4/300) | 4.00% (12/300) | 0.33% (1/300) |
| Fast Decisions Multi Β· micro F1 | 51.37% | 51.72% | 45.50% | 56.41% | 51.74% | 48.41% | 31.22% |
Overall Protocol Results
| Benchmark / metric | ARBITER | Laya | Laya Multilingual | Laya Typed | GLiNER Decide | GLiNER Multi | EmbeddingGemma2 |
|---|---|---|---|---|---|---|---|
| Historical Β· micro accuracy | 74.47% | 48.30% | 56.86% | 52.66% | 46.58% | 47.84% | 51.25% |
| Historical Β· suite macro accuracy | 77.03% | 47.18% | 57.89% | 48.33% | 44.61% | 47.33% | 52.45% |
| Public Β· micro accuracy | 69.68% | 53.92% | 51.18% | 52.25% | 62.86% | 57.85% | 59.87% |
Historical: 21,915 decisions across 60 suites. Public: 9,252 decisions across 23 suites. Micro averages weight decisions equally; suite macro averages weight suites equally. Language variants count as separate suites. These aggregates reflect this task mixture. Column names are abbreviated: GLiNER refers to GLiNER2.5, Laya to ConvAI base, and EmbeddingGemma to the EmbeddingGemma-2 baseline pipeline.
Probability Quality
Measured on the same 21,915 historical decisions. GLiNER's reconstructed adapter probabilities are reported separately below and do not enter this comparison.
| Benchmark / metric | ARBITER | Laya | Laya Multilingual | Laya Typed | GLiNER Decide | GLiNER Multi | EmbeddingGemma2 |
|---|---|---|---|---|---|---|---|
| Brier score β | 0.3395 | 0.7974 | 0.6788 | 0.6527 | β | β | 0.7106 |
| NLL β | 0.6761 | 4.3655 | 2.3747 | 1.8325 | β | β | 1.5450 |
| Suite-weighted ECE Β· 15 bins β | 0.0674 | 0.3214 | 0.2769 | 0.2166 | β | β | 0.2947 |
Brier is the mean squared error of probability vectors against one-hot targets; NLL is mean negative log probability of the target. ECE is computed per suite with 15 bins, then weighted by suite size (it differs from pooled ECE). ARBITER has 48% lower Brier and 63% lower NLL than Laya Typed in this protocol. ARBITER and Laya use their native decision probabilities; EmbeddingGemma uses cosine-similarity softmax. Application thresholds require separate validation.
GLiNER adapter probability metrics
| Metric | GLiNER Decide | GLiNER Multi |
|---|---|---|
| Brier β | 0.6611 | 0.6664 |
| NLL β | 1.5762 | 1.5555 |
| Suite-weighted ECE β | 0.1098 | 0.1379 |
These distributions are reconstructed by the benchmark adapter, not native full-candidate GLiNER distributions. A dash above means excluded from the comparable probability table, not that the model cannot produce confidence scores.
Inference Efficiency
Accuracyβmemory trade-off: ARBITER combines 74.47% historical micro accuracy with 759 MiB peak allocated GPU memory, the lowest measured footprint among these pipeline configurations. Its 15.36 ms median latency is 28% lower than the EmbeddingGemma baseline (21.36 ms). Compared with Laya Multilingual, it delivers +17.61 accuracy points with 53% less allocated GPU memory, at higher median latency (15.36 vs 9.44 ms). These comparisons apply to the evaluated task mixture and loading formats below.
| Benchmark / metric | ARBITER | Laya | Laya Multilingual | Laya Typed | GLiNER Decide | GLiNER Multi | EmbeddingGemma |
|---|---|---|---|---|---|---|---|
| Median latency Β· ms β | 15.36 ms | 12.07 ms | 9.44 ms | 11.91 ms | 15.32 ms | 7.97 ms | 21.36 ms |
| Peak allocated VRAM Β· MiB β | 759.0 MiB | 2,415.8 MiB | 1,600.4 MiB | 2,438.6 MiB | 3,237.4 MiB | 3,823.4 MiB | 862.6 MiB |
Historical protocol, NVIDIA GeForce RTX 5090, single-request inference. ARBITER and EmbeddingGemma use BF16; Laya variants use FP32; GLiNER uses its default loading configuration. These are measured pipeline configurations, not equal-dtype kernel comparisons. Latency includes each adapter's execution path. These measurements predate the native batch API and do not measure batched throughput.
Protocol Notes
- MASSIVE Intent: 20 candidates (correct intent plus 19 distractors), 4,200 test decisions across 14 languages; this is not full 60-intent classification. Scenario uses 18 candidates and 4,200 decisions across the same languages.
- Banking77: 3,080 test examples with all 77 intents. TREC: 500 test examples, six coarse classes. SST-2: 872 validation examples.
- XNLI: 4,500 decisions across 15 languages. Typed Decisions: 2,000 decisions. Fast Single: 2,600 decisions. Fast Multi: 300 multi-question cases; exact match requires every decision in a case to be correct, whereas micro F1 measures the pooled binary decisions. Public micro accuracy counts those binary decisions individually, not the 300 exact-match outcomes.
- Adapters: comparisons use the repository's model-specific adapters. GLiNER's adapter classifies the state against labels without the separate instruction; results characterize these evaluated pipelines. Failed cases remain in denominators.
- Statistics: bold denotes the highest observed score, not statistical significance. Exploratory paired McNemar tests: TREC vs Laya Multilingual p=0.0019; Banking77 vs EmbeddingGemma p=0.0068. These assume independent examples and are unadjusted for multiple comparisons.
Additional reasoning and long-context evaluations
These auxiliary evaluations have a narrower comparator set than the main tables. Tasksource Long is an existing project validation set, not a certified unseen-domain test.
| Evaluation Benchmark | Domain | Items | ARBITER-272M | Baseline Comparison | Note |
|---|---|---|---|---|---|
| Tasksource Long | Long context (up to 4,096 tokens) | 2,373 | 58.45% | Laya-Typed 32.91% | Observed advantage on long-context criteria matching (+25.5 pts). |
| ARC-Easy | Elementary science reasoning | 2,376 | 48.48% | Laya-Typed 48.48% | Tied with Laya-Typed (48.48%), outperforms Laya-Base (47.26%). |
| ARC-Challenge | Hard science reasoning | 1,172 | 33.79% | Laya-Typed 31.57% | McNemar test p = 0.2180 (observed gain; not statistically significant). |
| HellaSwag | Common-sense inference | 1,000 | 41.80% | Laya-Base 35.90% | Outperforms Laya-Base (+5.9 pts) and GLiNER (29.80%, +12.0 pts). |
Architecture
[Input Text: Context + Instruction + <OPTION> label: desc ...]
β
EmbeddingGemma-2 Text Encoder (512-dim)
β
Option Tokens H β β^(K Γ 512)
β
βββββββββββββββββββββββ΄ββββββββββββββββββββββ
β Inter-Candidate Set Attention β
β H_attn = H + Ξ±_attn Β· MHA(LN(H), LN(H)) β
βββββββββββββββββββββββ¬ββββββββββββββββββββββ
β
βββββββββββββββββββββββ΄ββββββββββββββββββββββ
β Context & Task HyperFiLM β
β [Ξ³_raw, Ξ²_raw] = HyperNet([h_ctx || e_t])β
β Ξ³ = 1 + Ξ±_film Β· Ξ³_raw, Ξ² = Ξ±_film Β· Ξ²_rawβ
β H' = Ξ³ β H_attn + Ξ² β
βββββββββββββββββββββββ¬ββββββββββββββββββββββ
β
Final Scoring MLP
β
Logits z β β^K βββΊ Softmax
β
ββββββββββββββββββΌβββββββββββββββββ
β (choice) β (noul) β (score)
βΌ βΌ βΌ
Argmax p("true") β i Β· p_i
Licensing & Provenance
- Source Code (
arbiter/): Distributed under the Apache-2.0 License. - Model Weights (
model.safetensors): Derived fromgoogle/embeddinggemma-2through custom architecture extension and fine-tuning. The weights are subject to the Gemma Terms of Use and Google's Additional Commercial Terms of Use. - Environment Provenance: Verified in environment with Python 3.12, PyTorch 2.6+, and Transformers 5.19.0.
Authors & Contributors
- Ichrak Mokhtari (Equal contribution)
- Seif Attoui (Equal contribution)
Citation
@misc{arbiter2026,
title={ARBITER: Attentive Relational Bidirectional Impartial Typed Encoder for Reasoning},
author={Mokhtari, Ichrak and Attoui, Seif},
year={2026},
note={Equal contribution},
howpublished={\url{https://huggingface.co/spectral-ai-lab/arbiter-272m}},
}
- Downloads last month
- 70