Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Jeff – Jev-compatible 0.8B decision models, trained at home, ~30 ms (github.com/firelex)
    59comments
  2. Pirating the Pirates (mubi.com)
    201comments
  3. 12,000-year-old Göbeklitepe burials explain scattered bones (archaeologymag.com)
    12comments
  4. MicroLLM Lab – Try 7 tiny LLM's in the browser (stateofutopia.com)
    48comments
  5. Scientists solve 1840s space weather mystery (arstechnica.com)
    24comments
  6. World Labs Is Joining AMD (worldlabs.ai)
    50comments
  7. Hijacking the PS5's RTMP stream (yashgarg.dev)
    57comments
  8. Flock Wants the Most Detailed Map of Its Surveillance Cameras Taken Offline (theintercept.com)
    56comments
  9. Kids turned low-traffic NPR Spotify comments into a secret group chat (thisamericanlife.org)
    153comments
  10. Parley: Federated, decentralised chat that speaks plain IRC (mills.io)
    162comments
  11. It's Time to Investigate the AI Labs (calnewport.com)
    68comments
  12. Joseph Szabo’s pictures of American adolescents (newyorker.com)
    35comments
  13. What reversing, modernising old games tells us about the economic impact of AI (isfine.org)
    8comments
  14. Sonnet 5.5 (anthropic.com)
    355comments
  15. Show HN: HN.watch – Videos of all Hacker News posts (hn.watch)
    73comments
  16. Nvidia wants to put a watchdog chip next to every AI agent (cnbc.com)
    131comments
  17. 3D necroprinting: Leveraging biotic material as the nozzle for 3D printing (science.org)
    3comments
  18. Cf: The Agentic CLI for the Cloudflare API (cloudflare.com)
    44comments
  19. Does Reddit have an astroturfing problem? What the data suggests (petervijeh.com)
    108comments
  20. What is the best shape of a city? Modelling effect of urban form on distance (sagepub.com)
    —discuss
  21. ESP32S3 cluster running 1.58-bit (BitNet) Language model (github.com/low-zi-hong)
    —discuss
  22. First Steps of the PLC Organization – Independent Public Ledger of Credentials (plcred.org)
    19comments
  23. Show HN: Destroy Any Website with Stickman (spritefusion.com)
    27comments
  24. Updated Google Maps shows destruction of the city of Rafah (twitter.com/aliabunimah)
    50comments
  25. Launch HN: Vespper (YC F24) – SOTA Docx MCP (vespper.com)
    8comments
  26. Who wrote Elizabeth I's most scathing letters? (smithsonianmag.com)
    20comments
  27. What heraldry and Japanese mon can teach about visual-identity generators (benovermyer.com)
    21comments
  28. MongoDB CEO resigns to join Meta (reuters.com)
    257comments
  29. Best of British Design (best-of-british-design.vercel.app)
    29comments
  30. When did Google get so weird? (sancho.bearblog.dev)
    1023comments

Jeff – Jev-compatible 0.8B decision models, trained at home, ~30 ms

188 pointsby 3h agogithub.com
54 comments
3h agoHN ↗

Hi HN. Jeff is a set of small, open-weight Qwen3.5 and Gemma fine-tunes for zero-shot classification, with respectable out-of-the-box performance, meant to be slotted right into code (or fine-tuned further as needed). You give them a situation and a list of options; they return a calibrated probability for each, in one forward pass, with no text generation. The 2B scores 83.1% on a five-benchmark panel (Jev's published figure: 83.0%); the 0.8B decides in about 28 ms on an M4 Max. Apache 2.0, with a Jev-compatible API (I'm not affiliated with TypeSafe).

When TypeSafe released Jev a couple of weeks ago and then AutoJev appeared, I wanted to see if I could replicate the experiment using only small language models on local hardware. So everything ran at home: one RTX PRO 6000 for training, two DGX Sparks running Qwen3.8-Flash-Next to write the synthetic data, a MacBook for testing, all monitored from my phone over Tailscale.

The caveat: the published Jev and AutoJev numbers are on a different sample of the same benchmarks, and Jeff's overall score comes from classification-style tasks (96% on Financial PhraseBank, 86-89% on RAGTruth, both above Jev). On multi-step reasoning it's behind: BBH 64-68% against Jev's 94%, and about 50% on JevBench's hard tier against 73%. That isn't surprising, and I don't think it matters: no 0.8B or 2B model reasons like a large one, and nobody should expect it to. These are extremely fast judgement-callers. In one of my apps I use the 0.8B for voice navigation; a quick fine-tune (about half an hour on one GPU) took it from 32% to 96% on held-out commands, at about 40 ms per decision.

