浏览器本地LLM实验:直接读取概率比生成JSON快

一项完全在浏览器内运行的本地实验显示,大语言模型在处理选择题时,直接读取选项概率分布无需完整文本解码。该实验支持MiniCPM5等模型在用户GPU上运行,对比了直接读取logits与逐token生成JSON两种路径的耗时差异,且数据不离开页面。

一项完全在浏览器内运行的本地实验:大语言模型在面临选择题时,可以直接读取所允许选项的概率分布,而无需经历完整的文本解码过程。该实验允许用户选择模型尺寸,在自己的 GPU 上运行,并实测两种路径的差异。整个流程不依赖任何后端服务,输入不会离开页面,模型文件缓存在浏览器中;首次加载所需时间取决于所选模型、网络状况与 GPU 性能,可能需要数分钟。

加载模型

默认选用 MiniCPM5 2B;若在手机或配置较低的设备上运行,可在模型选择框中切换至 Qwen3 0.6B。需要注意的是,更大的模型加载速度较慢,部分低端设备可能无法承载。

直接读取概率无需解码,实测耗时更短

下表为原生检查点(native checkpoints)在自测与公开基准上的实测模型质量,所有列均为平衡准确率(balanced accuracy)。其中「TypeSafe」列为同一 102 行公开子集上的等级协议,取公布值。浏览器端量化可能会改变模型的实际准确率。

模型下载体积作者列(平衡准确率)另一基准列TypeSafe
Qwen3 0.6B639 MB44.0%52.8%40.7%
MiniCPM5 2B1.56 GB68.6%69.3%63.7%
3.5 4B3.01 GB81.3%76.6%84.5%
托管模型(hosted)hosted88.3%

加载流程分为三个阶段:下载与缓存仅在用户点击加载时启动;随后进行模型加载,即下载并准备模型;最后执行 warmup,为两种推理方法分别完成编译 pass。

给定一个真实决策

实验向模型提供状态(state)、问题(question)与一组选项(options),由同一个本地模型——MiniCPM5 2B——给出决策。两条路径产生相同的决策结果,但机制不同:一条直接读取选项 logits,即各选项 A…T 的概率;另一条则要求模型将选项概率写成 JSON 文本,逐 token 生成。

用户可直接输入自己的决策场景进行测试,也可尝试页面提供的示例。

路径 A:直接读取概率

该路径不做任何解码(no decoding),直接读取模型的选择 logits,并仅对用户提供的选项进行归一化处理。运行后页面会显示总耗时、输入耗时与输出读取结果。

路径 B:生成 JSON 概率

该路径逐 token(token by token)运行,要求模型估计同一组选项的分布,并将其写成 JSON。用户可以观察每个 token 的到达过程,并对比首 token 延迟、总耗时、输入与输出耗时。

实测时间比

两种方法在同一个已加载模型上顺序运行,不会争抢 GPU 资源:先执行直接读取,再执行生成路径。页面最终给出两种方法的实测 wall-time 比率,具体数值取决于用户自身的 GPU 性能。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读