پژوهشگران دانشگاه برکلی (UC Berkeley) و دانشگاه MIT موتور استنتاج متنباز جدیدی به نام FreeToken معرفی کردهاند که هدف آن پر کردن شکاف میان مدلهای پیشرفته مبتنی بر معماری مخلوطی از متخصصان (Mixture-of-Experts یا MoE) و سختافزارهای رده مصرفکننده (Consumer-grade) است. این پروژه که با همکاری بنیانگذاران دیتابریکس (Databricks) از جمله ماتی زاهاریا (Matei Zaharia) و یون استویکا (Ion Stoica) توسعه یافته، رویکرد پردازش لبهای (Edge AI) را از نگاه به سیستمهای شخصی به عنوان گرههای محدود دیتاسنتر، به مدیریت آنها به عنوان بسترهای محاسباتی ناهمگن و انعطافپذیر تغییر میدهد.
چالشهای اجرای مدلهای MoE روی سختافزار معمولی
اگرچه معماریهای MoE در هر توکن تنها بخش کوچکی از کل پارامترها را محاسبه میکنند، اما فرآیند رمزگشایی (Decoding) نیازمند مسیریابی در میان صدها میلیارد وزن غیرفعال است. در محیطهای دیتاسنتر، اتصالات با پهنای باند بالا مانند NVLink تاخیر انتقال این وزنها را پنهان میکنند. اما در سختافزارهای معمولی، پهنای باند گذرگاه PCIe (معمولاً ۱۶ تا ۶۴ گیگابایت بر ثانیه) و تاخیر رم سیستم (RAM) گلوگاههای شدیدی در فرآیند رمزگشایی ایجاد میکنند. موتورهای اجرای فعلی معمولاً از روش انتقال ایستا (Static Offloading) استفاده میکنند که در آن وزنهای غیرفعال در رم سیستم باقی میمانند و هنگام فعالسازی به صورت همزمان به پردازنده گرافیکی (GPU) فرستاده میشوند؛ امری که در صورت بروز خطای حافظه پنهان (Cache Miss)، اجرای مدل را کاملاً متوقف میکند.
راهکار FreeToken: سیاست زمانبندی q* و مدیریت پویای حافظه
برای حل این مشکل، FreeToken روش انتقال سختافزاری ایستا را با یک فرمول زمانبندی مشترک و پویا به نام «سیاست q*» جایگزین کرده است. این سیستم به جای متوقف کردن GPU در زمان خطای حافظه پنهان، محاسبات توکنها را بر اساس پهنای باند لحظهای اتصال، بین هستههای CPU و هستههای تنسور GPU تقسیم میکند. علاوه بر این، FreeToken از یک فرمت وزن سریع (FTW) همراه با بافر دوگانه کامل لایهها استفاده میکند که اجازه میدهد انتقال وزنها از طریق PCIe به طور کامل با لایههای محاسباتی فعال همپوشانی داشته باشد. یک مدیریتکننده حافظه انعطافپذیر نیز به طور پویا حافظه ویدئویی (VRAM) را بین ورودیهای KV Cache و بخشهای فعال مدل تقسیم میکند، بدون اینکه نیازی به بارگذاری مجدد مدل باشد.
همچنین در دستیارهای برنامهنویسی مدرن و عاملهای خودکار (Autonomous Agents)، تغییرات مکرر در پرامپتها و پاسخها باعث تغییر مداوم پنجره زمینه (Context Window) میشود. موتورهای استاندارد معمولاً در صورت تغییر پرامپت، کل حافظه موقت KV Cache را پاک کرده و محاسبات را از اول شروع میکنند. FreeToken با ادغام قابلیت «نشانهگذاری لنگر معنایی» (Semantic Anchor Checkpointing)، حالتهای توجه میانی را در مرزهای منطقی وظایف ذخیره میکند تا در صورت ویرایش پرامپت، به جای محاسبه مجدد، از حالتهای ذخیرهشده قبلی استفاده شود.
مقایسه عملکرد با سایر ابزارها
معماری FreeToken تفاوتهای آشکاری با سایر موتورهای اجرای موجود دارد:
- Ollama و llama.cpp: این ابزارها برای کوانتیزاسیون GGUF بهینهسازی شدهاند اما فاقد قابلیت تقسیم پویای بار پردازشی برای مدلهای MoE بین پردازنده اصلی و گرافیکی هستند. FreeToken در مدلهای مشابه MoE تا ۳ الی ۴ برابر سرعت رمزگشایی (Decode) بیشتر و ۶ الی ۳۰ برابر سرعت پیشپردازش (Prefill) بالاتری ارائه میدهد.
- vLLM و SGLang: این ابزارها برای دیتاسنترها طراحی شدهاند و فرض را بر وجود پهنای باند بسیار بالا میگذارند، نه ساختارهای حافظه ناهمگن سختافزارهای معمولی.
- KTransformers: از قوانین انتقال ایستای CPU/GPU استفاده میکند، در حالی که FreeToken تقسیم بهینه را به صورت آنی و در لحظه محاسبه میکند.
نتایج بنچمارکها و دسترسی
بر اساس بنچمارکهای منتشر شده در مقاله این پروژه، FreeToken توانسته مدل Qwen3.6-35B را با سرعت تقریبی ۳۹ توکن بر ثانیه روی یک لپتاپ مجهز به کارت گرافیک RTX 4060 با ۸ گیگابایت حافظه اجرا کند. همچنین مدل غولپیکر DeepSeek-V4-Flash (با ۲۸۴ میلیارد پارامتر) روی یک سیستم دسکتاک با کارت گرافیک RTX 5090 و مدل GLM-5.2 (با ۷۵۳ میلیارد پارامتر) روی یک ایستگاه کاری تککارت با موفقیت اجرا شدهاند. ابزار خط فرمان (CLI) و نسخه دسکتاپ این موتور استنتاج از طریق وبسایت FlashML.ai و مخزن گیتهاب پروژه در دسترس است و از کارتهای گرافیک سری RTX 30، 40 و 50 انویدیا روی ویندوز و لینوکس پشتیبانی میکند.