3 points par GN⁺ 2024-04-13 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Transformers.js est une bibliothèque web de machine learning de pointe qui permet d’exécuter directement 🤗 Transformers dans le navigateur, sans serveur
  • Elle est conçue pour être fonctionnellement équivalente à la bibliothèque Python transformers, afin de pouvoir exécuter les mêmes modèles pré-entraînés avec une API similaire
  • Elle prend en charge les tâches courantes sur de multiples modalités, notamment le traitement du langage naturel, la vision par ordinateur, l’audio et le multimodal
  • Les modèles sont exécutés dans le navigateur via ONNX Runtime, et 🤗 Optimum permet de convertir facilement en ONNX des modèles pré-entraînés PyTorch, TensorFlow ou JAX

Fonctionnalités principales

  • Prise en charge de la même API pipeline que la bibliothèque Python, ce qui facilite la migration depuis du code existant
  • Prise en charge de nombreuses tâches et architectures (avec indication de compatibilité et liens vers la documentation/les modèles)
    • Traitement du langage naturel : Fill-Mask, Question Answering, Sentence Similarity, Summarization, Text Classification, Text Generation, Text-to-text Generation, Token Classification, Translation, Zero-Shot Classification, Feature Extraction, etc.
    • Vision : Depth Estimation, Image Classification, Image Segmentation, Image-to-Image, Object Detection, Image Feature Extraction, etc.
    • Audio : Audio Classification, Automatic Speech Recognition, Text-to-Speech
    • Multimodal : Document Question Answering, Image-to-Text, Zero-Shot Audio/Image Classification, Zero-Shot Object Detection, etc.
  • Utilise par défaut des modèles pré-entraînés hébergés et des binaires WASM précompilés, avec possibilité de personnalisation

Installation et utilisation

  • Installation via NPM : npm i @xenova/transformers
  • Utilisable en JavaScript vanilla sans bundler, via un CDN ou un hébergement statique
  • Fournit divers exemples d’applications et templates : Whisper Web, Doodle Dash, Code Playground, Semantic Image Search, Vanilla JavaScript, React, Text to speech, Browser extension, Electron, Next.js, Node.js, etc.
  • Les paramètres d’environnement permettent de personnaliser le chemin des modèles, l’activation ou non du chargement de modèles distants, l’emplacement des fichiers WASM, etc.
  • Les scripts de conversion fournis permettent de convertir des modèles PyTorch, TensorFlow et JAX en ONNX

Modèles pris en charge

  • Prise en charge de nombreux modèles, notamment ALBERT, Audio Spectrogram Transformer, BART, BEiT, BERT, Blenderbot, BLOOM, CamemBERT, Chinese-CLIP, CLAP, CLIP, CLIPSeg, CodeGen, ConvBERT, ConvNeXT, DeBERTa, DeiT, Depth Anything, DETR, DINOv2, DistilBERT, DiT, Donut, DPT, EfficientNet, ELECTRA, ESM, Falcon, FLAN-T5, GLPN, GPT Neo, GPT NeoX, GPT-2, GPT-J, GPTBigCode, HerBERT, Hubert, LongT5, LLaMA, MPNet, MPT, MT5, NLLB, Nougat, OPT, etc.

L’avis de GN⁺

  • Transformers.js est une bibliothèque utile qui permet d’exécuter dans le navigateur, sans serveur, divers modèles Transformer récents. Elle est particulièrement polyvalente grâce à la prise en charge de tâches dans plusieurs domaines comme le traitement du langage naturel, la vision par ordinateur et l’audio
  • Elle propose une API similaire à celle de la bibliothèque Python, ce qui facilite la transition depuis du code existant, et prend en charge de nombreux modèles pré-entraînés, utilisables immédiatement sans entraînement supplémentaire
  • Les exemples d’applications et templates fournis facilitent son adoption pour différents usages, et les possibilités de personnalisation offrent une grande flexibilité
  • En revanche, l’exécution dans le navigateur implique des contraintes de ressources, et l’ajout ainsi que le maintien du support des modèles les plus récents peuvent représenter une charge en termes de maintenance
  • Parmi les frameworks ML similaires côté navigateur, on trouve TensorFlow.js, ONNX.js et WebDNN. TensorFlow.js en particulier prend en charge à la fois le navigateur et Node.js, et propose davantage de fonctionnalités comme le transfer learning ou la visualisation

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.