رفتن به محتوای اصلی
Koohestun
توضیح کوهستاناستنتاج در مرورگرتوضیح فنی· 5 دقیقه مطالعه

چگونه ۲۰۷ کرنل متن‌باز WebGPU مرورگر دسکتاپ را به موتور استنتاج محلی هوش مصنوعی تبدیل می‌کنند

لایه پایه‌ای جدیدی از عملیات WebGPU به مدل‌های زبانی بزرگ اجازه می‌دهد تا به طور کامل روی سخت‌افزار محلی کاربر و از طریق مرورگر اجرا شوند؛ سازوکاری که نیاز به رفت‌وبرگشت داده‌ها به سرور را از بین برده و از حریم خصوصی کاربر محافظت می‌کند.

به قلم آرش رضایی

توسعه‌دهندگان WebAI 40%نهادهای استاندارد وب 35%نگهدارندگان متن‌باز 25%
توسعه‌دهندگان 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]

مسیر اجرای یک کرنل WebGPU در داخل یک مرورگر مدرن.

وقتی کاربر درخواستی را در یک برنامه هوش مصنوعی مبتنی بر مرورگر تایپ می‌کند، متن به شناسه‌های توکن و سپس به نمایش‌های برداری تبدیل می‌شود. برای پردازش این بردارها، مدل باید میلیاردها محاسبه انجام دهد. یک کرنل در واقع یک کار منفرد و به شدت بهینه‌شده برای پردازنده گرافیکی است؛ مانند ضرب دو ماتریس در یکدیگر.[4]

یک مدل زبانی کامل، هزاران مورد از این کرنل‌ها را به هم زنجیر می‌کند تا یک پاسخ تولید کند. از نظر تاریخی، اجرای این عملیات نیازمند نصب محیط‌های بومی پایتون، دانلود فریم‌ورک‌های عظیم یا ارسال داده‌های کاربر به یک API ابری بود.[4]

استنتاج ابری در هر تعامل صدها میلی‌ثانیه تاخیر شبکه ایجاد می‌کند و کاربر را مجبور می‌سازد داده‌های خود را واگذار کند. رویکرد مبتنی بر کرنل WebGPU، رفت‌وبرگشت در شبکه را به طور کامل حذف می‌کند. مرورگر قالب‌های WGSL را دریافت کرده و کتابخانه آن‌ها را به صورت پویا بر اساس قابلیت‌های سخت‌افزاری خاص دستگاه کاربر کامپایل می‌کند.[1][2][4]

شواهد عملکردی از نسخه اولیه، نشان‌دهنده افزایش سرعت چشمگیری نسبت به روش‌های موجود استنتاج مبتنی بر وب است. هاگینگ فیس این ۲۰۷ کرنل را در برابر پیاده‌سازی ONNX Runtime Web در ۸۰۹ مورد آزمایشی روی پردازنده گرافیکی Apple M4 بنچمارک کرد.[1]

شواهد عملکردی از نسخه اولیه، نشان‌دهنده افزایش سرعت چشمگیری نسبت به روش‌های موجود استنتاج مبتنی بر وب است.

نتایج نشان‌دهنده افزایش سرعت ۲.۵۷ برابری در میانگین هندسی و بهبود ۱.۹۰ برابری در میانه بود. در عملیات‌های خاص، این دستاوردها حتی بزرگ‌تر بودند: جمع عنصر به عنصر ۳.۵۲ برابر و نرمال‌سازی لایه ۲.۲۲ برابر سریع‌تر اجرا شدند.[1]

بنچمارک‌های عملکرد کرنل‌های جدید WebGPU در مقایسه با روش‌های موجود استنتاج مبتنی بر وب.

در موارد استثنایی و مجزا، مانند انقباض دوخطی پیچیده، پیاده‌سازی‌های تخصصی سایه‌زن بیش از ۱۰,۰۰۰ برابر بهتر از روش‌های جایگزین عمومی عمل کردند. با این حال، این بنچمارک‌ها تنها زمان اجرای 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]

نکات کلیدی

  1. هاگینگ فیس (Hugging Face) ۲۰۷ کرنل متن‌باز WebGPU را برای امکان‌پذیر ساختن استنتاج محلی هوش مصنوعی مستقیماً در مرورگرهای دسکتاپ منتشر کرد.
  2. این کرنل‌ها با دور زدن سرورهای راه دور، قالب‌های زبان سایه‌زن WebGPU را مستقیماً روی سخت‌افزار گرافیکی محلی کاربر کامپایل می‌کنند.
  3. بنچمارک‌های انجام‌شده روی پردازنده گرافیکی Apple M4 نشان‌دهنده افزایش سرعت ۲.۵۷ برابری (میانگین هندسی) نسبت به روش‌های موجود استنتاج مبتنی بر وب است.
  4. ابزار بنچمارک جدیدی به نام Fleet با جمع‌سپاری داده‌های عملکردی، بهینه‌سازی کرنل‌ها را در سخت‌افزارهای متنوع کاربران امکان‌پذیر می‌کند.

اصطلاحات کلیدی

WebGPU
یک API مدرن وب که به مرورگرها اجازه می‌دهد برای محاسبات همه‌منظوره، مستقیماً به کارت گرافیک دستگاه دسترسی پیدا کرده و از آن استفاده کنند.
Kernel
یک برنامه سطح پایین و به شدت بهینه‌شده که برای اجرای یک عملیات ریاضی خاص، مانند ضرب ماتریس، روی پردازنده گرافیکی طراحی شده است.
WGSL
زبان سایه‌زن WebGPU؛ زبان برنامه‌نویسی که برای نوشتن سایه‌زن‌های محاسباتی قابل اجرا روی سخت‌افزار گرافیکی استفاده می‌شود.
Inference
فرآیند اجرای داده‌های زنده از طریق یک مدل آموزش‌دیده یادگیری ماشین برای تولید یک خروجی یا پیش‌بینی.

منابع

پوشش منابع

6 منبع

3 دیدگاه شناسایی‌شده

توسعه‌دهندگان WebAI 40%نهادهای استاندارد وب 35%نگهدارندگان متن‌باز 25%
  1. [1]Hugging Face Blogتوسعه‌دهندگان WebAI

    Introducing @huggingface/kernels: 200+ WebGPU Kernels for Local AI

    مطالعه در Hugging Face Blog
  2. [2]MDN Web Docsنهادهای استاندارد وب

    WebGPU API

    مطالعه در MDN Web Docs
  3. [3]W3Cنهادهای استاندارد وب

    WebGPU

    مطالعه در W3C
  4. [4]تیم سردبیری کوهستانتوسعه‌دهندگان WebAI

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان
  5. [5]GitHubنگهدارندگان متن‌باز

    huggingface/kernels

    مطالعه در GitHub
  6. [6]Wikipediaنهادهای استاندارد وب

    WebGPU

    مطالعه در Wikipedia

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

دریافت هوش مصنوعی اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.