14 poin oleh xguru 2024-10-26 | 1 komentar | Bagikan ke WhatsApp
  • Dukungan WebGPU (hingga 100x lebih cepat daripada WASM)
  • Format kuantisasi baru dtypes
  • Dukungan untuk 120 arsitektur
  • 25 proyek contoh dan template baru
  • Lebih dari 1200 model yang telah dikonversi sebelumnya
  • Kompatibilitas dengan Node.js (ESM + CJS), Deno, dan Bun

Dukungan WebGPU

  • WebGPU adalah standar web baru untuk grafis terakselerasi dan komputasi
  • Memungkinkan developer menggunakan GPU sistem langsung dari browser untuk menjalankan komputasi berperforma tinggi
  • Sebagai penerus WebGL, WebGPU memungkinkan interaksi yang lebih langsung dengan GPU modern sehingga performa meningkat secara signifikan
  • Juga mendukung komputasi GPU serbaguna sehingga cocok untuk machine learning
  • Per Oktober 2024, tingkat dukungan WebGPU di seluruh dunia berada di kisaran sekitar 70%
  • Bergantung pada browser, Anda mungkin perlu menggunakan feature flag untuk mengaktifkan WebGPU
  • Penggunaan WebGPU di Transformers.js v3
    • Berkat kolaborasi dengan ONNX Runtime Web, akselerasi WebGPU dapat diaktifkan hanya dengan menetapkan device: 'webgpu' saat memuat model
    • WebGPU dapat digunakan untuk menghitung text embedding, speech recognition, image classification, dan lainnya

Format kuantisasi baru (dtypes)

  • Sebelum Transformers.js v3, melalui opsi quantized pengguna dapat memilih varian model quantized (q8) atau full-precision (fp32)
  • Kini Anda dapat memilih dari daftar yang jauh lebih banyak melalui parameter dtype
  • Daftar kuantisasi yang tersedia berbeda-beda tergantung model, tetapi umumnya mencakup full-precision ("fp32"), half-precision ("fp16"), 8-bit ("q8", "int8", "uint8"), dan 4-bit ("q4", "bnb4", "q4f16")
  • dtypes per modul
    • Beberapa model encoder-decoder seperti Whisper atau Florence-2 sangat sensitif terhadap pengaturan kuantisasi, khususnya pada encoder
    • Karena itu, ditambahkan fitur untuk memilih dtypes per modul dengan menyediakan pemetaan dari nama modul ke dtype

120 arsitektur yang didukung

  • Dalam rilis ini, total arsitektur yang didukung meningkat menjadi 120, mencakup berbagai modalitas input dan tugas
  • Arsitektur baru yang menonjol meliputi: Phi-3, Gemma & Gemma 2, LLaVa, Moondream, Florence-2, MusicGen, Sapiens, Depth Pro, PyAnnote, RT-DETR, dan lainnya

25 proyek contoh dan template

  • Sebagai bagian dari rilis ini, diluncurkan 25 proyek contoh dan template baru yang menonjolkan dukungan WebGPU
  • Termasuk demo seperti Phi-3.5 WebGPU dan Whisper WebGPU

Lebih dari 1200 model yang telah dikonversi sebelumnya

  • Pada saat rilis, komunitas telah mengonversi lebih dari 1200 model agar kompatibel dengan Transformers.js
  • Untuk mengonversi model Anda sendiri atau hasil fine-tuning, Anda dapat menggunakan skrip konversi yang disediakan
  • Setelah mengunggah file yang dihasilkan ke Hugging Face Hub, Anda dapat menambahkan tag transformers.js agar orang lain mudah menemukannya dan menggunakannya

Kompatibilitas dengan Node.js (ESM + CJS), Deno, dan Bun

  • Transformers.js v3 kini kompatibel dengan tiga runtime JavaScript sisi server yang paling populer
  • Node.js: runtime JavaScript yang banyak digunakan dan dibangun di atas V8 milik Chrome, dengan dukungan luas untuk library dan framework
  • Deno: runtime modern untuk JavaScript dan TypeScript dengan keamanan bawaan yang baik, menggunakan ES module dan juga menyediakan dukungan WebGPU eksperimental
  • Bun: runtime JavaScript cepat yang dioptimalkan untuk performa, dengan bundler, transpiler, dan package manager bawaan

Rumah baru di NPM dan GitHub

  • Transformers.js kini akan dipublikasikan sebagai @huggingface/transformers di organisasi resmi Hugging Face di NPM (menggantikan @xenova/transformers yang digunakan untuk v1 dan v2)
  • Repositori juga telah dipindahkan ke organisasi resmi Hugging Face di GitHub (https://github.com/huggingface/transformers.js), yang akan menjadi rumah barunya