The fun part: games, as a zero-shot test. Games aren't the ideal zero-shot test, but they're fun, and TypeSafe did it with Jev too. There was no game data in training. Each turn the code describes the situation and the moves in words, and the model picks one; the options say what each move leads to, never which one is right. Over 20 episodes each:

- Doom (ViZDoom): Jeff 0.8B 6.55 kills per episode, the same as a hand-coded bot and as Jev's published run. Jev's prompt spells out the aiming rule and takes about 212 ms per call over its API; Jeff gets "the nearest monster is a little to your left" and decides in about 29 ms on my Mac.

- Frogger: 10.3 crossings, level with the hand-coded bot (10.25), and 10x the untrained base model (1.0).

- Pac-Man: 57 of 98 pellets, about 60% of the bot's score and 2x the untrained model.

Videos of every run are linked in the README.

Lessons learned:

- System 1 models are here to stay. Being able to process unstructured data at software speed inside an app is extremely powerful, and being able to do it locally is fantastic.

- A small model is a classifier, not a planner. Models of 0.8B-2B don't reason like Qwen3.8-27B or Jev, and they don't need to: present the options the right way and you get 40+ decisions per second, depending on your hardware.

- Fine-tune it if needed. If zero-shot isn't good enough for your task, a short fine-tune on your own examples is.

- Wording matters enormously. Giving Frogger's final step the same words as every other forward option ("safe, and one row closer to the goal") took one episode from 15 crossings to 23. Before that, the frog just stayed on the last log.

- Bigger isn't better. The untrained 2B is already more risk-averse than the untrained 0.8B (in Doom it prefers turning away from the nearest monster), and training made it hesitate in Pac-Man. That's probably why the 0.8B beat the 2B.

- Benchmarks don't predict play. Untrained Gemma 4 E2B beats both untrained Qwens on the benchmarks (62.5%) and plays every game worst: right most of the time, but not reliably, and in a real-time loop the mistakes compound.

2h agoHN ↗

Funny that the 2B loses to the 0.8B. Question about the benchmarks: BBH and JudgeBench are more reasoning, where you fall behind, but for zero-shot classification there are more relevant ones like Banking77 or CLINC150. Was there no temptation to pick something closer to where System 1 models are actually used?

1h agoHN ↗

Was going to make the same observation. Cool to run locally - but renting seems the saner choice?

Would love to see what this run would cost from something like Verda. Just out of curiosity. I'm not going to be installing any sparks at home anytime soon.

2h agoHN ↗

This type of project looks extremely useful. There was a lot of buzz around Jev, but having models that run locally and can be fine-tuned is extremely helpful.

2h agoHN ↗

I compared it to Jev in my current use cases and it's very inaccurate. 70% vs 94% . for classification, it's unacceptable.

1h agoHN ↗

For _your_ classification it's unacceptable. The OP seems to have anticipated this and mentions you can fine tune it for your use case. Did you try that?

I don't think the point is to displace Jev, but to show it's possible to build an MVP on open weights without years of work and millions of dollars.

Why (presumably) an engineer would dismiss exploring a lightweight, custom alternative to locking into a fashionable PaaS, I'll never know.

1h agoHN ↗

Needing fine-tuning for the use-case completely changes the product category

1h agoHN ↗

Not sure the task at hand here. But if it doesn’t require any reasoning/thinking and it’s just a classification task, it’s worth a shot to look into training your own classifier

I’ve run some benchmarks. Using embeddings + logistic classifier, the architecture matches or beats Jev and Laya in all basic classification tasks (datasets tested: AG News, Emotion, MASSIVE Intent, Banking77) The type of task in which it does really well, especially against Laya, is classification with >50 classes

The classifiers also run in <1ms, so they can be very fast and precise at the same time

But this architecture has no “reasoning”, so it performs rather poorly on tasks that require it, like the ones from the XLNI dataset (Jev/Laya do a lot better on this one)

For the latter cases, you could use add a local lightweight LLM, something like a Gemma model. Or even some basic MLP, depending on the tasks/data

41m agoHN ↗

"Using embeddings + logistic classifier, the architecture matches or beats Jev and Laya in all basic classification"

Have I understood correctly that you trained only the logistic classifier, but didn't need to train the embedding model?

If so, I'm curious whether you compared that approach (A) with:

B) Jev only, with a single output.

C) Jev with multiple outputs fed into a logistic classifier.

