- Transformers.js, sunucu olmadan doğrudan tarayıcıda 🤗 Transformers çalıştırabilen, web için geliştirilmiş son teknoloji bir makine öğrenimi kütüphanesidir.
- Python
transformers kütüphanesiyle işlevsel olarak eşdeğer olacak şekilde tasarlanmıştır; böylece aynı önceden eğitilmiş modeller benzer bir API ile çalıştırılabilir.
- Doğal dil işleme, bilgisayarlı görü, ses ve çok modlu alanlar dahil olmak üzere çeşitli modalitelerdeki yaygın görevleri destekler.
- Tarayıcıda modelleri çalıştırmak için ONNX Runtime kullanır; PyTorch, TensorFlow veya JAX ile eğitilmiş modeller de 🤗 Optimum kullanılarak kolayca ONNX'e dönüştürülebilir.
Temel özellikler
- Python kütüphanesiyle aynı
pipeline API'sini desteklediği için mevcut koddan kolayca dönüştürülebilir.
- Çok çeşitli görevleri ve mimarileri destekler (destek durumu ile doküman/model bağlantıları dahil).
- Doğal dil işleme: Fill-Mask, Question Answering, Sentence Similarity, Summarization, Text Classification, Text Generation, Text-to-text Generation, Token Classification, Translation, Zero-Shot Classification, Feature Extraction vb.
- Görü: Depth Estimation, Image Classification, Image Segmentation, Image-to-Image, Object Detection, Image Feature Extraction vb.
- Ses: Audio Classification, Automatic Speech Recognition, Text-to-Speech
- Çok modlu: Document Question Answering, Image-to-Text, Zero-Shot Audio/Image Classification, Zero-Shot Object Detection vb.
- Varsayılan olarak barındırılan önceden eğitilmiş modelleri ve önceden derlenmiş WASM ikililerini kullanır; ancak özelleştirme mümkündür.
Kurulum ve kullanım
- NPM ile kurulabilir:
npm i @xenova/transformers
- CDN veya statik hosting kullanılarak bundler olmadan vanilla JS içinde kullanılabilir.
- Çeşitli örnek uygulamalar/şablonlar sunar: Whisper Web, Doodle Dash, Code Playground, Semantic Image Search, Vanilla JavaScript, React, Text to speech, Browser extension, Electron, Next.js, Node.js vb.
- Ortam ayarları üzerinden model yolu, uzak model yükleme durumu, WASM dosya konumu gibi seçenekler özelleştirilebilir.
- Sağlanan dönüştürme betikleri kullanılarak PyTorch, TensorFlow ve JAX modelleri ONNX'e dönüştürülebilir.
Desteklenen modeller
- 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 ve daha birçok model desteklenir.
GN⁺ görüşü
- Transformers.js, sunucu gerektirmeden tarayıcıda çeşitli modern Transformer modellerini çalıştırmayı mümkün kılan kullanışlı bir kütüphanedir. Özellikle doğal dil işleme, bilgisayarlı görü ve ses gibi birçok alandaki görevleri desteklediği için oldukça çok yönlüdür.
- Python kütüphanesine benzer bir API sunduğundan mevcut koddan geçiş kolaydır; ayrıca çok sayıda önceden eğitilmiş modeli desteklediği için ek eğitim olmadan doğrudan kullanılabilir.
- Örnek uygulamalar ve şablonlar sunduğu için farklı amaçlarla değerlendirilmesi kolaydır; özelleştirme özellikleri sayesinde esnekliği de yüksektir.
- Ancak tarayıcıda çalıştığı için kaynak kısıtları olabilir; ayrıca yeni modellerin sürekli eklenmesi ve desteklenmesi, geliştirme ve bakım açısından yük oluşturabilir.
- Benzer tarayıcı tabanlı ML çerçeveleri arasında TensorFlow.js, ONNX.js ve WebDNN bulunur. Özellikle TensorFlow.js, hem tarayıcıyı hem de Node.js'i destekler ve transfer learning, görselleştirme gibi daha fazla özellik sunar.
Henüz yorum yok.