在浏览器里跑大模型:WebLLM 端侧推理深度解析
写作日期:2026-09-03。文中所有时效性信息(版本号、模型清单、性能数字)均标注了官方核验入口,引用前请以官方仓库最新状态为准。 在浏览器里跑大模型:WebLLM 端侧推理深度解析 打开一个网页,等上十几秒,就能和一个完全运行在你电脑里的 80 亿参数模型对话——提示词不出设备、没有服务器账单、断网也能用。这不是演示动画,而是 WebLLM 这类项目已经做到的日常。 这篇文章从编译器一路拆到浏览器 API,讲清楚三件事:模型是怎么被"编译"进浏览器的、推理时 GPU 上到底发生了什么、以及它离"替代云 API"还有多远。 1. 为什么要把大模型塞进浏览器 大模型推理的主流形态是服务器端:你的输入上传到数据中心的 GPU,生成结果再传回来。它成熟、强大,但有四个结构性代价: 隐私:提示词与输出都经过第三方服务器,敏感数据(医疗、法律、代码)天然不适合; 成本:按 token 计费,长会话、批量任务会持续产生费用; 延迟:每一轮都要走网络往返,且受服务器负载影响; 可用性:离线场景(飞机、偏远地区、内网)完全不可用。 端侧推理(On-Device Inference)是这些问题的答案——把模型放在用户自己的设备上跑。而浏览器是覆盖面最大的"端":无需安装、天然跨平台、自动获得沙箱安全边界,用户只要打开一个 URL。过去浏览器推理是痴人说梦,因为缺一块拼图:GPU 通用计算能力。这块拼图在 2023 年补齐了,名字叫 WebGPU。 2. 为什么是现在:WebGPU 补齐的拼图 浏览器跑神经网络的尝试由来已久,技术路线经历了三个阶段: 纯 WASM 时代:把推理代码编译成 WebAssembly 在 CPU 上跑。可行,但只能吃 CPU,跑大模型慢得没有实用价值。 WebGL2 时代:WebGL 本质是图形 API,要拿它做通用计算,得把数据编码成纹理、把计算伪装成渲染,别扭且低效。 WebGPU 时代(2023 起):WebGPU 是现代图形 API(如 Vulkan/Metal/DX12)在浏览器里的投影,提供了真正的 compute shader(计算着色器) 和通用 buffer,让浏览器能直接、高效地驱动 GPU 做大规模并行数值计算——这正是 LLM 推理的核心形态。 对 LLM 推理而言,WebGPU 的三个特性缺一不可: Compute shader:矩阵乘法、注意力计算等核心算子可以直接写成 WGSL 计算内核,在 GPU 上大规模并行执行; 通用 buffer + 显式内存管理:权重可以驻留在 GPU 显存里反复读取,而不是每次从 CPU 拷贝; 低开销、贴近现代 GPU 抽象:相比 WebGL 的纹理解码绕路,性能损失小得多。 浏览器支持方面,Chrome/Edge 自 2023 年 5 月的 Chrome 113 起在桌面默认启用 WebGPU,是最稳妥的目标平台;Safari 自 18 起随系统提供 WebGPU;Firefox 也在 2025 年年中起逐步默认启用(先 Windows,后扩展到其他平台,具体版本以 Firefox 发布说明为准)。移动端与各浏览器实现细节差异较大,落地前务必用 webgpureport.org 或 caniuse 复核目标用户群的浏览器版本。 ...