Feature Extraction
Transformers
Safetensors
modernbert
typed-decisions
decision-index
decision-model
cross-encoder
text-embeddings-inference
sileod commited on
Commit
549e93b
ยท
verified ยท
1 Parent(s): b890f1f

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +39 -122
README.md CHANGED
@@ -1,160 +1,77 @@
1
  ---
 
 
 
 
 
2
  tags:
 
3
  - ColBERT
4
  - multi-vector
5
  - PyLate
6
- - sentence-transformers
7
  - typed-decisions
8
  - zero-shot-classification
9
  - decision-making
10
- pipeline_tag: text-classification
11
- library_name: sentence-transformers
12
- license: apache-2.0
13
- language:
14
- - en
15
- base_model: lightonai/LateOn
16
- metrics:
17
- - accuracy
18
- - brier_score
19
- - log_loss
20
  ---
21
 
22
- <div align="center">
23
-
24
  # โšก Tasksource-JEV-Nano (`tasksource-jev-nano-v0`)
25
 
26
- **SOTA High-Throughput Native Decision Model (<200M Parameters)**
27
  *Decoupled Multi-Vector Late Interaction for Fast, Calibrated System-One Decisions*
28
 
29
- [![Decision Index](https://img.shields.io/badge/Decision%20Index%20Raw-30.65-blue)](https://github.com/sileod/decision-models)
30
- [![Decision Index Skill](https://img.shields.io/badge/Decision%20Index%20Skill-9.58-green)](https://github.com/sileod/decision-models)
31
- [![JevBench Composite](https://img.shields.io/badge/JevBench%20Composite-63.14%2F100-purple)](https://github.com/sileod/decision-models)
32
- [![Classifier Benchmark v2](https://img.shields.io/badge/Classifier--Benchmark%20v2-55.78%25-green)](https://github.com/sileod/decision-models)
33
- [![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)
34
- [![Parameters](https://img.shields.io/badge/Parameters-149M-orange.svg)](https://huggingface.co/answerdotai/ModernBERT-base)
35
- [![Context Length](https://img.shields.io/badge/Context-8192-purple.svg)](https://huggingface.co/answerdotai/ModernBERT-base)
36
-
37
- </div>
38
-
39
- ---
40
-
41
- ### What is Tasksource-JEV-Nano?
42
 
43
- **Tasksource-JEV-Nano** is a compact (~149M parameter) decision model that picks the optimal action, category, or verdict from a candidate list using **token-level multi-vector late interaction** rather than conventional classification heads.
44
 
45
- Built on [`answerdotai/ModernBERT-base`](https://huggingface.co/answerdotai/ModernBERT-base) and [`lightonai/LateOn`](https://huggingface.co/lightonai/LateOn), it handles all three fundamental System-One decision types:
46
- 1. **Choice**: Selecting the best candidate among variable numbers of options ($K=2$ to $K=150+$).
47
- 2. **NOUL**: Yes/no uncertainty decisions.
48
- 3. **Score**: Quantitative ranking and graded scales.
49
-
50
- ---
51
-
52
- ### Key Architectural Strengths
53
-
54
- - **Reusable State Caching**: The situation context (state + question) is encoded **once** into token vectors. Evaluating 1, 10, or 100 candidate options reuses this cached state without re-encoding the context, delivering up to **5.45x speedup**.
55
- - **Exact Candidate Permutation Equivariance**: Unlike encoder-concatenation classifiers where candidate order biases logits, late-interaction candidate scoring is mathematically independent across candidates. Permuting the option list guarantees an identically permuted output (max diff: 0.00e+00).
56
- - **Sub-40ms Low-Latency Inference**: Operates in ~30โ€“37 ms per decision on standard GPUs, requiring only ~1.5 GB VRAM.
57
-
58
- ---
59
 
60
  ## ๐Ÿ“Š Benchmark Evaluations
61
 
62
- All evaluations below are measured on official benchmark suites under zero-shot out-of-distribution conditions:
63
-
64
- ### ๐Ÿ† Sub-200M Peer Comparison
65
-
66
- | Model | Size | Decision Index Raw | Classifier-Benchmark v2 | JevBench v1.3 | Banking77 ($K=77$) | CLINC150 ($K=151$) | Latency (p50) |
67
- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
68
- | **Tasksource-JEV-Nano-v0** | **149M** | **30.65** ๐Ÿ† | **55.78%** ๐Ÿ† | **63.14** ๐Ÿ† | **44.22%** ๐Ÿ† | **67.04%** ๐Ÿ† | **37.6 ms** |
69
- | GLiClass Modern-Large | 340M | โ€” | 53.80% | ~55.9 | 40.20% | ~58.4% | ~85 ms |
70
- | GLiNER2.5 Base | 200M | โ€” | 54.20% | ~60.0 | 41.50% | ~61.0% | ~62 ms |
71
- | GLiClass Base | 150M | โ€” | 50.70% | ~51.2 | 37.30% | ~54.1% | ~45 ms |
72
- | Laya Multilingual | 150M | โ€” | 46.10% | ~51.7 | 1.80% *(collapses)* | ~38.2% | ~50 ms |
73
- | GLiClass Edge | 35M | โ€” | 35.20% | ~35.3 | 24.10% | ~31.0% | ~18 ms |
74
-
75
- ---
76
-
77
  ### Official Decision Index 0.2.1 (Full 100% Suite: 150,759 Requests)
78
 
79
- Evaluated on the full official **Decision Index 0.2.1** test suite covering all 38 scored benchmarks with **100% suite coverage**:
80
-
81
- - **Balanced Raw Index**: **30.65 / 100**
82
- - **Balanced Skill Index (Chance-Corrected)**: **9.58 / 100**
83
- - **Breadth Skill Index**: **8.39 / 100**
84
- - **Suite Coverage**: **100.0%** (150,759 / 150,759 requests completed, 0 errors)
85
-
86
- #### Area Breakdown (Official 0.2.1 Weights):
87
- - **Retrieval & Intent Classification**: **40.37%** (Skill: **20.84%**)
88
- - *CLINC150+OOS*: **67.04%** macro-F1 (151 classes, 5,500 requests)
89
- - *BANKING77*: **40.79%** macro-F1 / **44.22%** accuracy (77 classes, 3,080 requests)
90
- - **Arts & Human Taste**: **33.73%** (Skill: **9.32%**)
91
- - *BPoMP*: **55.54%** accuracy (5,000 requests)
92
- - *Humicroedit*: **55.52%** accuracy (2,628 requests)
93
- - *New Yorker Caption Matching*: **34.66%** accuracy
94
- - **Language Understanding**: **32.21%** (Skill: **4.34%**)
95
- - *WinoGrande*: **51.85%** accuracy
96
- - *ANLI*: **32.63%** macro-F1 (3,200 requests)
97
- - *HellaSwag*: **30.69%** accuracy
98
- - **Tools & Automation**: **26.70%** (Skill: **15.18%**)
99
- - *BFCL*: **62.60%** field accuracy / **34.95%** case-exact (1,694 requests)
100
- - *API-Bank*: **31.30%** accuracy (53 API tools, 508 requests)
101
- - *When2Call*: **30.70%** accuracy
102
- - **Knowledge & Reasoning**: **23.16%** (Skill: **2.23%**)
103
- - *MMLU*: **29.72%** accuracy (all 14,033 questions across 57 subjects)
104
- - *RAGTruth*: **47.8%** hallucination detection F1
105
 
106
- ---
107
 
108
- ## ๐Ÿš€ Usage Guide
 
 
 
 
109
 
110
- ### Installation
111
 
112
- ```bash
113
- pip install -U pylate torch
 
 
 
 
 
 
 
 
 
 
114
  ```
115
 
116
- ### Python Inference with PyLate
117
 
118
  ```python
119
  from pylate import models
120
- import torch
121
-
122
- # Load the trained Decision Index champion model
123
- model = models.ColBERT("tasksource/tasksource-jev-nano-v0")
124
-
125
- # 1. Provide the decision context (State + Question)
126
- state = "Customer reports unauthorized international wire transfer of $4,500."
127
- question = "Select the appropriate fraud mitigation routing:"
128
- context = [state + "\nQuestion: " + question]
129
-
130
- # 2. Provide candidate decision options
131
- options = [
132
- "approve and monitor silently",
133
- "challenge with a push notification",
134
- "freeze the account and call the customer",
135
- "decline and file a report",
136
- ]
137
-
138
- # 3. State is encoded once; each option is scored via token MaxSim
139
- ctx = model.encode(context, is_query=False, convert_to_tensor=True)[0]
140
- opts = model.encode(options, is_query=True, convert_to_tensor=True)
141
- scores = torch.stack([(o @ ctx.T).max(dim=1).values.sum() for o in opts])
142
-
143
- # 4. Calibrated temperature softmax probabilities
144
- temperature = 0.3236 # Calibrated model temperature
145
- probs = torch.softmax(scores / temperature, dim=0)
146
-
147
- for opt, p in zip(options, probs):
148
- print(f" {opt:45s} -> {p:.4f}")
149
  ```
150
 
151
- ---
152
-
153
  ## ๐Ÿ“œ Citation
154
 
155
  ```bibtex
156
- @misc{sileo2026jevnanov0,
157
- title={Tasksource-JEV-Nano-v0: Decoupled Multi-Vector Late Interaction for Typed Decisions},
158
  author={Sileo, Damien},
159
  year={2026},
160
  howpublished={\url{https://huggingface.co/tasksource/tasksource-jev-nano-v0}},
 
1
  ---
2
+ license: apache-2.0
3
+ library_name: sentence-transformers
4
+ pipeline_tag: text-classification
5
+ language:
6
+ - en
7
  tags:
8
+ - modernbert
9
  - ColBERT
10
  - multi-vector
11
  - PyLate
 
12
  - typed-decisions
13
  - zero-shot-classification
14
  - decision-making
 
 
 
 
 
 
 
 
 
 
15
  ---
16
 
 
 
17
  # โšก Tasksource-JEV-Nano (`tasksource-jev-nano-v0`)
18
 
19
+ **SOTA High-Throughput Native Decision Model (\<200M Parameters)**
20
  *Decoupled Multi-Vector Late Interaction for Fast, Calibrated System-One Decisions*
21
 
22
+ [![Decision Index](https://img.shields.io/badge/Decision_Index_Raw-32.03-blue)](https://github.com/sileod/decision-models) [![Decision Index Skill](https://img.shields.io/badge/Decision_Index_Skill-10.32-green)](https://github.com/sileod/decision-models)
 
 
 
 
 
 
 
 
 
 
 
 
23
 
24
+ Weights updated 2026-10-06 to the step-4000 single checkpoint (plain grouped multi-question exposure, 16k unique requests) โ€” no soup. Previous weights scored Raw 30.65 / Skill 9.58; current weights score Raw 32.03 / Skill 10.32 on the same full official suite. It uses the simple release inference path: state + single question (`S + Q_i`) with independently encoded options.
25
 
26
+ Built on [`answerdotai/ModernBERT-base`](https://huggingface.co/answerdotai/ModernBERT-base) and [`lightonai/LateOn`](https://huggingface.co/lightonai/LateOn) (~149M params, 8192 context). Handles choice (K=2 to 150+), NOUL, and score decisions.
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
  ## ๐Ÿ“Š Benchmark Evaluations
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  ### Official Decision Index 0.2.1 (Full 100% Suite: 150,759 Requests)
31
 
32
+ - **Balanced Raw Index**: **32.03 / 100**
33
+ - **Balanced Skill Index (Chance-Corrected)**: **10.32 / 100**
34
+ - **Breadth Skill Index**: 9.01 / 100
35
+ - **Suite Coverage**: 100.0% (150,759 / 150,759 requests, 1 error)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
37
+ #### Area Breakdown (Official 0.2.1 Weights)
38
 
39
+ - **Retrieval & Intent Classification**: 43.02% (Skill: 23.09%)
40
+ - **Arts & Human Taste**: 36.90% (Skill: 13.36%)
41
+ - **Language Understanding**: 35.07% (Skill: 5.22%)
42
+ - **Tools & Automation**: 24.92% (Skill: 13.50%)
43
+ - **Knowledge & Reasoning**: 23.63% (Skill: 2.12%)
44
 
45
+ ## ๐Ÿš€ Usage
46
 
47
+ ```python
48
+ from modernjev.multivector.lateon import LateOnDecisionScorer
49
+
50
+ scorer = LateOnDecisionScorer(model_name_or_path="tasksource/tasksource-jev-nano-v0")
51
+ out = scorer.decide_uncached(
52
+ states=["Customer reports unauthorized international wire transfer of $4,500."],
53
+ questions=["Select the appropriate fraud mitigation routing:"],
54
+ options=[["approve and monitor silently", "challenge with a push notification",
55
+ "freeze the account and call the customer", "decline and file a report"]],
56
+ kinds=["choice"],
57
+ )
58
+ print(out.probabilities)
59
  ```
60
 
61
+ Or raw PyLate:
62
 
63
  ```python
64
  from pylate import models
65
+ model = models.ColBERT(model_name_or_path="tasksource/tasksource-jev-nano-v0")
66
+ ctx = model.encode(["<state>\nQuestion: <question>"], is_query=False, convert_to_tensor=True)[0]
67
+ opts = model.encode(["<option 1>", "<option 2>"], is_query=True, convert_to_tensor=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
  ```
69
 
 
 
70
  ## ๐Ÿ“œ Citation
71
 
72
  ```bibtex
73
+ @misc{sileo2026jevnano,
74
+ title={Tasksource-JEV-Nano: Decoupled Multi-Vector Late Interaction for Typed Decisions},
75
  author={Sileo, Damien},
76
  year={2026},
77
  howpublished={\url{https://huggingface.co/tasksource/tasksource-jev-nano-v0}},