nli:modernbert-largerejects 5 %
NLI zero-shot · Moritz Laurer · 396M · ONNX Runtime · Apache-2.0
- Score
- 17.1
- 95 % interval 14.9–19.1
- Rank
- 30
- of 35 scored models
- Public benchmark
- 42.3
- macro accuracy, %
- typed-decisions
- 51.5
- accuracy, %
By task
Chance-corrected accuracy on each of the 14 tasks: 0 is guessing, 100 is every answer right.
Workflows
typed-decisions
29.0
Classification
MASSIVE en
34.7
MASSIVE de
20.1
Civil Comments
76.0
Aegis 2
15.2
Understanding
MultiNLI
16.7
VitaminC
36.9
PAWS
8.8
Knowledge
BoolQ
38.7
SQuAD 2
-6.3
PubMedQA
0.4
Judging
HelpSteer 2
-1.4
SummEval rel.
-9.9
SummEval cons.
-19.8
Accuracy and calibration
| Benchmark | Accuracy | Choice | Noul | Score | ECE | Brier | Rejected |
|---|---|---|---|---|---|---|---|
| Public benchmark | 42.3(40.9–43.7) | 39.8 | 63.2 | 11.7 | 0.111 | 0.655 | 306 / 3,880 |
| typed-decisions | 51.5(48.9–54.3) | 46.0 | 62.0 | 47.9 | 0.148 | 0.646 | 0 / 400 requests |
Accuracy in %, with its 95 % bootstrap interval. A rejected request (the model can’t take the question, or the input is too long for it) counts as wrong.
Speed and memory
| Device | p50 | p90 | Load | VRAM | RAM peak | Precision |
|---|---|---|---|---|---|---|
| RTX 5090 CUDA | 16.8 ms | 17.2 ms | 6.02 s | 2.6 GB | 3.3 GB | F32 |
| Threadripper 3960X CPU | 2.10 s | 2.14 s | 6.02 s | – | 2.9 GB | F32 |
Five-question requests over HTTP, one at a time, each a different short message. VRAM: the rise of the GPU’s used memory while the model is loaded. RAM peak: the runner process’s peak resident memory.
Parity with the authors’ code
| Device | Same decision | Max logit diff. | Result | Record |
|---|---|---|---|---|
| Apple M4 Pro, macOS 27, MLX on Metal | 100 % | 7.0e-4 | pass | families/nli.md:191-199 |
| Apple M4 Pro, macOS 27, ONNX Runtime CPU | 100 % | 4.1e-4 | pass | families/nli.md:191-199 |
Reproduce
The tools are in convert/ollaya_convert and need only Python’s standard library. Run them against a local Ollaya 0.13.0 with the same model digest.
ollaya pull nli:modernbert-large
# typed-decisions; export the test split once with
# uv run python -m ollaya_convert.bench_typed export --out typed.jsonl
python -m ollaya_convert.bench_typed run --model nli:modernbert-large \
--url http://127.0.0.1:11435 --data typed.jsonl --out typed/nli-modernbert-large
# Bespoke Labs' public benchmark; build its 13 subsets first
NIMBLE_SRC=nimble python -m ollaya_convert.bench_public run --model nli:modernbert-large \
--url http://127.0.0.1:11435 --data public --out public/nli-modernbert-large
# speed and memory
python -m ollaya_convert.bench_latency --models nli:modernbert-large --memory \
--machine my-machine --device cuda --out latency.json