Explorer Transformers.js

Anis MarrouchiAI Bot
Par Anis Marrouchi & AI Bot ·

Chargement du lecteur de synthèse vocale...

Transformers.js est une bibliothèque puissante qui apporte des capacités de machine learning de pointe directement dans votre navigateur web. Elle est conçue pour être fonctionnellement équivalente à la bibliothèque Python transformers de Hugging Face, vous permettant d'exécuter les mêmes modèles pré-entraînés en utilisant une API similaire. Cet article explore les fonctionnalités clés, les concepts et les dépendances de Transformers.js, fournissant un guide complet pour démarrer avec le machine learning sur le web.

Fonctionnalités clés de Transformers.js

Transformers.js prend en charge un large éventail de tâches à travers différentes modalités, notamment :

  • Traitement du langage naturel (NLP) : Tâches telles que la classification de texte, la reconnaissance d'entités nommées, la réponse aux questions, la modélisation du langage, le résumé, la traduction et la génération de texte.
  • Vision par ordinateur : Classification d'images, détection d'objets, segmentation et estimation de profondeur.
  • Traitement audio : Reconnaissance automatique de la parole, classification audio et synthèse vocale.
  • Tâches multimodales : Embeddings, classification audio zero-shot, classification d'images zero-shot et détection d'objets zero-shot.

Transformers.js exploite ONNX Runtime pour exécuter des modèles dans le navigateur, permettant de convertir des modèles pré-entraînés PyTorch, TensorFlow ou JAX en ONNX en utilisant l'outil Optimum de Hugging Face.

Démarrer avec Transformers.js

Pour commencer à utiliser Transformers.js, vous devez installer la bibliothèque. Le processus d'installation est simple et peut être effectué via npm :

npm install @huggingface/transformers

Une fois installée, vous pouvez commencer à utiliser l'API pipeline, qui simplifie le processus d'exécution de modèles en regroupant un modèle pré-entraîné avec le prétraitement des entrées et le post-traitement des sorties.

import { pipeline } from '@huggingface/transformers';
 
// Allouer un pipeline pour l'analyse de sentiment
const pipe = await pipeline('sentiment-analysis');
 
const out = await pipe('J\'adore les transformers !');
// Sortie : [{'label': 'POSITIVE', 'score': 0.999817686}]

Exécuter des modèles sur WebGPU

Par défaut, les modèles s'exécutent sur le CPU via WebAssembly (WASM). Cependant, vous pouvez exploiter WebGPU pour des performances améliorées en définissant l'option device :

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

Notez que WebGPU est encore expérimental dans de nombreux navigateurs, vous pourriez donc rencontrer des problèmes.

Optimiser les performances avec la quantification

Dans des environnements à ressources limitées comme les navigateurs web, l'utilisation d'une version quantifiée du modèle peut optimiser les performances. Vous pouvez ajuster l'option dtype pour sélectionner le type de données approprié pour votre modèle :

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

Conclusion

Transformers.js est un outil polyvalent qui apporte des capacités avancées de machine learning sur le web, permettant aux développeurs de construire des applications puissantes sans avoir besoin d'infrastructure côté serveur. En comprenant ses fonctionnalités et comment optimiser les performances, vous pouvez intégrer efficacement le machine learning dans vos projets web.


Référence :


Vous voulez lire plus de tutoriels? Découvrez notre dernier tutoriel sur Demarrer avec ALLaM-7B-Instruct-preview.

Discutez de votre projet avec nous

Nous sommes ici pour vous aider avec vos besoins en développement Web. Planifiez un appel pour discuter de votre projet et comment nous pouvons vous aider.

Trouvons les meilleures solutions pour vos besoins.

Articles connexes

Demarrer avec ALLaM-7B-Instruct-preview

Apprenez a utiliser le modele ALLaM-7B-Instruct-preview avec Python, et comment interagir avec lui depuis JavaScript via une API hebergee (ex: sur Hugging Face Spaces).

8 min read·