tag TransformersJS

Bu sayfada TransformersJS etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.

Transformers.js, Hugging Face'in Python ekosistemindeki transformers kütüphanesinin tarayıcı ve Node.js ortamlarına taşınmış resmi JavaScript portudur. Kütüphanenin temeli ONNX Runtime Web'e dayanır: Hugging Face Hub'da yayımlanan transformer modelleri ONNX formatına dönüştürülüp WebAssembly veya WebGPU üzerinde çalıştırılır; bu sayede bir arka uç servisi veya API çağrısı olmaksızın makine öğrenimi çıkarımı (inferans) gerçekleştirilebilir. Geleneksel mimaride bir web uygulaması makine öğrenimi tahmini için Python tabanlı bir sunucuya istek atmak zorundadır. Transformers.js bu paradigmayı tersine çevirir: model tarayıcıya bir kez indirilir, sonraki tahminler tamamen istemci tarafında yapılır. Ağ gecikmesi ortadan kalkar, kullanıcı verisi hiçbir zaman sunucuya ulaşmaz ve uygulama çevrimdışı da çalışabilir. Kütüphane pipeline() arayüzüyle Python versiyonuna yakın bir sözdizimi sunar: pipeline('sentiment-analysis'), pipeline('text-generation'), pipeline('automatic-speech-recognition') gibi çağrılar tarayıcıda da aynı şekilde çalışır. Desteklenen görev kategorileri şunlardır: doğal dil işleme (duygu analizi, metin sınıflandırma, adlandırılmış varlık tanıma, özetleme, çeviri, metin üretimi, soru yanıtlama), ses (Whisper ile konuşma tanıma, ses sınıflandırma) ve görüntü (nesne tespiti, görüntü sınıflandırma, OCR, derinlik tahmini, segmentasyon). CLIP tabanlı çok modlu modeller de desteklenir. WebGPU desteği, kütüphanenin 2023'ten itibaren geçirdiği önemli bir dönüşümü temsil eder. Chrome 113+ ile kullanılan WebGPU, CPU'ya kıyasla 5–10 kat hız kazanımı sağlar; kuantize Phi-3 Mini (3,8 milyar parametre) gibi görece büyük modeller bile tarayıcıda çalıştırılabilir hale gelmiştir. Pratik sınırlar şunlardır: tarayıcıda önerilen model boyutu üst sınırı yaklaşık 500 MB'dir; DistilBERT (67 MB) ve DistilWhisper (100 MB) optimize seçeneklerdir. ONNX dönüşümü gerektirdiği için Hub'daki her model doğrudan kullanılamaz; ancak popüler modellerin büyük çoğunluğu onnx alt klasörüyle zaten yayımlanmaktadır. Türkçe desteği de mevcuttur: XLM-R ve çok dilli Whisper modelleriyle Türkçe NLP ve konuşma tanıma tarayıcıda sorunsuz çalıştırılabilmektedir.

hub

ONNX (Açık Sinir Ağı Değişim Formatı)

