Transformers.js : exécution de près de 700 macromodèles d'IA dans le web local

Introduction générale

Transformers.js est une bibliothèque JavaScript développée par Hugging Face pour permettre aux utilisateurs d'exécuter des modèles d'apprentissage automatique de pointe directement dans le navigateur sans support de serveur. La bibliothèque est l'équivalent fonctionnel de la bibliothèque transformers de Hugging Face pour Python. La bibliothèque est fonctionnellement équivalente à la bibliothèque transformers de Hugging Face pour Python, et supporte une large gamme de modèles pré-entraînés couvrant des tâches telles que le traitement du langage naturel, la vision par ordinateur, et la reconnaissance vocale. transformers.js utilise le Runtime ONNX pour exécuter les modèles, supporte l'exécution à la fois sur les CPUs et les WebGPUs, et fournit des outils efficaces de transformation et de quantification de modèles pour convertir les modèles PyTorch et WebGPUs en modèles d'apprentissage automatique. Il fournit des outils efficaces de transformation et de quantification de modèles pour convertir les modèles PyTorch, TensorFlow ou JAX au format ONNX et les exécuter dans le navigateur.

 

Liste des fonctions

  • le traitement du langage naturel (NLP)Les thèmes abordés sont les suivants : catégorisation de textes, reconnaissance d'entités nommées, systèmes de questions-réponses, modélisation linguistique, génération de résumés, traduction, choix multiples et génération de textes.
  • vision par ordinateurLes principaux domaines d'application sont les suivants : classification des images, détection des cibles, segmentation des images et estimation de la profondeur.
  • reconnaissance vocaleLes applications de ce programme sont : la reconnaissance automatique de la parole, la classification audio et la synthèse vocale.
  • tâche multimodaleLes méthodes utilisées sont les suivantes : l'incorporation, la classification audio à échantillon zéro, la classification d'images à échantillon zéro et la détection de cibles à échantillon zéro.
  • Transformation et quantification des modèlesSupport pour convertir les modèles PyTorch, TensorFlow ou JAX au format ONNX et les quantifier pour optimiser les performances.
  • Support WebGPUAméliorer l'efficacité des calculs en exécutant les modèles avec les WebGPU dans les navigateurs pris en charge.

 

Utiliser l'aide

montage

Transformers.js peut être installé via NPM ou utilisé dans le navigateur via un CDN ou un hébergement statique. Voici les étapes de l'installation :

Installation de NPM

npm i @huggingface/transformers

Utilisation du CDN

Ajoutez les balises de script suivantes au fichier HTML :

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

exemple d'utilisation

Transformers.js fournit une API de pipeline similaire à la version Python de la bibliothèque transformers, ce qui rend l'utilisation du modèle très facile. Voici quelques exemples de tâches courantes :

Analyse des sentiments

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

Utilisation de différents modèles

Vous pouvez utiliser un modèle différent en spécifiant un ID de modèle ou un chemin d'accès :

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

Exécution de modèles sur les WebGPU

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

Transformation et quantification des modèles

Transformers.js permet de convertir les modèles PyTorch, TensorFlow ou JAX au format ONNX et de les quantifier pour optimiser les performances. Vous trouverez ci-dessous des exemples de conversion et de quantification :

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

Le fichier converti sera enregistré dans le dossier ./models/ y compris model.onnx répondre en chantant model_quantized.onnx Documentation.

exemple de demande

Transformers.js fournit plusieurs exemples d'applications pour aider les utilisateurs à démarrer rapidement :

  • Whisper WebReconnaissance de la parole
  • Doodle DashJeu de reconnaissance de croquis en temps réel
  • Code PlaygroundComplétion de code dans le navigateur : Complétion de code dans le navigateur
  • Recherche sémantique d'imagesTexte : Recherche d'images
  • Synthèse vocaleTexte à voix haute : Texte à voix haute
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...