OpenJev:基于浏览器的决策建模与 Logit 读取
OpenJev 是一个本地、基于浏览器的实现,旨在复现 TypeSafe 开发的封闭式决策模型 Jev 的界面模式。它允许用户比较从大语言模型(LLM)中提取决策的两种不同方法:直接 Logit 读取和逐 Token 生成 JSON。
直接 Logit 读取与 Token 生成
OpenJev 表明,通过读取模型的内部概率(logits)而不是强制模型生成文本,可以更高效地实现决策。
直接 Logit 读取(无解码)
在这种方法中,系统读取模型的选择 logits,并在特定的一组提供的选项之间进行归一化。这完全绕过了解码过程,无需模型“写出”答案,即可在允许的选项之间提供概率分布。
逐 Token 生成
这是传统的 LLM 方法,模型被提示估计分布并将结果作为 JSON 文本写出。由于需要模型按顺序生成 JSON 结构的每个 token,这一过程要慢得多。
支持的模型与性能
OpenJev 完全在浏览器中运行,使用 WebGPU 和通过 wllama 提供的量化 GGUF 构建。权重源自 Hugging Face 并在本地缓存;没有数据离开用户的浏览器。
| 模型 | 大小 | 作者准确率 | 扰动准确率 | TypeSafe 准确率 |
|---|---|---|---|---|
| Qwen3 0.6B | 639 MB | 44.0% | 52.8% | 40.7% |
| MiniCPM5 2B | 1.56 GB | 68.6% | 69.3% | 63.7% |
| Qwen3.5 4B | 3.01 GB | 81.3% | 76.6% | 84.5% |
| 已发布的 Jev | 托管 | — | — | 88.3% |
技术实现与局限性
推理引擎
OpenJev 利用 WebGPU 进行本地执行。然而,用户报告了与非 Chromium 浏览器(例如 Firefox)和某些移动设备(例如 iPad Pro)的兼容性问题,在这些设备上,由于缺乏 GPU 适配器,模型无法运行。
准确率与校准
直接读取的分数仅针对显示的选项 token 进行 softmax。这些是条件概率,不是校准过的置信度分数,也不考虑模型可能在提供的选项之外偏好的所有可能答案。
社区见解与反驳
开发者之间的讨论表明,虽然 OpenJev 复现了界面,但它并没有复现原始 Jev 服务所使用的专有训练或特定模型。
关于决策模型的“护城河”
一些开发者认为,Jev 的核心创新不在于 API,而在于特定的训练和模型本身。一位贡献者指出,其底层机制——将输出限制为特定的一组 token——是一种已知技术:
“LLM 的最后一步是对预测进行 softmax,然后从中生成一个 token。但有一些工具可以直接从语法中生成所有允许的下一个 token……将所有不允许的 token 置零,然后在允许的 token 中选择最佳的一个。”
替代实现
社区成员指出了实现类似结果的其他方法,例如一个将 DiffusionGemma 转变为类似 Jev 模型的 vLLM 补丁,据报道,与 OpenJev 中使用的小型开放权重模型相比,它更紧密地匹配了 Jev 的评估性能。
用户体验批评
用户批评了 OpenJev 演示网站的视觉设计,称其为“氛围编码”(vibecoded)或由 LLM 生成的,有些人认为这分散了对技术实验的注意力。其他人指出,该网站缺乏对非技术用户解释该技术目的性的清晰说明。
Sources
- HNOpenJev
相关
- Dispatch
- 项目
- 项目
- Dispatch