چرا FreeToken توانسته مدلهای سنگین MoE را با سرعت خیرهکننده روی کارتهای گرافیک معمولی (مثل ۱۶ گیگابایت VRAM) اجرا کند؟
در مدلهای MoE، برای پردازش هر توکن فقط بخش کوچکی از شبکه (متخصصها یا Experts) درگیر میشوند. در حالت سنتی، اگر مدل داخل حافظه گرافیک جا نشود، سیستم مدام معطل جابهجایی وزنها از رم به گرافیک از طریق PCIe میماند و سرعت شدیداً افت میکند.
فریتوکن این مشکل را با یک معماری کش هوشمند حل کرده است:
نگهداری متخصصهای داغ در VRAM: بخشهایی از مدل که در متن مکرراً فراخوانی میشوند، داخل حافظه پرسرعت کارت گرافیک میمانند.
تقسیم هوشمند بار در صورت غیبت متخصص (Cache Miss): اگر متخصصی در گرافیک نباشد، سیستم متوقف نمیشود؛ بلکه کار همزمان بین سختافزارها تقسیم میشود: بخشی سریعاً روی پردازنده (CPU) و داخل رم سیستم اجرا میشود و بخش دیگر به گرافیک منتقل میشود تا هیچ قطعهای معطل دیگری نماند.
اضافه شدن این مکانیسم به llama.cpp یک جهش بزرگ برای هوش مصنوعی لوکال است؛ چون رم ارزان کامپیوتر به یک امتداد واقعی برای VRAM تبدیل میشود و دیگر نیازی به خرید کارتهای فوقگرانقیمت سروری برای اجرای روان مدلهای غولپیکر نخواهد بود.
https://github.com/FlashML-org/FreeToken
@DevTwitter | <Legendary Coder/>
Post #13135
5.71K
- ❤ 16
- 👍 7
- 🍌 5