OpenJev 推出纯浏览器本地决策实验,对比直读概率与逐 token 生成 JSON

Hacker News 热门(buzzing.cc 中文翻译)·2026-09-18 19:15·3小时前·ilreb
AI 导读

OpenJev 是一个纯浏览器、无后端的本地实验站点,用户可在自己的 GPU 上加载模型,对比两种决策方式:直接读取选项 logits 并归一化,或让模型逐 token 写出 JSON 概率分布,并用 performance.now() 实测各阶段耗时。

Hacker News 热门(buzzing.cc 中文翻译)
58AI 编辑部评分,满分 100

OpenJev 推出纯浏览器本地决策实验,对比直读概率与逐 token 生成 JSON

2026-09-18 19:15· 3小时前· ilreb
AI 导读

OpenJev 是一个纯浏览器、无后端的本地实验站点,用户可在自己的 GPU 上加载模型,对比两种决策方式:直接读取选项 logits 并归一化,或让模型逐 token 写出 JSON 概率分布,并用 performance.now() 实测各阶段耗时。

A live, local experiment

Decision model in your browser.

A local model can either read probabilities for your allowed options without decoding them, or write the same kind of distribution token by token. Pick a size, run both on your own GPU, and measure the difference.

browser only

no backend

your timings

1.56 GB model

There is no waitlist! Just try it out ↓

MiniCPM5 2B is selected by default. On a phone or smaller device, switch to Qwen3 0.6B in the model box if needed.

00 / setup

Load the model once

Larger model. Loading may be slower or may not fit on some low-end devices.

Model performance

higher is better

ModelDownloadAuthoredPerturbedTypeSafe
Qwen3 0.6B639 MB44.0%52.8%40.7%
MiniCPM5 2B1.56 GB68.6%69.3%63.7%
Qwen3.5 4B3.01 GB81.3%76.6%84.5%
Published Jevhosted88.3%

Native BF16 · TypeSafe: same 102-row subset · Jev: published result · browser builds are quantized

download / cache

starts only when you click load

model load

download and prepare

warmup

compile passes for both methods

Weights come from Hugging Face and remain in your browser cache. Inputs never leave this page. First load can take several minutes depending on the selected model, network and GPU.

01 / decision

Give it a real choice

Try an example

Both paths receive the same decision. One reads option probabilities directly; the other asks the model to write its option probabilities as JSON text.

your decision

state + question + options

same local model

MiniCPM5 · 2B

read logits

A…T probabilities

write tokens

{

options

+

probabilities

}

02A / direct readout

Choice probabilities

no decoding

Read the model’s choice logits and normalize only across the options you supplied.

waiting for a run

total
input
output
1 readout

02B / generation

JSON probabilities

token by token

Ask the model to estimate the same displayed-option distribution and write it as JSON. Watch every token arrive.

waiting for a run
first token
total
input
output

measured wall-time ratio

run it on your GPU

The methods run sequentially on the same loaded model so they do not contend for one GPU. Direct runs first, then generation.

What these numbers do—and do not—mean

Conditional probabilities. Direct scores are a softmax over only the displayed option tokens. They are not calibrated confidence and do not include every answer the model might prefer.

Local model tiers. The phone model trades accuracy for size. MiniCPM is the desktop default. The 4B option needs substantially more memory. None is claimed to match Jev.

Real local timing. Setup, warmup, prompt preparation, direct execution, first generated token and generation completion are timed with performance.now(). No canned results appear.

Quantized weights. The demo uses pinned GGUF builds through wllama. Quantization can change both quality and speed.

来源:Hacker News 热门(buzzing.cc 中文翻译)· openjev.com