اجرای هوش مصنوعی داخل مرورگر با Transformers.js
خلاصهٔ کاملتر
کتابخونهٔ Transformers.js محصول Hugging Face هست و مدلهای آماده رو صد درصد روی مرورگر اجرا میکنه، یعنی inference (همون مرحلهای که مدل روی ورودی تو جواب تولید میکنه) هم سمت کلاینت انجام میشه. به گفتهٔ نویسنده، یه مترجم انگلیسی به اسپانیایی فقط سه خط کد میخواد:
import { pipeline } from '@huggingface/transformers'
const t = await pipeline('translation', 'Xenova/opus-mt-en-es', { device: 'webgpu' })
await t('Hello, world!') // [{ translation_text: '¡Hola, mundo!' }]کتابخونه دقیقاً از همون API نسخهٔ پایتونی transformers تقلید میکنه، پس همون taskها، همون pipeline و همون model IDهای Hugging Face Hub تو جاوااسکریپت هم کار میکنن. الان ۲۷ task تو چهار دستهٔ متن، تصویر، صدا و multimodal پشتیبانی میشه، روی ۱۵۵ معماری مدل، و بیشتر از ۱۸۰۰ مدل آمادهٔ استفاده روی Hub هست. جز مرورگر، تو Node و Bun و Deno و افزونههای مرورگر و توابع edge هم اجرا میشه.
خودش موتور یادگیری ماشین نداره و فقط یه لایهٔ نازکه روی دو تکنولوژی دیگه. مدل باید اول به ONNX تبدیل بشه (یه فرمت استاندارد که روی پلتفرمهای مختلف اجرا میشه) و حدود ۲۵۰۰ مدل ONNX همین الان روی Hub آمادهست. اجرای واقعی هم با ONNX Runtime Web انجام میشه که بسته به دستگاه از WebAssembly روی CPU، WebGPU روی گرافیک یا WebNN برای سختافزار اختصاصی AI استفاده میکنه. کرومیومها WebGPU رو کامل دارن و Safari 26 هم اون رو به کل اکوسیستم اپل آورده.
نویسنده با همین ابزار یه غلطگیر گرامر هم میسازه؛ مدل Xenova/LaMini-Flan-T5-783M یه دستور ساده به انگلیسی میگیره و متن اصلاحشده رو برمیگردونه. ولی خودش صادقانه میگه این Grammarly نیست: خطای زمان فعل و همآواها رو درست میکنه، اما مثلاً «me and him was» رو به «I and him were» تبدیل میکنه که ضمیرش هنوز غلطه. اون مدل حدود ۸۰۰ مگابایته و روی CPU هر اصلاح چند ثانیه طول میکشه.
با آرگومان سوم pipeline میتونی device: 'webgpu' بدی تا روی گرافیک بره، یا dtype: 'q8' بدی تا نسخهٔ سبکتر مدل لود بشه؛ کمی دقت از دست میره ولی سریعتر بالا میاد.
نکات کلیدی:
- مدل opus-mt-en-es برای ترجمهٔ انگلیسی به اسپانیایی حدود ۱۱۵ مگابایته
- مدل غلطگیر LaMini-Flan-T5-783M حدود ۸۰۰ مگابایته و بار اول باید کامل دانلود بشه
- پشتیبانی از ۲۷ task تو چهار دستهٔ متن، تصویر، صدا و multimodal، روی ۱۵۵ معماری مدل
- اجرای واقعی با ONNX Runtime Web انجام میشه، روی WebAssembly یا WebGPU یا WebNN
- مدل بعد از دانلود تو Cache API یا IndexedDB کش میشه، پس اجرای بعدی سریع و آفلاینه