Obviously C has cons (can't be self-hosted, needs some up-front work on deciding the shape of the output) but it might be somewhat more interpretable. (And I suppose it might have better performance?)

5m agoHN ↗

You are correct, I didn’t train the embeddings model

Here's a gist with code you can use to test the Banking77 dataset: https://gist.github.com/nicobrenner/056a5aaff5d0119c0032ecda...

The gist uses BAAI/bge-large-en-v1.5, which is 1.2GB approx. You can replace it for all-MiniLM-L6-v2 (91 MB @ fp32 or 45 MB quantized fp16) small enough for mobile/edge. With all-MiniLM-L6-v2 it still gets 93.0% on Banking77, only 1.3 points behind bge-large at 15x smaller

I haven’t compared different ways of sending requests to Jev

The data to train the classifiers comes from the datasets used to test them (not from Jev)

58m agoHN ↗

The OP seems to have anticipated this and mentions you can fine tune it for your use case. Did you try that?

You can already so that with classification models such as ModernBERT, at 0.4B.

Jev's value is its zero shot performance without having to fine-tune.

33m agoHN ↗

My use case is simple classification for job ads. Things like, industry, work settings (remote, hybrid, onsite) and job type (full time, part time .. etc).

I did side by side comparison with Gemini 2.5 Flash Lite, Jev, Jeff

I tried the 0.8B model, completely useless in classification. Qwen Jeff-Qwen3.5-2B was better, but still missed job type.

I suppose with larger model, this could be useful, but would require more ram and will be slower.

1h agoHN ↗

Oh wow, those Doom scores for Jeff are pretty terrible

The Von numbers have led me on a rabbit whole of getting a classifier to play Doom

I got it to average 22 kills (the max is 26) on that same scenario that Jeff and Von are testing on (it’s called Defend Center)

Now I’m having it play a more advanced scenario, and it’s doing about 45 kills (SOTA is ~59 kills)

It’s amazing what you can do with small classifiers if you can collect some data. These models I’m testing train on CPU in seconds (what takes the longest is running the game, doing test runs and collecting data), they are <1MB in size and do inference in <1ms on CPU

Edit: after looking at Jeff's numbers more in detail, the 6.5 kills number is not that bad, but it can definitely be better ;)

1h agoHN ↗

One day we’ll be using the same Kills/SOTA metric for models driving physical kill-bots.

1h agoHN ↗

Forgive my lack of understanding but how long before Jev type functionality is just built straight into all frontier models?

1h agoHN ↗

No need, as that functionality can run locally no problem.

1h agoHN ↗

the appeal would be if they can deliver it at a much higher performance and similar speed, which is plausible

1h agoHN ↗

BeRT and FLAN-T5 were used as classifiers 5-7 years ago, they were technically "frontier" for their time.

1h agoHN ↗

This is the exact comment I’ve been waiting for, what is the difference between classifiers and jev?

1h agoHN ↗

nothing in utility. we used various bert variants to satisfy our usecases and still in uses. free and they run locally.

1h agoHN ↗

Jev is a classifier. The big thing about it is that it has high accuracy on domains it wasn't fine-tuned for, like an LLM, but with speed and cost comparable to traditional classifiers.

1h agoHN ↗

BERT need to be fine tuned for your use case, Jev generalizes. It’s a pretty big difference!

54m agoHN ↗

FLAN-T5 generated text (Jev does not generate text), and BERT wasn't able to do tasks without fine-tuning.

Jev is basically a kind of FLAN-BERT, if you want, where it has built-in multi-task ability, but doesn't generate text. It only generates 255 floats all at once, making it much faster, and what those floats mean (if anything) depends on the prompt.

Eg, the following query is put in the encoder model:

{"question": "Rank these 5 things by increasing order of how big they are", "choices": ["truck", "cow", "mouse", "ant", "building"] }

The model returns [3., 2., 1., 0., 4.], and 249 other meaningless floats that are hidden from you by the UI.

The UI stitches the first 5 floats with the choices and returns something like:

{"rank": ["ant", "mouse", "cow", "truck", "tower"]}

14m agoHN ↗

So it generates logits in a 255 token output space? ;)

1h agoHN ↗

If I had to guess, it's already built and is just waiting on Product's/Marketing's desk. How do you position this without looking like your roadmap is being determined by newcomers? Probably don't want to adopt the same verbiage+acronyms - but also can't be seen to be just sherlocking features.

1h agoHN ↗

I think Apple has demonstrated that shipping second has essentially no negative impact if your product is seen as higher quality.

