Skip to content

Jev directory

Jevbetter

A from-scratch one-pass option scorer that maps a context and a changing list of text options to one probability per option, adding a hashed n-gram encoder, rival-aware attention, a gated head, and temperature scaling; JSONL data is drop-in compatible with jevlike.
Stars
15
Language
Python
License
MIT
Reading time
3 min
Published by
Community
Author
olanotolu
Last verified
Sep 2026

olanotolu/jevbetter

User repository on GitHub

View on GitHub

A stronger one-pass scorer over a variable list of text options. Hashed n-gram encoder, rival-aware attention, gated head, temperature scaling — with a head-to-head benchmark vs the jevlike starter design.

Forks
3
Last pushed
Updated Sep 2026

Repo stats from the GitHub API, cached Oct 2026.

About this project

Train a small model that chooses among a changing list of text options, done better. jevbetter is a one-pass option scorer (type: text in, one probability per option out, single forward pass, no token-by-token decoding), built from scratch with a stronger encoder, a rival-aware scoring head, and a sharper training loop. Same JSONL data format as the open-source jevlike scorer, so any jevlike dataset trains here unchanged, and the benchmark below compares the two head-to-head on identical data.

Quoted from the project's README. Read the full README.

Highlights

  • On 800 held-out hard menus it scores 0.916 top-1 versus jevlike's 0.873, with ECE 0.0182 versus 0.0367, under matched budgets.
  • Options attend to each other before scoring so near-miss rivals sharpen the call, and a temperature-scaled softmax yields the probabilities.
  • The shuffled-context control scores 0.335 top-1, confirming the model genuinely reads the context rather than the menu alone.
  • Throughput is 40 menus/sec versus jevlike's 4,608 because of the transformer context encoder; --context-features tunes the tradeoff.
  • A frozen pretrained encoder can replace the n-grams (--encoder hf --hf-model Qwen/Qwen2.5-0.5B) under the same scoring head.

Quickstart

bash
python -m venv .venv && source .venv/bin/activate
pip install -e '.[dev]'
jevbetter-data --output data/synthetic
jevbetter-train data/synthetic/train.jsonl \
  --validation data/synthetic/validation.jsonl \
  --output runs/model.pt
jevbetter-eval runs/model.pt data/synthetic/test.jsonl

Watch out

MIT-licensed (downloaded pretrained models keep their own terms); it is independent and not affiliated with TypeSafe, and one-pass scoring needs the complete option list before prediction.

Questions about this entry

Short answers drawn from the linked project or page.

Reactions & coverage

Posts, threads, and videos about this entry from around the web.

X: Standard One SH (StandardThinking)

LinkedIn: What multimodal decision models actually change, and what they do not.

LinkedInJevDirectory.org

Hacker News: Pointer to a DiffusionGemma plus vLLM tutorial for a Jev-shaped classifier.

1 pointHow to build a Jev-style classifier with DiffusionGemma and vLLMRead the thread on Hacker News

From the Jev guides

Original write-ups on what this entry is for.

From the Jev AI model community

Posts from builders shipping with Jev right now.

Follow @typesafeai