javascript Transformers.js'in Önemi
Geleneksel olarak ML modelleri Python'da çalışır; bu nedenle web uygulamalarının backend bir ML servisi çağırması gerekir. Transformers.js bu paradigmayı değiştirir: model doğrudan tarayıcıda WebAssembly veya WebGPU üzerinde çalışır. Kullanıcı verisi sunucuya hiç gönderilmez; gecikme, ağ bağlantı kalitesinden bağımsızlaşır. Duygu analizi, metin gömme, nesne tespiti ve OCR başlıca kullanım alanlarıdır.
Desteklenen Görev Türleri
text_fields NLP Görevleri
Metin sınıflandırma, NER, soru yanıtlama, özetleme, çeviri.
image Görüntü Görevleri
Nesne tespiti, görüntü sınıflandırma, derinlik tahmini, OCR.
mic Ses Görevleri
Konuşma tanıma (Whisper) ve sesi metne dönüştürme.
hub Çok Modlu
CLIP tabanlı görüntü-metin eşleştirme ve görüntüden metin üretimi.
Transformers.js Özellikleri
- check_circle Tarayıcıda Çalışan Modeller: ONNX Runtime Web üzerinde çalışır; sunucu gerekmez. Desteklenen görevler: metin sınıflandırma, duygu analizi, soru cevaplama, NER, metin üretimi, özetleme. Ses: Whisper (konuşma tanıma), konuşmacı tanıma, ses sınıflandırma. Görüntü: nesne tespiti, görüntü sınıflandırma, derinlik tahmini, segmentasyon.
- check_circle Node.js Desteği: Tarayıcı dışında Node.js ortamında da çalışır. Sunucu taraflı inference: API endpoint'i olmadan yerel model çıkarımı. Electron uygulamaları: masaüstü AI uygulama geliştirme. npm install @huggingface/transformers ile kurulum.
- check_circle WebGPU Hızlandırması: WebGPU desteğiyle tarayıcı GPU'su kullanılır. CPU'ya kıyasla 5-10× hız artışı. Chrome 113+ WebGPU'yu destekler; Safari ve Firefox kısmi destek. Büyük modeller için WebGPU şart; CPU ile yalnızca küçük modeller pratik.
Transformers.js Kullanım Senaryoları ve Sınırları
Transformers.js, gizlilik öncelikli AI uygulamalarının ana geliştirme aracı haline geldi. Kullanım senaryoları: offline çalışan web uygulamaları, hassas veriyi sunucuya göndermeden işleme, düşük gecikme gerektiren gerçek zamanlı duygu/dil analizi. Hugging Face Hub ile entegrasyon: ONNX export edilmiş modeller doğrudan Hub'dan yüklenir. Sınırlar: büyük modeller (7B+) tarayıcıda pratik değil; ilk yükleme süresi uzun olabilir (model indirimi); belirli operatörler WebAssembly/WebGPU'da desteklenmeyebilir. Önerilen model boyutu: tarayıcı için <500MB (örn. distilbert, DistilWhisper).
quiz Sık Sorulan Sorular
- check_circle Transformers.js tarayıcıda yavaş değil mi?: Model boyutuna bağlıdır. Küçük modeller (50-100 MB) modern tarayıcıda kabul edilebilir hızda çalışır. WebGPU desteğiyle hız önemli ölçüde artar.
- check_circle Tüm HuggingFace modelleri desteklenir mi?: Hayır. Modellerin ONNX formatına dönüştürülmesi gerekir; HuggingFace Hub'da hazır ONNX sürümleri olan modeller doğrudan kullanılabilir.
- check_circle Transformers.js nedir?: Hugging Face'in Transformers Python kütüphanesinin JavaScript portu. ONNX Runtime Web ile tarayıcıda veya Node.js'de transformer modelleri çalıştırmayı sağlar. Sunucu gerekmeden client-side AI uygulamaları geliştirilmesine imkân tanır.
- check_circle Transformers.js ile ne kadar büyük modeller çalışır?: Tarayıcıda pratik üst sınır ~500MB. DistilBERT (~67MB), DistilWhisper (~100MB) rahatça çalışır. WebGPU ile Phi-3 Mini (3.8B, kuantize ~2GB) mümkün ama yavaş. Node.js'de bellek sınırı yok; sunucu donanımı belirleyici.
- check_circle Transformers.js Python'daki Transformers ile aynı mı?: API tasarımı benzer: pipeline('sentiment-analysis') gibi. Farklılık: Python doğrudan PyTorch çalıştırır; JS versiyonu önce ONNX'e dönüştürülmüş model ister. Hub'daki modellerin büyük çoğunluğu ONNX versiyonu içerir.
- check_circle Transformers.js ile Türkçe NLP mümkün mü?: Evet. Hugging Face Hub'da Türkçe BERT, XLM-R gibi çok dilli ONNX modeller mevcut. pipeline('text-classification', {model: 'savasy/bert-turkish-text-cat'}) örneğiyle Türkçe duygu analizi tarayıcıda çalıştırılabilir. Whisper tiny/base ile Türkçe konuşma tanıma da destekleniyor.