Transformers.js v4 预览版正式上线 NPM

作者
  • avatar
    姓名
    Nino
    职业
    Senior Tech Editor

客户端机器学习的格局刚刚发生了重大转变。随着 Transformers.js v4 预览版在 NPM 上发布,开发者终于可以利用 WebGPU 的强大功能,在浏览器中运行最先进的 Transformer 模型,其性能足以媲美原生应用。这一更新标志着从受 CPU 限制的 WebAssembly (WASM) 到高吞吐量现代图形硬件世界的转型。

虽然本地执行正在取得进展,但开发者经常发现,复杂的生产环境需要一种混合策略。对于超过本地硬件能力的高可用性和超低延迟需求,n1n.ai 提供了一个强大的 API 网关,连接到世界上最强大的 LLM,确保您的应用程序即使在用户设备负载过重时也能保持响应。

WebGPU 革命

v4 版本中最重要的变化是对 WebGPU 的原生支持。此前,Transformers.js 严重依赖 WASM (WebAssembly) 和 WebGL。虽然 WASM 对于通用计算非常高效,但它缺乏深度学习所需的并行处理能力。WebGPU 作为 WebGL 的继任者,提供了一个现代化的 GPU 加速 API,允许显著加快推理速度,减少内存开销,并更好地支持低精度算术(如 FP16 和 INT4)。

在我们的内部测试中,将 Transformers.js v4 中的后端从 WASM 切换到 WebGPU,对于大语言模型 (LLM) 和计算机视觉任务,速度提升了 10 到 50 倍。这使得在用户的机器上直接运行 Llama 3 或 Phi-3 等模型成为可能,而无需往返服务器的延迟。

性能基准测试:WASM vs. WebGPU

为了理解其影响,请考虑以下标准文本生成任务(使用约 1B 参数的模型)的性能对比:

后端首字延迟 (First Token)吞吐量 (Tokens/sec)内存占用
WASM (v3)1200ms5-8 t/s较高
WebGPU (v4)< 150ms40-60 t/s已优化

注意:性能因本地硬件(例如 M2 Max 与集成英特尔显卡)而异。对于需要在所有设备上保持一致性能的开发者,集成 n1n.ai 作为回退机制是一个推荐的最佳实践。这可以确保硬件较旧的用户仍能获得优质的 AI 体验。

开始使用 v4 预览版

您可以使用 @next 标签通过 NPM 安装预览版:

npm install @xenova/transformers@next

安装后,API 对于 v3 用户来说基本保持熟悉,但增加了指定硬件后端的新选项。以下是使用新 WebGPU 引擎进行情感分析的基本实现:

import { pipeline } from '@xenova/transformers'

// 使用 WebGPU 初始化流水线
const classifier = await pipeline(
  'sentiment-analysis',
  'Xenova/distilbert-base-uncased-finetuned-sst-2-english',
  {
    device: 'webgpu', // 明确请求 WebGPU
  }
)

const result = await classifier('我非常喜欢 Transformers.js v4 的性能!')
console.log(result)
// 输出: [{ label: 'POSITIVE', score: 0.9998 }]

新的模型架构与量化

Transformers.js v4 不仅仅关乎速度,更关乎规模。新版本增加了对更广泛架构的支持,包括:

  • Llama 3 & Phi-3: 针对边缘部署进行了优化。
  • MoE (混合专家模型): 初步支持稀疏架构。
  • Whisper (Large-v3): 通过 GPU 显著加快音频转录速度。

此外,v4 引入了与 ONNX Runtime (ORT) 更好的量化集成。通过使用 quantized: true,库可以自动下载模型的 4-bit 或 8-bit 版本,将下载大小从 GB 级减少到几百 MB。这对于初始加载时间是关键指标的 Web 应用程序至关重要。

混合 AI:本地 vs. 云端

作为一名开发者,选择并不总是“本地 vs. 云端”。它通常是“本地 AND 云端”。Transformers.js v4 非常适合:

  1. 隐私优先功能: 在本地处理敏感的用户数据。
  2. 离线功能: 确保基本的 AI 功能在没有互联网连接的情况下也能工作。
  3. 降低成本: 将简单任务分流到用户设备,以节省 API 成本。

然而,对于复杂的推理任务、大规模批处理,或者当用户的设备缺乏现代 GPU 时,您需要高性能的 LLM API。这就是 n1n.ai 的优势所在。通过将本地处理与 n1n.ai 的基础设施相结合,您可以构建既经济高效又功能极其强大的应用程序。

v4 实现的专业建议

  1. 检查 WebGPU 支持: 并非所有浏览器都已支持 WebGPU(尽管 Chrome、Edge 和 Safari 正在取得快速进展)。始终实现向 WASM 或云端 API 的回退。
  2. 缓存管理: 使用 Cache API 本地存储模型权重。Transformers.js v4 对此处理得更好,但手动管理可以防止冗余的多 GB 下载。
  3. 内存限制: 浏览器通常对 GPU 缓冲区有严格的内存限制。如果您运行大型模型,请确保使用 4-bit 量化,以保持在某些移动浏览器 < 2GB 的限制内。

结论

Transformers.js v4 预览版的发布是 JavaScript 生态系统的一个里程碑。它以前所未有的速度将 Hugging Face 庞大的模型库带到了浏览器中。无论您是在构建实时视频编辑器、私有本地聊天应用,还是智能浏览器扩展,v4 都提供了交付无缝体验所需的工具。

准备好将您的 AI 应用程序提升到新的水平了吗?在 n1n.ai 获取免费 API 密钥,今天就开始构建。