- Transformers.js ist eine moderne Machine-Learning-Bibliothek für das Web, mit der sich 🤗 Transformers direkt im Browser ohne Server ausführen lassen
- Sie ist so konzipiert, dass sie funktional der Python-
transformers-Bibliothek entspricht, sodass dieselben vortrainierten Modelle mit einer ähnlichen API ausgeführt werden können
- Unterstützt gängige Aufgaben in verschiedenen Modalitäten wie Natural Language Processing, Computer Vision, Audio und Multimodalität
- Führt Modelle im Browser mit ONNX Runtime aus, und mit 🤗 Optimum lassen sich vortrainierte Modelle aus PyTorch, TensorFlow oder JAX einfach nach ONNX konvertieren
Hauptfunktionen
- Unterstützung derselben
pipeline-API wie in der Python-Bibliothek, wodurch eine Umstellung aus bestehendem Code einfach möglich ist
- Unterstützung für zahlreiche Aufgaben und Architekturen (einschließlich Angabe der Unterstützung sowie Dokumentations-/Modell-Links)
- Natural Language Processing: Fill-Mask, Question Answering, Sentence Similarity, Summarization, Text Classification, Text Generation, Text-to-text Generation, Token Classification, Translation, Zero-Shot Classification, Feature Extraction usw.
- Vision: Depth Estimation, Image Classification, Image Segmentation, Image-to-Image, Object Detection, Image Feature Extraction usw.
- 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 usw.
- Verwendet standardmäßig gehostete vortrainierte Modelle und vorkompilierte WASM-Binärdateien, ist aber anpassbar
Installation und Verwendung
- Kann über NPM installiert werden:
npm i @xenova/transformers
- Kann ohne Bundler in Vanilla JS über CDN oder statisches Hosting verwendet werden
- Bietet verschiedene Beispielanwendungen/Templates: Whisper Web, Doodle Dash, Code Playground, Semantic Image Search, Vanilla JavaScript, React, Text to speech, Browser extension, Electron, Next.js, Node.js usw.
- Über die Umgebungs-Konfiguration lassen sich Modellpfade, das Laden entfernter Modelle, Speicherorte für WASM-Dateien usw. anpassen
- Mit dem bereitgestellten Konvertierungsskript lassen sich Modelle aus PyTorch, TensorFlow und JAX nach ONNX konvertieren
Unterstützte Modelle
- Unterstützung für zahlreiche Modelle wie 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 usw.
Meinung von GN⁺
- Transformers.js ist eine nützliche Bibliothek, die es ermöglicht, verschiedene moderne Transformer-Modelle ohne Server direkt im Browser auszuführen. Besonders durch die Unterstützung für Natural Language Processing, Computer Vision und Audio ist sie vielseitig einsetzbar
- Durch die ähnliche API zur Python-Bibliothek ist ein Wechsel aus bestehendem Code einfach, und dank Unterstützung vieler vortrainierter Modelle kann man sie ohne zusätzliches Training sofort einsetzen
- Die bereitgestellten Beispielanwendungen und Templates machen den Einsatz für unterschiedliche Zwecke einfach, und die Anpassungsmöglichkeiten sorgen für hohe Flexibilität
- Da die Ausführung im Browser erfolgt, kann es jedoch Ressourcenbeschränkungen geben, und die fortlaufende Ergänzung bzw. Unterstützung neuer Modelle kann in Bezug auf Entwicklung und Wartung aufwendig sein
- Ähnliche browserbasierte ML-Frameworks sind TensorFlow.js, ONNX.js und WebDNN. Insbesondere TensorFlow.js unterstützt sowohl Browser als auch Node.js und bietet mehr Funktionen wie Transfer Learning und Visualisierung
Noch keine Kommentare.