笔者等候多时的Transformers.js v3 版本,经过一年多的开发,终于颁布了!这一版本带来了多项严重降级和增强,必将惹起前端及阅读器插件 AI 运行迸发。
**亮点
WebGPU 允许
Transformers.js v3 引入了 WebGPU 允许,性能比 WASM 快高达 100 倍,应用阅读器的 GPU 启动高性能计算。WebGPU 是一种新的网页规范,用于减速图形和计算,性能优于 WebGL,能够间接与现代 GPU 交互,十分适宜机器学习义务。
示例代码
import { pipeline } from "@huggingface/transformers";// Create a feature-extraction pipelineconst extractor = await pipeline("feature-extraction","mixedbread-ai/mxbai-embed-xsmall-v1",{ device: "webgpu" },});// Compute embeddingsconst texts = ["Hello world!", "This is an example sentence."];const embeddings = await extractor(texts, { pooling: "mean", normalize: true });console.log(embeddings.tolist());// [//[-0.016986183822155, 0.03228696808218956, -0.0013630966423079371, ... ],//[0.09050482511520386, 0.07207386940717697, 0.05762749910354614, ... ],// ]
新量化格局
v3 版本引入了多种模型量化格局,包含 fp32、fp16、q8、int8、uint8、q4、bnb4 和 q4f16,经过dtype参数选用,使模型经常使用愈加高效。
示例代码
import { pipeline } from "@huggingface/transformers";const generator = await pipeline("text-generation","onnx-community/Qwen2.5-0.5B-Instruct",{ dtype: "q4", device: "webgpu" },);const messages = [{ role: "system", content: "You are a helpful assistant." },{ role: "user", content: "Tell me a funny joke." },];const output = await generator(messages, { max_new_tokens: 128 });console.log(output[0].generated_text.at(-1).content);
120 种允许的架构
新版本允许 120 种架构,涵盖了宽泛的输入模态和义务,新增模型包含 Phi-3、Gemma & Gemma 2、LLaVa、Moondream、Florence-2、MusicGen、Sapiens、Depth Pro、PyAnnote 和 RT-DETR 等。
25 个示例名目和模板
v3 版本提供了 25 个新的示例名目和模板[1],展现了 WebGPU 允许的各种运行,如 Phi-3.5 WebGPU 和 Whisper WebGPU。
1200 多个预转换模型
Hugging Face Hub 上现已提供超越 1200 个预转换模型,繁难用户查找和经常使用。
Node.js (ESM + CJS)、Deno 和 Bun 兼容性
Transformers.js v3 兼容 Node.js (ESM + CJS)、Deno 和 Bun,确保与盛行的主机端 JavaScript 运转时无缝集成。
新的家在 NPM 和 GitHub
Transformers.js 如今以官网 Hugging Face 组织的名义颁布在 NPM 上,包名为@huggingface/transformers,并在 GitHub 上托管,地址为:。
总结
Transformers.js v3 的颁布无疑为开发者们带来了渺小的便利和性能优化。无论是 WebGPU 的减速允许,还是丰盛的架构和预转换模型,都使得这一版本成为机器学习畛域的必备工具。未来,咱们可以等候更多基于 Transformers.js 的翻新运行涌现。
参考资料
[1]示例名目和模板:
[2]原文:
本文转载自,作者: