如何通过 WebGPU 在浏览器中运行 Gemma 4(无需服务器)

2026/04/06
|Updated: 2026/04/07

如何通过 WebGPU 在浏览器中运行 Gemma 4

想象一下:不用安装任何软件,不用注册账号,不用花钱调 API,打开浏览器就能跟一个强大的 AI 模型对话——而且所有数据都不会离开你的电脑。

这就是 Gemma 4 + WebGPU 能做到的事情。本文将带你从零了解如何在浏览器中运行 Gemma 4,包括原理、操作步骤和实际性能表现。

WebGPU 是什么?

WebGPU 是新一代的 Web 图形与计算 API,可以理解为 WebGL 的继任者,但它从设计之初就考虑了现代 GPU 的通用计算能力——包括 AI 推理。

相比 WebGL,WebGPU 的核心优势在于:

  • 直接访问 GPU 计算能力 —— 不仅能渲染画面,还能执行通用计算任务
  • 更低的调用开销 —— 性能接近原生的 Vulkan/Metal/D3D12
  • 支持 Shader Storage Buffer —— 这是加载和处理大规模 AI 模型权重的关键

简单来说,WebGPU 让你的浏览器变成了一台 AI 推理引擎。

浏览器要求

目前并非所有浏览器都完整支持 WebGPU:

浏览器WebGPU 支持状态推荐?
Chrome 113+完整支持推荐(性能最佳)
Edge 113+完整支持推荐
Firefox需手动开启 flag暂不稳定
Safari 18+部分支持实验性

建议使用 Google Chrome(113 版本或更高)。Chrome 的 WebGPU 实现最成熟,与 transformers.js 的兼容性也最好。

检查你的浏览器是否支持 WebGPU

打开浏览器开发者工具(F12 或 Cmd+Shift+J),运行以下代码:

if (navigator.gpu) {
  const adapter = await navigator.gpu.requestAdapter();
  console.log("WebGPU 已支持!", adapter);
} else {
  console.log("当前浏览器不支持 WebGPU");
}

如果看到 adapter 对象输出,说明你的浏览器已经就绪。

立即体验:Hugging Face 在线 Demo

想最快体验浏览器里的 Gemma 4?直接打开这个链接:

Gemma 4 WebGPU 在线演示

点击链接,等待模型加载完成,就可以开始对话了。无需注册,无需 API 密钥,无需任何后端。

打开 Demo 后发生了什么?

  1. 浏览器开始下载模型权重(首次加载需要较长时间)
  2. 模型被缓存到浏览器的本地存储中
  3. 所有推理计算都在你的 GPU 上完成——数据不会离开你的设备
  4. 之后再次访问时,模型从缓存加载,速度快很多

技术原理:Transformers.js

这个 Demo 底层使用的是 transformers.js,这是 Hugging Face 推出的 JavaScript 版 Transformers 库,把整个 AI 推理流程搬到了浏览器里。

整体架构如下:

用户输入 → 分词器 (WASM) → 模型推理 (WebGPU) → 解码器 → 输出回复

Transformers.js 负责的工作包括:

  • 模型加载 —— 下载 ONNX 格式的优化模型并缓存到 IndexedDB
  • 分词处理 —— 使用 WASM 编译的分词器将文本转换为 token
  • GPU 推理 —— 通过 WebGPU 计算着色器在 GPU 上执行前向传播
  • 流式输出 —— 逐 token 生成,实现实时对话效果

如果你想自己构建一个基于 WebGPU 的 Gemma 4 应用,下面是一个最简示例:

import { pipeline } from "@huggingface/transformers";

// 加载模型(首次运行会下载,之后从缓存读取)
const generator = await pipeline(
  "text-generation",
  "onnx-community/gemma-4-e2b-it-ONNX",
  { device: "webgpu" }
);

// 生成回复
const output = await generator("用简单的语言解释量子计算:", {
  max_new_tokens: 256,
  temperature: 0.7,
});

console.log(output[0].generated_text);

实际性能表现

在浏览器里跑 AI 模型,性能到底怎么样?我们来看真实数据。

首次加载

首次使用时,需要下载模型权重,大小从 300 MB 到 2 GB 不等,取决于量化精度。这是一次性的开销——下载完成后会缓存到浏览器的 IndexedDB,再次访问时加载速度会快很多。

量化精度下载大小质量
INT4~300 MB适合日常对话
INT8~600 MB精度更好
FP16~2 GB最佳质量

推理速度

模型加载完成后,Gemma 4 通过 WebGPU 可以达到相当不错的推理速度:

  • 提示词处理(prefill): 40–80 tokens/秒
  • 文本生成(decode): 40–180 tokens/秒,取决于你的 GPU

作为参考,这大约相当于正常阅读速度,完全可以实现流畅的实时对话。独立显卡(如 NVIDIA RTX 3060 或 Apple M1 Pro)能达到较高水平,集成显卡则偏向下限。

提升性能的小技巧

  1. 关闭其他占用 GPU 的标签页 —— 视频流、3D 应用和其他 WebGPU 页面会争抢 GPU 显存
  2. 使用 Chrome —— WebGPU 后端优化最好
  3. 优先选择 INT4 量化 —— 速度和质量的最佳平衡点
  4. 保持 GPU 驱动更新 —— 新驱动往往带来 WebGPU 性能提升

你需要了解的限制

在浏览器里跑 AI 确实很酷,但也有一些现实的限制。

模型大小限制

目前 WebGPU 只能运行 E2B(Efficient 2 Billion,高效 20 亿参数) 版本的 Gemma 4。更大的 12B 和 27B 模型需要的显存超出了浏览器的能力范围。如果你需要更大的模型,建议使用 Ollama 等本地推理工具。

设备兼容性

  • 桌面端浏览器: 90% 以上兼容(Windows、macOS、Linux 上的 Chrome)
  • 移动端浏览器: 70–75% 兼容(Android Chrome 支持较好;iOS Safari 支持有限)
  • 老旧硬件: 需要支持 WebGPU 的 GPU,一般 2018 年之后的显卡都可以

内存限制

浏览器的内存限制比原生应用更严格。如果你的设备内存小于 8 GB,可能会遇到:

  • 模型加载速度变慢
  • 较大量化精度下出现内存不足错误
  • 可用的上下文窗口长度缩短

暂不支持多模态

目前 WebGPU 版本的 Demo 只支持纯文本对话。Gemma 4 的图像理解能力还无法在浏览器版本中使用,但随着 transformers.js 的持续发展,这一限制有望在未来解除。

什么场景适合用浏览器版 Gemma 4?

浏览器版 Gemma 4 非常适合以下场景:

  • 快速实验 —— 不用任何配置就能测试 prompt
  • 隐私敏感任务 —— 所有数据都留在本地设备
  • 演示和展示 —— 分享一个 URL 就能展示 AI 能力
  • 学习和教育 —— 学生无需任何基础设施就能探索 AI
  • 离线使用 —— 模型缓存后无需联网即可使用

如果你需要处理生产级工作负载、大量文档或需要多模态功能,建议改用 Ollama 或 LM Studio 在本地运行完整版 Gemma 4。

总结

WebGPU 让我们在浏览器里运行一个实用的 AI 模型成为现实。Gemma 4 的 E2B 版本在大多数现代设备上都能提供流畅的实时对话体验,而且随着浏览器技术和硬件的持续进步,这种体验只会越来越好。

想试试看? 打开 Gemma 4 WebGPU 在线演示,开始对话吧——不用下载,不用注册,不用服务器。只有你和 Gemma 4,在你自己的设备上运行。

Gemma 4 AI

Gemma 4 AI

相关教程