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
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...