Transformers.js v4 预览版登陆 NPM,WebGPU 加速开启浏览器本地大模型时代

39 阅读4分钟开源
Transformers.js v4 预览版登陆 NPM,WebGPU 加速开启浏览器本地大模型时代

重大发布

Hugging Face 正式将 Transformers.js v4(预览版) 推至 NPM,用户只需执行 npm i @huggingface/transformers@next 即可获取。该版本在过去一年持续迭代,首次实现 WebGPU 完全加速,支持在浏览器、Node、Bun、Deno 等多种 JavaScript 环境离线运行数十种最新模型。

性能与运行时升级

  • 全新 WebGPU Runtime,核心用 C++ 重写,结合 ONNX Runtime Contrib Operators,实现约 4 倍 的 BERT 嵌入速度提升。
  • 支持 com.microsoft.GroupQueryAttentionMatMulNBitsQMoE 等算子,显著提升大模型推理效率。
  • 通过缓存 WASM 文件,实现 离线运行,首次在浏览器中完整离线加载模型。

代码库重构与模块化

  • 将单仓库转为 pnpm workspaces,拆分出多个子包,核心库体积更小,依赖管理更清晰。
  • models.js 从 8000 行拆分为若干专属模块,模型逻辑与工具函数分层,后期新增模型成本大幅降低。
  • 引入 Prettier 统一代码风格,所有 PR 自动遵循同一格式,维护成本下降。

新模型与架构

v4 通过扩展 ONNX 自定义算子,新增以下前沿模型:

  • GPT-OSSGraniteMoeHybridLFM2‑MoEFalconH1
  • 支持 Mamba(状态空间模型)和 Multi‑head Latent Attention(MLA)等前沿架构
  • 所有模型均兼容 WebGPU,可在浏览器端实现硬件加速推理。

构建系统与体积优化

  • 构建工具从 Webpack 替换为 esbuild,构建时间从 2 秒降至 200 ms,提升约 10 倍
  • 产出包体积整体下降约 10%,其中 transformers.web.js 减少 53%,下载与启动更快。

独立 Tokenizers.js 库

为满足轻量化需求,Hugging Face 将分词逻辑抽离至 @huggingface/tokenizers,体积仅 8.8 KB(gzip),零依赖且完整 TypeScript 类型支持。示例代码:

import { Tokenizer } from "@huggingface/tokenizers";
const modelId = "HuggingFaceTB/SmolLM3-3B";
const tokenizerJson = await fetch(`https://huggingface.co/${modelId}/resolve/main/tokenizer.json`).then(r=>r.json());
const tokenizer = new Tokenizer(tokenizerJson);
const tokens = tokenizer.tokenize("Hello World");

行业影响与展望

Transformers.js v4 的发布降低了前端开发者使用大模型的门槛,WebGPU 的跨平台加速让浏览器本地推理成为可能,进一步推动生成式 AI 向 边缘计算隐私保护 场景渗透。随着社区贡献的加速,预计未来会出现更多基于 JavaScript 的 AI 产品,如实时对话助手、文生图/文生视频前端应用等。

“开源工具的迭代速度直接决定了创新生态的活力。”——Hugging Face 团队

本文是对第三方新闻源的主观解读。消息可能出现过时、不准确、歧义或错误的地方,仅供参考使用。点击此处查看消息源。