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

相关

  • Dispatch
  • 项目
  • 项目
  • Dispatch