1h agoHN ↗

I think Nvidia has demonstrated that shipping first is a multi-trillion dollar opportunity if you don't shy away from a challenge.

1h agoHN ↗

I think it depends on the model: Nvidia ship products with APIs, apple/jev/etc. ship end user products. The former is much more subject to lock-in, increasing the value of early market adoption because there's a 3P Nvidia ecosystem sprung up in response. Apple/jev/etc. do have APIs & corresponding 3P ecosystems but those are usually a smaller component of market capture than direct product end users, so the space ends up more competitive.

1h agoHN ↗

Chip manufacturing intrinsically comes with one hell of a moat. There's not much parallel in software.

57m agoHN ↗

That’s kind of funny because Nvidia’s biggest moat is arguably CUDA, the software ecosystem around their chips

39m agoHN ↗

CUDA is a lock-in moat, the infrastructure needed for chip manufacturing is a barrier-to-entry moat. Two different things.

17m agoHN ↗

There are many microarchitecture patents used in NVIDIA chips. I'm sure they have a team that rips apart AMD chips looking for infringement. The way CUDA works is tied to many GPU architecture decisions and it would be hard to decouple them efficiently. Obviously a huge effort was made to get PyTorch decoupled from CUDA.

21m agoHN ↗

Historically there was a big patent moat in (Graphics) GPU design. This continues with CUDA, but obviously Intel and AMD could find ways to support eg PyTorch. What we don't know is how much effort that cost them, or why they decided they couldn't make a CUDA API compatible competitor.

25m agoHN ↗

NVIDIA literally hired all of the 3DFX team and patents after they already proved the graphics accelleration hardware market was massive with the Voodoo card line

In fact NVIDIA wasn't even a close competitor to 3DFX in the graphics card game at that point

1h agoHN ↗

The confidence scores need to be good if we're gonna forego fast and cheap.

59m agoHN ↗

I don't think there would be any utility for that. Anything jev can do, a frontier model can also do. Just not as quickly or as cheaply.

46m agoHN ↗

I think these products (Jev and the inevitable offerings from Anthropic, OpenAI, etc) want to become more than end-user output machines. They'd benefit from being in the hotpath of other services. Not backgrounded generation but in-band, request-time work.

1M x $0.50 == 1B x $0.0005

29m agoHN ↗

To expand a bit for my current use cases. Inline routing of work to heavy task specific models, and prompt/context generation (user is asking something, what and how much should we prompt the expensive LLM with). Latency or time to first token does matter for some applications.

51m agoHN ↗

Probably at the frontier stage - you will only see it where Jev is better regardless of cost.

For everyone else who is conscious of cost, you're already seeing this being built into harnesses.

Almost certainly, you'll see versions of this from all the Chinese labs as fast as humanly possible.

If I had to guess, Cursor/Grok or Google/Antigravity will be the first major players to natively support something like this to drive down cost, as they're primarily the budget conscious choices.

I would be astounded if Anthropic leads the way on a cost reduction.

11m agoHN ↗

But for those of us that prefer open source and self hosting, JEV alternative LAYA will beat anything the frontier models package up.

1h agoHN ↗

Can we get a price comparisson ?

Edit: Running them for the masses.

52m agoHN ↗

I assume the cost is whatever you run the model on. Jev is already dirty cheap, $0.42 per million input tokens and output is free and the input cost is covering tokenization + API utilization

44m agoHN ↗

Well, I'm no expert, but this runs on Qwen3.5 and Gemma 4, stripped down, but they're pretty pricey.

1h agoHN ↗

Typesafe has been quite about the underlying technology behind Jev. Given the speed and cost my hypothesis is that it doesn’t input tokens the way that LLMs do, ie iterating over every word and drawing the connections between each. That is an o(n^2) problem which is why LLMs are so expensive as they scale.

1h agoHN ↗

Most likely: it does still have attention layers (the O(n^2) part), but it’s not autoregressive (which makes it O(n^3) because you have to run the whole model again for each predicted token)

1h agoHN ↗

Then again, it's only a very small number and fixed set of tokens for the output.

53m agoHN ↗

I feel like the most likely is that it largely works like how all the recent copycats work: take an existing llm, modify the decoder, do RL training. I think the main reason that jev works better is that they spent more time on that post training step.

1h agoHN ↗

What proportion of commercial LLM use is classification? I'm just wondering what happens to business AI spending/data centre usage when they realise they don't need full LLMs.

35m agoHN ↗

Anything like this in the VLM side? Classification on images...