ONNX (Open Neural Network Exchange — Açık Sinir Ağı Değişim Formatı), PyTorch, TensorFlow ve JAX gibi farklı derin öğrenme çerçeveleri arasında model taşınabilirliğini sağlayan açık bir endüstri standardıdır. 2017'de Microsoft ve Meta (Facebook) tarafından ortaklaşa geliştirilen format, "bir kez eğit, her yerde çalıştır" felsefesiyle AI model dağıtımının karmaşıklığını ortadan kaldırmayı hedefler. Teknik olarak ONNX, hesaplama grafiğini (computational graph) Protocol Buffers formatında saklar. Model ağırlıkları, katman mimarisi ve tüm operasyonlar platform bağımsız bir .onnx uzantılı dosyada kodlanır. Bu dosya; CPU, GPU, NPU, FPGA veya WebAssembly gibi birbirinden farklı donanım hedeflerinde ONNX Runtime tarafından çalıştırılabilir hale gelir. Opset (operator set) versiyonlama mekanizması, geriye dönük uyumluluğu koruyarak ekosistemi istikrarlı kılar. ONNX Runtime, Microsoft tarafından geliştirilen açık kaynaklı yüksek performanslı çıkarım motorudur. CUDA (NVIDIA GPU), DirectML (Windows AI platformu), CoreML (Apple Silicon), TensorRT ve OpenVINO gibi Execution Provider'lar aracılığıyla aynı model farklı donanım mimarilerinde otomatik optimize edilir. Karşılaştırmalı testler, PyTorch eager mode'a kıyasla ortalama 1,5–3× hızlanma, transformer modellerinde operatör birleştirme (operator fusion) ile daha yüksek kazanım bildirmektedir. Ekosistem açısından PyTorch'tan torch.onnx.export(), TensorFlow'dan tf2onnx veya keras2onnx ile dönüşüm yapılır. Netron aracı model grafiğini görselleştirir; onnxsim gereksiz düğümleri temizler; INT8 ve FP16 nicemleme model boyutunu dörtte bire kadar indirir. Transformers.js ve ONNX Runtime Web, ONNX modellerini doğrudan tarayıcıda WebAssembly ve WebGL aracılığıyla çalıştırır. Phi-3, LLaMA ve Mistral gibi büyük dil modellerinin ONNX sürümleri Hugging Face'te yayınlanmakta; Windows Copilot+ PC'lerde NPU üzerinde, iOS ve Android'de ise internet bağlantısı gerekmeden yerel çıkarım için kullanılmaktadır. AWS SageMaker, Azure ML ve Google Vertex AI gibi büyük bulut platformları ONNX formatını doğrudan desteklemekte, model kayıt defterlerine sorunsuz entegrasyon imkânı sunmaktadır.

arrow_forward
javascript

Transformers.js (Transformers.js)

Transformers.js, Hugging Face'in Python ekosistemindeki transformers kütüphanesinin tarayıcı ve Node.js ortamlarına taşınmış resmi JavaScript portudur. Kütüphanenin temeli ONNX Runtime Web'e dayanır: Hugging Face Hub'da yayımlanan transformer modelleri ONNX formatına dönüştürülüp WebAssembly veya WebGPU üzerinde çalıştırılır; bu sayede bir arka uç servisi veya API çağrısı olmaksızın makine öğrenimi çıkarımı (inferans) gerçekleştirilebilir. Geleneksel mimaride bir web uygulaması makine öğrenimi tahmini için Python tabanlı bir sunucuya istek atmak zorundadır. Transformers.js bu paradigmayı tersine çevirir: model tarayıcıya bir kez indirilir, sonraki tahminler tamamen istemci tarafında yapılır. Ağ gecikmesi ortadan kalkar, kullanıcı verisi hiçbir zaman sunucuya ulaşmaz ve uygulama çevrimdışı da çalışabilir. Kütüphane pipeline() arayüzüyle Python versiyonuna yakın bir sözdizimi sunar: pipeline('sentiment-analysis'), pipeline('text-generation'), pipeline('automatic-speech-recognition') gibi çağrılar tarayıcıda da aynı şekilde çalışır. Desteklenen görev kategorileri şunlardır: doğal dil işleme (duygu analizi, metin sınıflandırma, adlandırılmış varlık tanıma, özetleme, çeviri, metin üretimi, soru yanıtlama), ses (Whisper ile konuşma tanıma, ses sınıflandırma) ve görüntü (nesne tespiti, görüntü sınıflandırma, OCR, derinlik tahmini, segmentasyon). CLIP tabanlı çok modlu modeller de desteklenir. WebGPU desteği, kütüphanenin 2023'ten itibaren geçirdiği önemli bir dönüşümü temsil eder. Chrome 113+ ile kullanılan WebGPU, CPU'ya kıyasla 5–10 kat hız kazanımı sağlar; kuantize Phi-3 Mini (3,8 milyar parametre) gibi görece büyük modeller bile tarayıcıda çalıştırılabilir hale gelmiştir. Pratik sınırlar şunlardır: tarayıcıda önerilen model boyutu üst sınırı yaklaşık 500 MB'dir; DistilBERT (67 MB) ve DistilWhisper (100 MB) optimize seçeneklerdir. ONNX dönüşümü gerektirdiği için Hub'daki her model doğrudan kullanılamaz; ancak popüler modellerin büyük çoğunluğu onnx alt klasörüyle zaten yayımlanmaktadır. Türkçe desteği de mevcuttur: XLM-R ve çok dilli Whisper modelleriyle Türkçe NLP ve konuşma tanıma tarayıcıda sorunsuz çalıştırılabilmektedir.

arrow_forward