یک پروژه منبع باز یک مدل زبان 28.9 میلیون پارامتری را روی یک میکروکنترلر با قیمت حدود 8 دلار فشرده کرده است و متن را به طور کامل روی تراشه با تقریباً 9 توکن در ثانیه و بدون اتصال به شبکه تولید می کند. این نمایش که در GitHub منتشر شده و به سرعت از صفحه اول Hacker News بالا می رود، نشان می دهد که مرز هوش مصنوعی کوچک و محلی در مدت کوتاهی تا چه حد پیش رفته است.

کار بر روی ESP32-S3 متمرکز است، یک تراشه تعبیه شده ارزان که در میان علاقه مندان و سازندگان سخت افزار محبوبیت دارد. اجرای یک مدل 28.9 میلیون پارامتری بر روی چنین قطعه کوچکی از سیلیکون چندی پیش غیرممکن به نظر می رسید و این پروژه تصویر واضحی از فشار گسترده تر به سمت هوش مصنوعی روی دستگاه است که ما در [پوشش صنعت هوش مصنوعی] روزانه خود دنبال می کنیم (https://aibuzzwire.news). جایی که زمانی ابر برای هر مدل زبان واقعی اجباری احساس می‌شد، سیستم‌های توانمندتر خانه‌هایی را در لبه پیدا می‌کنند.

اعداد پشت ساخت

این پروژه مشخصات خود را به طور واضح بیان می کند. این مدل 28.9 میلیون پارامتر را ذخیره می کند که حدود 25 میلیون آن در جدول جستجوی فلش قرار دارند. این دستگاه بر روی تراشه ESP32-S3 با 512 کیلوبایت SRAM سریع، 8 مگابایت PSRAM و 16 مگابایت حافظه فلش اجرا می شود. در عمل به 9.5 توکن در ثانیه پایان به انتها، یا 9.7 توکن در ثانیه محاسبات خالص می رسد، و کل مدل زمانی که با دقت 4 بیتی ذخیره می شود، تنها 14.9 مگابایت اشغال می کند.

قابل توجه ترین مقایسه ای است که نویسنده با کارهای قبلی انجام می دهد. آخرین مدل زبان شناخته شده برای اجرا بر روی یک تراشه در این کلاس تنها 260000 پارامتر را در خود جای داده است. ساخت جدید تقریباً صد برابر بیشتر نگه می‌دارد، جهشی که نه از یک تراشه بزرگتر بلکه از بازاندیشی در جایی که داده‌های مدل واقعاً زندگی می‌کنند ناشی می‌شود.

یک ترفند حافظه وام گرفته شده از Gemma

مشکل اصلی این است که یک میکروکنترلر تقریبا هیچ حافظه سریعی ندارد. ESP32-S3 فقط 512 کیلوبایت SRAM ارائه می‌کند، و معمولاً کل مدل باید از آنجا قابل دسترسی باشد، به همین دلیل است که تلاش‌های قبلی روی چند صد هزار پارامتر گیر کرده بودند.

راه حل بر یک مشاهده ساده استوار است. بیشتر پارامترهای یک مدل زبان در یک جدول جاسازی قرار دارند که مدل به جای محاسبه روی آن، از آن می خواند. بنابراین، به جای اینکه این جدول عظیم 25 میلیون ردیفی را به حافظه سریع کمیاب تبدیل کند، پروژه آن را در حافظه فلش آهسته رها می کند و تنها تعداد انگشت شماری از ردیف هایی که هر توکن واقعاً به آن نیاز دارد، حدود 450 بایت در هر بار می کشد. بخش کوچکی از مدل که محاسبات واقعی را انجام می‌دهد در حافظه سریع باقی می‌ماند، در حالی که بخش عمده وزنه‌ها به سادگی در فلش منتظر می‌مانند و هر بار نمونه‌برداری می‌شوند.

این تکنیک به عنوان جاسازی در هر لایه شناخته می‌شود و از مدل‌های Gemma گوگل، به‌ویژه Gemma 3n و Gemma 4 سرچشمه گرفته است، جایی که برای تلفن‌ها و پردازنده‌های گرافیکی طراحی شده است. به گفته نویسنده پروژه، هیچ کس قبلاً این رویکرد را روی تراشه ای به این کوچکی امتحان نکرده بود.

چه کاری می تواند انجام دهد و چه چیزی نمی تواند

این مدل در TinyStories، مجموعه‌ای از داستان‌های ساده کودکان، آموزش داده شده است، بنابراین توانایی‌های آن عمدا محدود است. داستان‌های کوتاه و عمدتاً منسجمی می‌نویسد، اما به سؤالات واقعی پاسخ نمی‌دهد، دستورالعمل‌های پیچیده را دنبال نمی‌کند، کد می‌نویسد یا دلیلی در مورد جهان ندارد. نویسنده صریح است که این محدودیت از بخش استدلال کوچک مدل ناشی می شود و ترفند حافظه آن را تغییر نمی دهد.

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

چرا هوش مصنوعی روی دستگاه مهم است

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

همچنین به آینده‌ای اشاره می‌کند که در آن مدل‌های کوچک و تخصصی به جای تمرکز بر تعداد انگشت شماری از مراکز داده غول‌پیکر، در بین میلیاردها دستگاه تعبیه‌شده ارزان توزیع می‌شوند. فشارهای مشابهی که باعث علاقه به هوش مصنوعی محلی در لپ‌تاپ‌ها و تلفن‌ها می‌شود، یعنی تأخیر کمتر، هزینه کمتر و حفظ حریم خصوصی قوی‌تر، در مقیاس میکروکنترلر با شدت بیشتری اعمال می‌شود.

یک دعوت باز برای سرهم بندی

این پروژه تحت مجوز مجاز MIT منتشر شده است و نویسنده کد کامل را به همراه مستندات دقیق و نتایج معیار در GitHub به اشتراک گذاشته است. این باز بودن به این معنی است که دیگر توسعه‌دهندگان سخت‌افزار می‌توانند رویکرد را مطالعه کنند، آن را با تراشه‌های دیگر تطبیق دهند، یا تعداد پارامترها را حتی بالاتر ببرند.

این اثر که تحت عنوان slvDev منتشر شد، به شدت در جامعه توسعه‌دهندگان طنین‌انداز شد، صدها رأی موافق در Hacker News جمع‌آوری کرد و بحث‌هایی را در مورد اینکه این تکنیک ممکن است در آینده حرکت کند، برانگیخت. اگر این روند ادامه داشته باشد، خط بین یک «مدل زبان» و یک نرم‌افزار معمولی تعبیه‌شده بسیار مبهم‌تر می‌شود.

از هوش مصنوعی جلوتر بمانید

از تراشه‌های 8 دلاری گرفته تا مراکز داده میلیارد دلاری، این سؤال که هوش مصنوعی در کجا اجرا می‌شود به همان اندازه مهم می‌شود که هوش مصنوعی چه کاری می‌تواند انجام دهد. لایه سخت‌افزاری سریع‌تر از آنچه بیشتر مردم تصور می‌کنند در حال تکامل است، و پروژه‌هایی که امروزه شبیه کنجکاوی هستند، اغلب جریان اصلی فردا را تعریف می‌کنند. [اخبار هوش مصنوعی را در AI Buzz Wire بخوانید] (https://aibuzzwire.news) تا هر پیشرفتی را در محاسبات لبه، کارایی مدل و هوشمندی روی دستگاه دنبال کنید.

با انقلاب سخت افزاری هوش مصنوعی همراه باشید — به AI Buzz Wire مراجعه کنید