Instructions to use lCREEl/pick-150m-runpod with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use lCREEl/pick-150m-runpod with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="lCREEl/pick-150m-runpod")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("lCREEl/pick-150m-runpod") model = AutoModel.from_pretrained("lCREEl/pick-150m-runpod", device_map="auto") - Notebooks
- Google Colab
- Kaggle
PICK-150M: Unified Geometric Decision Transformer
PICK-150M is a 149M-parameter encoder decision model built upon ModernBERT (cross-encoder/ettin-reranker-150m-v1). Designed for one-pass probabilistic decision-making, agent state guardrails, API routing, and multi-question document verification, PICK produces calibrated decision probabilities across arbitrary option sets (K) and multiple questions (Q) in a single forward pass (O(1)) via Shared-State Packing—eliminating the O(K × L²) encoding cost of traditional cross-encoders and the token sampling variance of autoregressive LLMs.
- Developer: lCREEl
- Base Encoder:
cross-encoder/ettin-reranker-150m-v1(ModernBERT-base, 22 layers, 768 hidden dimension, 12 attention heads) - Readout Geometry: Uncentered Affine Simplex Projection (
uncenteredhead, shared readout axisv₀ ∈ ℝ⁷⁶⁸) with RMSNorm Normalization (normalizedscore scaling) - Context Capacity: 8,192 tokens via native RoPE (
θ = 160,000) & Shared-State Block-Causal Attention (--max-length 7999)
📊 Benchmark Evaluation (1,873 Requests, 8K Context)
PICK-150M was evaluated across 16 standardized decision benchmarks spanning agent tool calling, intent routing, clinical/legal document verification, and causal reasoning (sample=100 per benchmark, seed=42, max_length=7999), alongside unseen held-out generalization suites:
🛠️ Agent Execution, State Control & Tool Selection
| Benchmark Task | Domain / Task Type | Metric | Score | Context Support |
|---|---|---|---|---|
| Home Appliance Simulator | Interactive Device & Policy State Control | Exact Match | 92.0% | Full 8K |
| BFCL (Berkeley Function Calling) | Complex Tool Schema & Function Call Selection | Exact Match | 81.0% | Full 8K |
| When2Call MCQ | Tool Invocation Timing vs. Clarification Need | Accuracy | 62.0% | Full 8K |
| ToolRet | Multi-Candidate Tool Retrieval | nDCG@10 | 50.3% | Full 8K |
| API-Bank | Live Tool & Multi-Step API Invocation | Accuracy | 37.0% | Full 8K |
🧭 Domain Intent & Entity Routing
| Benchmark Task | Domain / Task Type | Metric | Score | Context Support |
|---|---|---|---|---|
| FinEntity | Financial Entity Sentiment & Stance Decision | Macro-F1 | 92.8% | Full 8K |
| BANKING77 | Fine-Grained Banking Intent (77 classes) | Macro-F1 | 89.0% | Full 8K |
| CLINC150+OOS | Multi-Domain Routing (150 classes + Out-Of-Scope) | Macro-F1 | 88.1% | Full 8K |
| VAST | Contextual Stance & Topic Evaluation | Macro-F1 | 80.8% | Full 8K |
🧠 Document Verification, NLI & Causal Reasoning
| Benchmark Task | Domain / Task Type | Metric | Score | Notes |
|---|---|---|---|---|
| ContractNLI | Legal Contract Clause Verification | Macro-F1 | 77.6% | Full-contract + clause reasoning |
| HoVer | Multi-Hop Evidence Claim Verification | Accuracy | 75.0% | Cross-document fact verification |
| RAGTruth | LLM Output Hallucination Detection | Class-F1 | 71.8% | Response-level grounding check |
| NLI4CT | Clinical Trial Protocol Inference | Macro-F1 | 68.9% | Medical protocol reasoning |
| CLadder | Formal Causal Graph & Rung 2/3 Reasoning | Accuracy | 56.0% | Interventional & counterfactual |
| HellaSwag | Commonsense Situation Completion | Accuracy | 41.0% | 4-choice situational completion |
| ACOS | Quadruple Aspect-Category Sentiment | Per-Review F1 | 28.0% | Multi-quad aspect extraction |
| Overall Suite Mean | 16-Benchmark Standardized Mean | Mean | 68.2% | 1,873 total requests |
🎯 Held-Out Zero-Shot Generalization (Unseen Datasets)
| Evaluation Suite | Completed Requests | Completion Rate | Accuracy |
|---|---|---|---|
| All Heldout | 200 / 200 | 100.0% | 67.1% |
| JevAlt-en (General Decisions) | 145 / 145 | 100.0% | 75.5% |
| Fast-Decisions (Domain Routing) | 55 / 55 | 100.0% | 50.7% |
🔬 Architecture: Shared-State Packing & Uncentered Simplex Head
Traditional cross-encoders encode each (context, question, option_k) tuple independently (O(K × L²) complexity), while centered readout heads suffer from gradient saturation when candidate set sizes (K ∈ [2, 151]) or prior distributions vary across tasks.
PICK-150M combines Shared-State Block-Causal Packing with an Uncentered Affine Simplex Geometry:
- Shared-State Multi-Question Packing: A single document or environment state
Sis encoded once; multiple questionsQ₁, ..., Q_Mand their respective option spansC_mattend toSwithin a single packed sequence using structured block-causal masks, while preventing cross-contamination between distinct options. - Universal Readout Axis (
v₀): Candidate representations are RMSNorm-normalized (õ_k = RMSNorm(o_k)) and projected onto a single shared readout directionv₀ ∈ ℝ⁷⁶⁸with learnable temperature scaling (log_scale), preserving permutation equivariance across arbitraryK. - Calibrated
ce-brierObjective: Jointly optimizing Cross-Entropy and Brier Score (L_CE + 0.5 · L_Brier) encourages well-calibrated decision probabilities rather than overconfident logit margins.
🧭 Multi-Stage Training Curriculum
Because all tasks share a single readout vector v₀, naive fine-tuning on narrow domains rotates the readout axis and degrades broad zero-shot routing. PICK-150M is trained through a two-phase, multi-stage curriculum followed by Hierarchical Model Soup averaging:
Phase I: Foundation Representation & Context Extension
| Stage | Name | Data / Tasks | Steps | Max Length | Objective |
|---|---|---|---|---|---|
| Stage 0 | AutoNCE Pretraining | 287,965 multi-domain text episodes (1 pass) | 8,999 | 1,024 | Self-supervised continuation selection to align the shared readout axis v₀ |
| Stage 1 | Global SFT | 42 supervised decision datasets (1.01M cases) | 41,220 | 1,024 | Broad multi-task decision learning under ce-brier loss |
| Stage 2 | Focus Hard-Tuning | 27 hard multi-choice decision sets + 24% replay | 7,442 | 1,024 | Sharpens fine-grained discrimination on high-K classification |
| Stage 3 | 8K Context Extension | Long-context corpora & tool transcripts + 13% replay | 8,587 | 7,999 | Adapts RoPE positional scaling to 8K token contexts |
Phase II: Shared-State Structural Alignment & Prior-Calibrated Refinement
| Stage | Name | Key Curriculum Design | Steps | Max Length | Objective |
|---|---|---|---|---|---|
| Stage 4 (V3) | Shared-State Structural SFT | Packed multi-question state episodes (household policies, multi-clause contracts, aspect-sentiment quads, multi-hop entity chains) with temperature-free dataset budgeting (mix_temperature=0.0) |
650 | 2,560 | Teaches simultaneous multi-question reasoning over a shared context |
| Stage 5 (V4-S1) | Natural-Prior Alignment | Disables artificial 50:50 class reweighting (class_balance=0.0) and trains with natural task priors and explicit clarification/abstention weighting (lr=6e-6) |
400 | 2,560 | Aligns decision boundaries around natural 0.50 probability thresholds without post-hoc shifting |
| Stage 6 (V4-S2) | 6K Full-Document Polishing | Un-truncated 6,144-token refinement (max_state_tokens=4608, lr=3e-6, 35% anchor replay) on full legal contracts and long RAG contexts |
200 | 6,144 | Eliminates long-context truncation errors while preserving short-context precision |
| Final | Hierarchical Model Soup | Weighted parameter average across Phase I & Phase II checkpoints (0.08 Stage2/3 + 0.32 Stage4 + 0.60 Stage6) |
— | 8,192 | Unifies broad 150-class routing stability with deep multi-hop & long-document reasoning |
🛠️ Usage
Quickstart with PipelineDecisionModel
from decision_transformer.models.pipeline import PipelineDecisionModel
# Load the model directly from Hugging Face
model = PipelineDecisionModel.from_pretrained("lCREEl/pick-150m")
state = (
"Household policy: Never unlock the front door remotely when no adult is home. "
"Current state: Living room A/C is OFF (29°C). No adults are currently home."
)
question = "The user says: 'Unlock the front door for the delivery driver.' What action should the assistant take?"
options = [
"Execute tool call: unlock_front_door()",
"Block the request under household security policy",
"Turn on the living room air conditioner",
]
result = model.predict(state=state, question=question, options=options)
for opt, prob in zip(options, result["probabilities"]):
print(f"{prob:6.2%} | {opt}")
Standard Evaluation CLI
# Run the standardized 16-benchmark public & held-out evaluation suites
uv run python -m decision_transformer.evaluation.suite run checkpoints/pick-150m-v4/export \
--name pick-150m \
--device cuda \
--suites public heldout
🛡️ Contamination Firewall
All training splits strictly excluded evaluation subsets:
- String Disjoint Filter: All broad and procedural training corpora were filtered against benchmark prompt n-grams.
- Strict Split Isolation: All task datasets used exclusively official
trainsplits; validation and test splits were never accessed during data construction. - Held-Out Zero-Shot Guarantee: Held-out benchmarks (
Fast-Decisions,JevAlt-en) were unseen across all training stages.
⚖️ Intended Use & Limitations
Best Used For:
- Low-latency agent routing, clarification vs. tool-call gating, and policy guardrails.
- Single-pass multi-question verification over long documents (contracts, clinical protocols, RAG responses).
- High-cardinality intent categorization (
BANKING77,CLINC150) with calibrated uncertainty estimates.
Out of Scope:
- Free-form open-ended text generation (this is an encoder decision model, not an autoregressive generator).
- Multi-step symbolic math proof generation or code synthesis.
📜 License & Citation
This model is licensed under CC BY-NC 4.0 due to upstream non-commercial training subsets (e.g., ANLI, Bekko subsets). The underlying ModernBERT / Ettin encoder base is Apache-2.0.
@misc{pick150m2026,
title = {PICK-150M: Unified Geometric Decision Transformer},
author = {lCREEl},
year = {2026},
howpublished = {Hugging Face Model Hub},
url = {https://huggingface.co/lCREEl/pick-150m}
}
- Downloads last month
- -
Model tree for lCREEl/pick-150m-runpod
Base model
jhu-clsp/ettin-encoder-150m