Views
No views yet

jhu-clsp/ettin-encoder-68m,
trained on the dleemiller/FineCat-NLI dataset—a compilation of several high-quality
NLI data sources with quality screening and reduction of easy samples in the training split.
The training also incorporates logit distillation from dleemiller/finecat-nli-l.| Model | finecat | mnli | mnli_mismatched | snli | anli_r1 | anli_r2 | anli_r3 | wanli | lingnli | Throughput (samples/s) | Peak GPU Mem (MB) |
|---|---|---|---|---|---|---|---|---|---|---|---|
dleemiller/finecat-nli-s | 0.7834 | 0.8725 | 0.8725 | 0.8973 | 0.6400 | 0.4660 | 0.4617 | 0.7284 | 0.8072 | 2291.87 | 415.65 |
tasksource/deberta-small-long-nli | 0.7492 | 0.8194 | 0.8206 | 0.8613 | 0.5670 | 0.4220 | 0.4475 | 0.7034 | 0.7605 | 2250.66 | 1351.08 |
cross-encoder/nli-deberta-v3-xsmall | 0.7269 | 0.8781 | 0.8777 | 0.9164 | 0.3620 | 0.3030 | 0.3183 | 0.6096 | 0.8122 | 2510.05 | 753.91 |
dleemiller/EttinX-nli-s | 0.7251 | 0.8765 | 0.8798 | 0.9128 | 0.3360 | 0.2790 | 0.3083 | 0.6234 | 0.8012 | 2348.21 | 415.65 |
cross-encoder/nli-MiniLM2-L6-H768 | 0.7119 | 0.8660 | 0.8683 | 0.9137 | 0.3090 | 0.2850 | 0.2867 | 0.5830 | 0.7905 | 2885.72 | 566.64 |
cross-encoder/nli-distilroberta-base | 0.6936 | 0.8365 | 0.8398 | 0.8996 | 0.2660 | 0.2810 | 0.2975 | 0.5516 | 0.7516 | 2838.17 | 566.64 |
entailment: 0neutral: 1contradiction: 2pip install -U sentence-transformers1from sentence_transformers import CrossEncoder
2import numpy as np
3
4model = CrossEncoder("dleemiller/finecat-nli-s")
5id2label = model.model.config.id2label # {0:'entailment', 1:'neutral', 2:'contradiction'}
6
7pairs = [
8 ("The glass fell off the counter and shattered on the tile.",
9 "The glass broke when it hit the floor."), # E
10 ("The store opens at 9 a.m. every day.",
11 "The store opens at 7 a.m. on weekdays."), # C
12 ("A researcher presented results at the conference.",
13 "The presentation won the best paper award."), # N
14 ("It started raining heavily, so the match was postponed.",
15 "The game was delayed due to weather."), # E
16 ("Every seat on the flight was taken.",
17 "There were several empty seats on the plane."), # C
18]
19
20logits = model.predict(pairs) # shape: (5, 3)
21
22for (prem, hyp), row in zip(pairs, logits):
23 pred_idx = int(np.argmax(row))
24 pred = id2label[pred_idx]
25 print(f"[{pred}] Premise: {prem} | Hypothesis: {hyp}")
26tasksource and MoritzLaurer for making their work available.
This model would not be possible without their efforts and open source contributions.1@misc{nli-compiled-2025,
2 title = {FineCat NLI Dataset},
3 author = {Lee Miller},
4 year = {2025},
5 howpublished = {Refined compilation of 6 major NLI datasets}
6}