AI个人学习
和实操指南

Transformers.js:本地Web中运行近700个AI大模型

综合介绍

Transformers.js 是由 Hugging Face 开发的一个 JavaScript 库,旨在让用户能够直接在浏览器中运行最先进的机器学习模型,而无需服务器支持。该库与 Hugging Face 的 Python 版 transformers 库功能等效,支持多种预训练模型,涵盖自然语言处理、计算机视觉和语音识别等任务。Transformers.js 使用 ONNX Runtime 运行模型,支持在 CPU 和 WebGPU 上执行,提供了高效的模型转换和量化工具,方便用户将 PyTorch、TensorFlow 或 JAX 模型转换为 ONNX 格式并在浏览器中运行。

 

功能列表

  • 自然语言处理:文本分类、命名实体识别、问答系统、语言建模、摘要生成、翻译、多项选择和文本生成。
  • 计算机视觉:图像分类、目标检测、图像分割和深度估计。
  • 语音识别:自动语音识别、音频分类和文本转语音。
  • 多模态任务:嵌入、零样本音频分类、零样本图像分类和零样本目标检测。
  • 模型转换和量化:支持将 PyTorch、TensorFlow 或 JAX 模型转换为 ONNX 格式,并进行量化以优化性能。
  • WebGPU 支持:在支持的浏览器中使用 WebGPU 运行模型,提高计算效率。

 

使用帮助

安装

Transformers.js 可以通过 NPM 安装,也可以通过 CDN 或静态托管在浏览器中使用。以下是安装步骤:

NPM 安装

npm i @huggingface/transformers

CDN 使用

在 HTML 文件中添加以下脚本标签:

<script type="module">
import { pipeline } from 'https://cdn.jsdelivr.net/npm/@huggingface/transformers@3.1.0';
</script>

使用示例

Transformers.js 提供了类似于 Python 版 transformers 库的 pipeline API,使得模型的使用变得非常简单。以下是一些常见任务的示例:

情感分析

import { pipeline } from '@huggingface/transformers';
// 分配一个情感分析的 pipeline
const pipe = await pipeline('sentiment-analysis');
const out = await pipe('I love transformers!');
// 输出: [{'label': 'POSITIVE', 'score': 0.999817686}]

使用不同的模型

可以通过指定模型 ID 或路径来使用不同的模型:

const pipe = await pipeline('sentiment-analysis', 'Xenova/bert-base-multilingual-uncased-sentiment');

在 WebGPU 上运行模型

const pipe = await pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english', { device: 'webgpu' });

模型转换和量化

Transformers.js 支持将 PyTorch、TensorFlow 或 JAX 模型转换为 ONNX 格式,并进行量化以优化性能。以下是转换和量化的示例:

python -m scripts.convert --quantize --model_id bert-base-uncased

转换后的文件将保存在 ./models/ 目录下,包括 model.onnxmodel_quantized.onnx 文件。

示例应用

Transformers.js 提供了多个示例应用,帮助用户快速上手:

  • Whisper Web:语音识别
  • Doodle Dash:实时草图识别游戏
  • Code Playground:浏览器内代码补全
  • Semantic Image Search:文本搜索图像
  • Text to Speech:文本转语音

未经允许不得转载:首席AI分享圈 » Transformers.js:本地Web中运行近700个AI大模型

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文