چگونه ۲۰۷ کرنل متنباز WebGPU مرورگر دسکتاپ را به موتور استنتاج محلی هوش مصنوعی تبدیل میکنند
لایه پایهای جدیدی از عملیات WebGPU به مدلهای زبانی بزرگ اجازه میدهد تا به طور کامل روی سختافزار محلی کاربر و از طریق مرورگر اجرا شوند؛ سازوکاری که نیاز به رفتوبرگشت دادهها به سرور را از بین برده و از حریم خصوصی کاربر محافظت میکند.
به قلم آرش رضایی
این خبر را به اشتراک بگذارید
- توسعهدهندگان WebAI
- مدافع انتقال استنتاج به لبه شبکه برای کاهش تاخیر، حذف هزینههای API و تضمین حریم خصوصی کاربر هستند.
- نهادهای استاندارد وب
- بر استانداردسازی دسترسی به GPU در پلتفرمهای مختلف و در عین حال کاهش خطرات امنیتی و حافظه تمرکز دارند.
- نگهدارندگان متنباز
- ماژولار بودن و کنترل نسخه را در اولویت قرار میدهند تا اطمینان حاصل کنند مشارکتهای جامعه کاربری برنامههای موجود را از کار نمیاندازد.
دیدگاههایی که این گزارش پوشش نداده
- کاربران نهایی با سختافزار ضعیف
- توسعهدهندگان مرورگرهای موبایل
یک مرورگر دسکتاپ مدل هوش مصنوعی را با دانلود دنبالهای از سایهزنهای محاسباتی بهینهشده - که کرنل (Kernel) نامیده میشوند - و کامپایل مستقیم آنها روی سختافزار گرافیکی کاربر، به صورت محلی اجرا میکند. مرورگر با دور زدن رشته اصلی جاوااسکریپت و ترجمه عملیاتی مانند ضرب ماتریس به زبان سایهزن وبجیپییو (WGSL)، از یک نمایشگر ساده اسناد به یک محیط اجرای هوش مصنوعی شتابیافته با سختافزار تبدیل میشود.[4]
در ۱ سپتامبر ۲۰۲۶، هاگینگ فیس (Hugging Face) کتابخانه جاوااسکریپت `@huggingface/kernels` را برای بارگذاری و اجرای این عملیات منتشر کرد. مجموعه اولیه شامل ۲۰۷ کرنل WebGPU با مجوز Apache-2.0 است که ریاضیات بنیادی پسزمینه یادگیری ماشین مدرن، مانند سافتمکس (softmax)، نرمالسازی لایه و جمع عنصر به عنصر را پوشش میدهد.[1][5]
اکنون توسعهدهندگان به جای تکیه بر یک محیط اجرای یکپارچه یا یک سرور راه دور، میتوانند عملیاتهای نسخهبندیشده و خودتوصیفگر را مستقیماً از هاب هاگینگ فیس دریافت کنند. تیم WebAI هاگینگ فیس در این باره میگوید: «این ساختار، یک سایهزن را به یک مصنوع نرمافزاری قابل استفاده مجدد تبدیل میکند» و به توسعهدهندگان اجازه میدهد تا رابطها را بدون نیاز به خواندن کدهای خام WGSL بررسی کنند.[1]
این سازوکار بر پایه WebGPU استوار است؛ یک رابط برنامهنویسی کاربردی (API) که توانمندیهای محاسباتی خام واحد پردازش گرافیکی (GPU) دستگاه را در اختیار برنامههای تحت وب قرار میدهد. رابط WebGPU که به عنوان جانشین WebGL طراحی شده است، به شکل کارآمدی با APIهای گرافیکی بومی مدرن مانند Vulkan، Metal و Direct3D 12 نگاشت میشود و پشتیبانی درجهیکی را برای محاسبات همهمنظوره، فراتر از صرفاً رندر کردن تصاویر، ارائه میدهد.[2][3][6]
وقتی کاربر درخواستی را در یک برنامه هوش مصنوعی مبتنی بر مرورگر تایپ میکند، متن به شناسههای توکن و سپس به نمایشهای برداری تبدیل میشود. برای پردازش این بردارها، مدل باید میلیاردها محاسبه انجام دهد. یک کرنل در واقع یک کار منفرد و به شدت بهینهشده برای پردازنده گرافیکی است؛ مانند ضرب دو ماتریس در یکدیگر.[4]
یک مدل زبانی کامل، هزاران مورد از این کرنلها را به هم زنجیر میکند تا یک پاسخ تولید کند. از نظر تاریخی، اجرای این عملیات نیازمند نصب محیطهای بومی پایتون، دانلود فریمورکهای عظیم یا ارسال دادههای کاربر به یک API ابری بود.[4]
استنتاج ابری در هر تعامل صدها میلیثانیه تاخیر شبکه ایجاد میکند و کاربر را مجبور میسازد دادههای خود را واگذار کند. رویکرد مبتنی بر کرنل WebGPU، رفتوبرگشت در شبکه را به طور کامل حذف میکند. مرورگر قالبهای WGSL را دریافت کرده و کتابخانه آنها را به صورت پویا بر اساس قابلیتهای سختافزاری خاص دستگاه کاربر کامپایل میکند.[1][2][4]
شواهد عملکردی از نسخه اولیه، نشاندهنده افزایش سرعت چشمگیری نسبت به روشهای موجود استنتاج مبتنی بر وب است. هاگینگ فیس این ۲۰۷ کرنل را در برابر پیادهسازی ONNX Runtime Web در ۸۰۹ مورد آزمایشی روی پردازنده گرافیکی Apple M4 بنچمارک کرد.[1]
شواهد عملکردی از نسخه اولیه، نشاندهنده افزایش سرعت چشمگیری نسبت به روشهای موجود استنتاج مبتنی بر وب است.
نتایج نشاندهنده افزایش سرعت ۲.۵۷ برابری در میانگین هندسی و بهبود ۱.۹۰ برابری در میانه بود. در عملیاتهای خاص، این دستاوردها حتی بزرگتر بودند: جمع عنصر به عنصر ۳.۵۲ برابر و نرمالسازی لایه ۲.۲۲ برابر سریعتر اجرا شدند.[1]
در موارد استثنایی و مجزا، مانند انقباض دوخطی پیچیده، پیادهسازیهای تخصصی سایهزن بیش از ۱۰,۰۰۰ برابر بهتر از روشهای جایگزین عمومی عمل کردند. با این حال، این بنچمارکها تنها زمان اجرای GPU را اندازه میگیرند و سربار بارگذاری مدل، کامپایل سایهزنها و انتقال دادهها بین حافظه سیستم و GPU را در نظر نمیگیرند.[1][4]
برای کارهای محاسباتی بسیار کوچک، آمادهسازی و انتقال داده میتواند زمان بیشتری نسبت به خود عملیات ریاضی ببرد. یک کرنل سریع نمیتواند تاخیر جابجایی دادهها در گذرگاه سیستم را از بین ببرد؛ به این معنی که توسعهدهندگان باید اطمینان حاصل کنند که عملیات به اندازه کافی بزرگ است تا رفتوبرگشت به GPU را توجیه کند.[4]
برای مقابله با تنوع گسترده در سختافزار مصرفکنندگان - از گرافیکهای یکپارچه لپتاپ گرفته تا پردازندههای گرافیکی مجزای دسکتاپ - هاگینگ فیس ابزار Fleet را نیز راهاندازی کرد. ابزار Fleet یک مجموعه بنچمارک درونمرورگری است که دادههای مربوط به صحت و عملکرد را از دستگاههای واقعی در دنیای بیرون جمعسپاری میکند.[1]
در صورت رضایت کاربر، Fleet بنچمارکهای کرنل را روی پردازنده گرافیکی محلی آنها اجرا کرده و نتایج را به صورت ناشناس ارسال میکند. این شواهد جمعسپاریشده به مهندسان اجازه میدهد تا گلوگاههای خاص هر دستگاه را شناسایی کرده و منطق انتخاب نسخه مناسب کرنل برای اجرا روی یک ماشین خاص را بهبود بخشند.[1]
معماری کتابخانه `@huggingface/kernels` عملیات ریاضی را از هرگونه وابستگی به محیط اجرای خاص جدا میکند. هر یک از ۲۰۷ کرنل به عنوان یک مخزن مستقل منتشر میشود که شامل یک مانیفست استاندارد، تستهای صحت و اسکریپتهای بنچمارک است.[1][5]
این ماژولار بودن به این معناست که فریمورکهای سطح بالاتر میتوانند به یک قرارداد پایدار جاوااسکریپت تکیه کنند، در حالی که پیادهسازیهای زیرین سایهزن به طور مستقل تکامل مییابند. توسعهدهندگان میتوانند عملیات خاص را با شناسه مخزن و نسخه قرارداد دریافت کنند و مطمئن باشند که با بهروزرسانی یک کرنل، برنامه از کار نخواهد افتاد.[1]
حرکت به سمت استنتاج بومی مرورگر، نشاندهنده تغییر بنیادی در نحوه استقرار برنامههای هوش مصنوعی است. با انتقال محاسبات به لبه (Edge)، توسعهدهندگان میتوانند برنامههای ترکیبی بسازند که در آنها مراحل سریع و حساس به حریم خصوصی به صورت محلی اجرا میشوند، در حالی که وظایف سنگین و با زمینه طولانی به سرور واگذار میگردند.[4]
چالش مهندسی باقیمانده، مدیریت محدودیتهای سختگیرانه حافظه مرورگر و سطوح متفاوت پشتیبانی از WebGPU در سیستمعاملها و درایورهای گرافیکی مختلف است. قبل از بارگذاری یک کرنل، برنامه باید بررسی کند که رابط `navigator.gpu` روی دستگاه در دسترس باشد.[1][2][4]
اگر سختافزار پشتیبانی کند، مرورگر اکنون میتواند به عنوان یک محیط اجرای هوش مصنوعی کارآمد و حافظ حریم خصوصی عمل کند. انتشار این ۲۰۷ کرنل متنباز، بلوکهای سازنده سطح پایینی را فراهم میکند که برای عملی کردن این گذار در نرمافزارهای تجاری ضروری هستند.[4]
نکات کلیدی
- هاگینگ فیس (Hugging Face) ۲۰۷ کرنل متنباز WebGPU را برای امکانپذیر ساختن استنتاج محلی هوش مصنوعی مستقیماً در مرورگرهای دسکتاپ منتشر کرد.
- این کرنلها با دور زدن سرورهای راه دور، قالبهای زبان سایهزن WebGPU را مستقیماً روی سختافزار گرافیکی محلی کاربر کامپایل میکنند.
- بنچمارکهای انجامشده روی پردازنده گرافیکی Apple M4 نشاندهنده افزایش سرعت ۲.۵۷ برابری (میانگین هندسی) نسبت به روشهای موجود استنتاج مبتنی بر وب است.
- ابزار بنچمارک جدیدی به نام Fleet با جمعسپاری دادههای عملکردی، بهینهسازی کرنلها را در سختافزارهای متنوع کاربران امکانپذیر میکند.
اصطلاحات کلیدی
- WebGPU
- یک API مدرن وب که به مرورگرها اجازه میدهد برای محاسبات همهمنظوره، مستقیماً به کارت گرافیک دستگاه دسترسی پیدا کرده و از آن استفاده کنند.
- Kernel
- یک برنامه سطح پایین و به شدت بهینهشده که برای اجرای یک عملیات ریاضی خاص، مانند ضرب ماتریس، روی پردازنده گرافیکی طراحی شده است.
- WGSL
- زبان سایهزن WebGPU؛ زبان برنامهنویسی که برای نوشتن سایهزنهای محاسباتی قابل اجرا روی سختافزار گرافیکی استفاده میشود.
- Inference
- فرآیند اجرای دادههای زنده از طریق یک مدل آموزشدیده یادگیری ماشین برای تولید یک خروجی یا پیشبینی.
منابع
[1]Hugging Face Blogتوسعهدهندگان WebAIIntroducing @huggingface/kernels: 200+ WebGPU Kernels for Local AI
مطالعه در Hugging Face Blog →
[2]MDN Web Docsنهادهای استاندارد وبWebGPU API
مطالعه در MDN Web Docs →
[3]W3Cنهادهای استاندارد وبWebGPU
مطالعه در W3C →
[4]تیم سردبیری کوهستانتوسعهدهندگان WebAIتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
[5]GitHubنگهدارندگان متنبازhuggingface/kernels
مطالعه در GitHub →
[6]Wikipediaنهادهای استاندارد وبWebGPU
مطالعه در Wikipedia →
نظرات
هر زاویه. هر روز.
دریافت هوش مصنوعی اخبار همراه با پوشش کامل منابع و تحلیل دیدگاهها، مستقیم در صندوق ورودی شما.
