Transformers.js: casi 700 macromodelos de IA ejecutándose en la web local

Introducción general

Transformers.js es una biblioteca JavaScript desarrollada por Hugging Face para permitir a los usuarios ejecutar modelos de aprendizaje automático de última generación directamente en el navegador sin soporte de servidor. La biblioteca es funcionalmente equivalente a la biblioteca de transformadores de Hugging Face para Python, y es compatible con una amplia gama de modelos pre-entrenados que cubren tareas tales como el procesamiento del lenguaje natural, visión por computador y reconocimiento de voz. transformers.js utiliza el ONNX Runtime para ejecutar modelos, soporta la ejecución tanto en CPU como en WebGPUs, y proporciona eficientes herramientas de transformación y cuantificación de modelos. Proporciona herramientas eficientes de transformación y cuantificación de modelos para convertir modelos PyTorch, TensorFlow o JAX al formato ONNX y ejecutarlos en el navegador.

 

Lista de funciones

  • procesamiento del lenguaje natural (PLN)categorización de textos, reconocimiento de entidades con nombre, sistemas de preguntas y respuestas, modelización del lenguaje, generación de resúmenes, traducción, selección múltiple y generación de textos.
  • visión por ordenadorclasificación de imágenes, detección de objetivos, segmentación de imágenes y estimación de la profundidad.
  • reconocimiento de voz: reconocimiento automático del habla, clasificación de audio y conversión de texto en voz.
  • tarea multimodalincrustación, clasificación de audio de muestra cero, clasificación de imágenes de muestra cero y detección de objetivos de muestra cero.
  • Transformación y cuantificación de modelosSoporte para convertir modelos PyTorch, TensorFlow o JAX a formato ONNX y cuantificarlos para optimizar el rendimiento.
  • Soporte WebGPU: Aumente la eficiencia computacional ejecutando modelos en navegadores compatibles mediante WebGPUs.

 

Utilizar la ayuda

montaje

Transformers.js puede ser instalado vía NPM o usado en el navegador vía CDN o hosting estático. Aquí están los pasos de instalación:

Instalación de NPM

npm i @huggingface/transformers

Uso de CDN

Añada las siguientes etiquetas script al archivo HTML:

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

ejemplo de uso

Transformers.js proporciona una API de canalización similar a la versión Python de la biblioteca de transformadores, lo que hace que el uso del modelo sea muy sencillo. He aquí algunos ejemplos de tareas comunes:

Análisis del sentimiento

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

Utilización de distintos modelos

Puede utilizar un modelo diferente especificando un ID de modelo o una ruta:

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

Ejecución de modelos en WebGPU

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

Transformación y cuantificación de modelos

Transformers.js permite convertir modelos PyTorch, TensorFlow o JAX al formato ONNX y cuantificarlos para optimizar el rendimiento. A continuación se muestran ejemplos de conversión y cuantificación:

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

El archivo convertido se guardará en la carpeta ./models/ incluyendo model.onnx responder cantando model_quantized.onnx Documentación.

solicitud de muestra

Transformers.js proporciona varias aplicaciones de ejemplo para ayudar a los usuarios a empezar rápidamente:

  • Whisper WebReconocimiento de voz
  • Doodle DashJuego de reconocimiento de bocetos en tiempo real
  • Código PlaygroundTerminación de código en el navegador
  • Búsqueda semántica de imágenes: Texto Buscar imágenes
  • Texto a vozTexto a voz
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...