تصور کنید یک مدل زبانی غولپیکر را که برای اجرا به سختافزارهای گرانقیمت نیاز دارد، روی یک مکبوک ایر ساده و ارزانقیمت اجرا کنید. این دیگر یک تخیل نیست؛ حالا میتوانید مدل ۲۶ میلیارد پارامتری Gemma 4 را با تنها ۲ گیگابایت رم فعال داشته باشید. در ۲۹ ژوئیه ۲۰۲۶، مهندسی به نام اندری میخایلوف (Andrey Mikhaylov) موتور استنتاج تخصصی TurboFieldfare را منتشر کرد. طبق اعلام وی، این موتور برای دور زدن هزینههای سنگین حافظه در مدلهای بزرگ روی تراشههای اپل طراحی شده است.
اجرای مدلهای عظیم معمولاً نیازمند سختافزارهای گرانقیمتی است که دارای حافظه یکپارچه (Unified Memory) با ظرفیت بالا باشند. برای اکثر کاربران، رم ۸ گیگابایتی یک سد سخت و غیرقابل عبور است که مانع از استفاده از مدلهایی با بیش از ۷ یا ۸ میلیارد پارامتر میشود. TurboFieldfare این سد را با تعریف مجدد SSD به عنوان افزونهای برای ردپای حافظه فعال میشکند. از آنجایی که حافظه رم گران است، میخایلوف بودجهای تنها ۲ گیگابایتی را برای یک مدل ۲۶ میلیارد پارامتری در نظر گرفته است. این رویکرد یادآور تلاشهای متعهدانه برای اجرای مدلهای فوقعظیم است، درست مانند پروژه Colibrì که مدل ۷۴۴ میلیارد پارامتری را با ۲۵ گیگابایت رم به اجرا درآورد.
مدل زبانی بزرگ (LLM) — شبیه کتابخانهداری است که میلیاردها صفحه را خوانده و حالا با همان لحن کتابها جواب میدهد — معمولاً تمام وزنهای خود را در رم بارگذاری میکند. اما همانطور که در تحلیلهای پیشین ما دربارهی بهینهسازی مدلهای محلی اشاره کردیم، گلوگاه اصلی همیشه مدیریت حافظه بوده است. TurboFieldfare با رویکردی متفاوت، به جای بارگذاری کامل مدل، فقط بخشهای مورد نیاز را فراخوانی میکند.
بر اساس مستندات رسمی در مخزن گیتهاب، این سیستم از بارگذاری کامل ۱۴.۳ گیگابایت وزنهای مدل Gemma 4 26B-A4B در رم خودداری میکند. در عوض، یک هسته کوچک ۱.۳۵ گیگابایتی و یک KV Cache (حافظه کلید-مقدار) با دقت FP16 را در حافظه نگه میدارد و تنها «خبرههای» (Experts) مورد نیاز برای تولید هر توکن را از دیسک استریم میکند. این یک پیادهسازی هدفمند برای معماری ترکیب خبرهها (Mixture of Experts یا MoE) است، به ویژه برای نسخه Gemma 4 26B که برای دستورات (instruction-tuned) بهینه شده است.
الزامات سیستم و بستر اجرا
TurboFieldfare یک لایه جانبی یا Wrapper روی چارچوبهای موجود مثل MLX یا llama.cpp نیست. این ابزار در واقع یک محیط اجرای (Runtime) مدل-محور است که کاملاً با زبان Swift و Metal نوشته شده است. این پروژه یک تلاش پژوهشی مستقل است و هیچ ارتباطی با گوگل ندارد و توسط این شرکت حمایت یا تأیید نشده است.
برای اجرای این موتور، داشتن مک با تراشه اپل (Apple Silicon) ضروری است. هدف اصلی و تأیید شده برای آزمایشها، مکبوک ایر M2 با ۸ گیگابایت رم بوده است. از نظر نرمافزاری، کاربر به macOS 26 همراه با Metal 4 و Xcode 26 با Swift 6.2 یا نسخههای جدیدتر نیاز دارد. این بسته تنها برای معماری arm64 ساخته شده و نسخههای قدیمیتر macOS یا Metal پشتیبانی نمیشوند. در همین راستا، تلاشهایی برای بهینهسازی سختافزاری در مک جریان دارد، مانند فریمورک Espresso که سرعت استنتاج ترنسفورمرها را با دسترسی مستقیم به ANE افزایش داد.
به نقل از توسعهدهنده، کاربران باید برای نصب اولیه مدل به اتصال اینترنت دسترسی داشته باشند و فضای ذخیرهسازی کافی برای نصب مدل ۱۴.۳ گیگابایتی فراهم کنند. به دلیل اینکه این یک فرآیند شدیداً مصرفکننده منابع است، توصیه میشود کاربران برنامههایی که حافظه زیادی اشغال میکنند را ببندند و پیش از شروع، وضعیت فشار حافظه را با دستور memory_pressure -Q بررسی کنند. اگر مقدار کمی حافظه آزاد گزارش شود، اجرای برنامه باید به زمان دیگری postponed (به تعویق) شود.
ابزارها و نحوه استقرار
این انتشار شامل مجموعهای جامع از ابزارها است تا فرآیند راهاندازی محلی بدون اصطکاک باشد. بسته Swift این پروژه ۶ محصول مجزا را ارائه میدهد:
- TurboFieldfare: کتابخانه اصلی Swift شامل محیط اجرا و هستههای Metal.
- TurboFieldfareMac: یک اپلیکیشن بومی SwiftUI/AppKit برای نصب و تولید متن. این برنامه از یک سرویس همتراز به نام
TurboFieldfareDecodeServiceبه عنوان مالک Metal و مدل محلی تکمرحلهای استفاده میکند. - TurboFieldfareServer: یک سرور آزمایشی سازگار با OpenAI که روی
http://127.0.0.1:8080/v1گوش میدهد. این سرور از Chat Completions، استریمینگ و استفاده مجدد از تک-پیشوند (single-prefix prompt reuse) پشتیبانی میکند. در این حالت، کلاینت باید هر فراخوانی ابزار (tool call) را تأیید و اجرا کند. - TurboFieldfareCLI: ابزاری برای خط فرمان جهت تکمیل متن خام و چتهای دستور-محور. این ابزار از پرچم
--messages-fileبرای چتهای فرمت JSON و پرچم--promptبرای متن خام بدون فرمت چت پشتیبانی میکند. - TurboFieldfareRepack: یک نصبکننده و تأییدکننده استریمینگ تخصصی.
- TurboFieldfareDecodeService: فایل اجرایی بکاند که توسط اپلیکیشن مک استفاده میشود.
معماری فنی و مدیریت حافظه
این محیط اجرا کاملاً با استفاده از Swift و Metal ساخته شده است تا با حذف واسطههای عمومی مثل llama.cpp یا MLX، سربار (Overhead) را به حداقل برساند. موتور از یک حافظه پنهان LFU (کمکاربردترینها) با ۱۶ خانه (slot) سفارشی برای مدیریت خبرههای مسیریابی شده استفاده میکند.
جزئیات فنی مدیریت وزنها و حافظه به شرح زیر است:
- کوانتش وزنها (Weight Quantization) — یعنی کاهش دقت اعداد برای اشغال فضای کمتر — در این مدل برای جاسازیها (embeddings)، توجه (attention) و خبرهها از وزنهای affine 4-bit MLX استفاده میکند. با این حال، یک مسیریاب (router) ۸ بیتی برای حفظ دقت در زمان انتخاب خبره به کار رفته است. وزنهای خبره مشترک (shared-expert) و خبره مسیریابی شده هر دو ۴ بیتی هستند.
- پارامترهای فعال: اگرچه تعداد کل پارامترها ۲۶ میلیارد است، اما برای تولید هر توکن تنها حدود ۳.۸۸ میلیارد پارامتر فعال میشوند.
- حلقه استریم: برای هر لایه ترنسفورمر، CPU با استفاده از شناسههای ۸ خبره برترِ مسیریاب، برنامهریزی فراخوانی حافظه را در مقابل حافظه پنهان LFU ۱۶ خانهای انجام میدهد. اگر خبرهای در حافظه نباشد، سیستم از فراخوانیهای موازی و محدود
preadبرای کشاندن آن خبره خاص به بافرهای قابل مشاهده توسط Metal استفاده میکند. - اجرای موازی: برای پنهان کردن تأخیر خواندن از SSD، Metal همزمان با اجرای آن خواندنها، شاخه خبره مشترک مقیم در حافظه را محاسبه میکند. خروجی نهایی ترکیبی از نتایج خبره مشترک و خبرههای مسیریابی شده است.
- KV Cache: سیستم از ذخیرهسازی FP16 KV با یک ذخیرهساز دایرهای محدود برای ۲۵ لایه پنجره لغزان (sliding-window) و ذخیرهساز خطی برای ۵ لایه توجه کامل (full-attention) استفاده میکند. همچنین از توجه رمزگشایی split-K/V دقیق با مسیرهای نرمال شده مجزا برای K و V بهره میبرد.
- مکانیزم پیشپُرکردن (Prefill) — مانند نگاه سریع نویسنده به سرفصل کتاب قبل از نوشتن یادداشت — از تکههایی (chunks) تا ۱۲۸ توکن استفاده میکند. این کار اجازه میدهد یک خبره فراخوانی شده به چندین سطر خدمت کند که زمان رسیدن به اولین توکن را کاهش داده و حافظه را محدود نگه میدارد.
بنچمارک و عملکرد
توان عملیاتی بسته به پهنای باند حافظه سختافزار، وضعیت page-cache و سرعت SSD به شدت تغییر میکند. نتایج اندازهگیری شده به عنوان یک نقطه مرجع هستند و لزوماً سقف عملکرد نیستند:
- مکبوک ایر M2 (۸ گیگابایت): سرعت رمزگشایی اندازهگیری شده بین ۵.۱ تا ۶.۳ توکن در ثانیه.
- مک پرو M5 (۲۴ گیگابایت): سرعت رمزگشایی اندازهگیری شده بین ۳۱ تا ۳۵ توکن در ثانیه.
برای تضمین قابلیت اطمینان، پروژه شامل یک سوابق آزمایش مدیریت شده است که ۱۰۳ نتیجه اندازهگیری شده را خلاصه میکند. این entries حسابرسی شده، مواردی چون هستهها (kernels)، حافظه پنهان، I/O، پیشپُرکردن و سرعت رمزگشایی را پوشش داده و هم بزرگترین پیروزیها و هم ایدههایی که در مرحله تأیید شکست خوردند را مستند کرده است.
نصب و کنترل کاربر
نصبکننده این ابزار از مشکل رایج اشغال دوبرابر فضای دیسک جلوگیری میکند. این سیستم هرگز مدل منبع (checkpoint) را به طور کامل materializes نمیکند. در عوض، محدودههای بایتی مورد نیاز را از یک ورژن پین شده در Hugging Face استریم کرده و مستقیماً در قالب .gturbo بازسازی (repack) میکند. این قانون حافظه محدود، حافظه موقت (scratch memory) را پایین نگه داشته و از ایجاد دومین نسخه کامل مدل روی دیسک جلوگیری میکند.
در این فرآیند حدود ۱۵ گیگابایت داده از طریق درخواستهای محدوده (range requests) Hugging Face منتقل میشود. پس از اتمام، نصب .gturbo حدود ۱۴.۳ گیگابایت فضا اشغال میکند. سیستم تنها زمانی اجازه بارگذاری میدهد که مانیفست و هشهای فایلها تأیید شده باشند. کاربران میتوانند نصب موجود را بدون بارگذاری مدل در حافظه، با استفاده از پرچم --verify-install در ابزار Repack تأیید کنند.
این نرمافزار فقط متن را پشتیبانی میکند و از تصاویر، صدا یا ویدیو پشتیبانی نمیکند. در حالی که سرور loopback اعلانهای ابزار (function-tool declarations) را میپذیرد و فراخوانیهای ابزار تولید شده توسط مدل را برمیگرداند، اپلیکیشن بومی و CLI ابزارها را اجرا نمیکنند؛ آنها فقط تولید فراخوانی ابزار را برای تأیید کلاینت مدیریت میکنند.
تنظیمات پیشفرض نمونهبرداری (sampling) شامل دمای ۰.۲، Top-K ۶۴ و Top-P ۰.۹۵ است. کاربران میتوانند دما را روی ۰ قرار دهند تا خروجی قطعی و Greedy (حریصانه) دریافت کنند. اپلیکیشن مک فرمت چت Gemma را به طور خودکار مدیریت میکند. در CLI، محدودیت پاسخ به طور پیشفرض ۱,۰۲۴ توکن از طریق --max-new است، در حالی که اپلیکیشن مک میتواند تا زمانی که پنجره بافت (context window) انتخاب شده پر شود، تولید متن کند.
گزینههای رایج تولید در CLI شامل --max-context ،--temperature ،--top-k ،--top-p ،--repetition-penalty ،--seed و رشتههای --stop است. برای حذف آمارهای زمانبندی در اسکریپتها، کاربران میتوانند از پرچم --quiet استفاده کنند.
مثالهای کاربردی
برای شروع، کاربران میتوانند مخزن را با git clone https://github.com/drumih/turbo-fieldfare.git دریافت کرده و با دستور swift build -c release آن را بسازند. اپلیکیشن بومی را میتوان سپس از مسیر .build/release/TurboFieldfareMac اجرا کرد.
برای کسانی که از CLI استفاده میکنند، یک چت دستور-محور را میتوان با یک آرایه JSON که از طریق --messages-file ارسال میشود، فعال کرد. به عنوان مثال، کاربر میتواند فایلی حاوی درخواستی برای توضیح chunked prefill ارائه دهد. برای تکمیل خام (raw completion)، پرچم --prompt برای مقایسههای تکرارپذیر و با دور زدن فرمت چت استفاده میشود. یک دستور نمونه برای یک تکمیل کوتاه و قطعی به این صورت است:swift run -c release TurboFieldfareCLI --model scratch/gemma4.gturbo --prompt "The capital of France is" --max-new 64 --temperature 0
افق آینده و محدوده پروژه
TurboFieldfare یک پروژه پژوهشی است که بر استنتاج فقطمتن از چکپوینت دستورات پین شده Gemma 4 26B-A4B تمرکز دارد. قابلیتهای فعلی شامل هستههای Metal سفارشی برای GEMV کوانتیزه شده، توجه، MoE، نرمالسازی، RoPE و نمونهبرداری است.
اهداف آینده عبارتند از:
- توسعه اپلیکیشنهای iPhone و iPad برای اندازهگیری سرعت استنتاج و حافظه روی سختافزار موبایل.
- بنچمارک کردن مکهای بیشتر با تراشه اپل، به ویژه مک مینی M4 پایه ۱۶ گیگابایتی و سایر مدلهای ۸ گیگابایتی.
این یک پروژه پژوهشی است و با گوگل وابسته نیست. کل فضای دیسک برای مدل نصب شده فقطمتن تقریباً ۱۴.۳ گیگابایت است که پیش از بارگذاری مدل از طریق هش مانیفست تأیید میشود.
از منظر فنی، TurboFieldfare گلوگاه هوش مصنوعی محلی را از «ظرفیت RAM» به «I/O دیسک SSD» و «هماهنگی CPU به GPU» منتقل میکند. با اثبات اینکه یک مدل ۲۶ میلیارد پارامتری میتواند روی یک ماشین ۸ گیگابایتی قابل استفاده باشد، این پروژه آیندهای را پیشنهاد میکند که در آن «تخلیه به دیسک» (disk-offloading) به یک ویژگی استاندارد برای LLMهای محلی تبدیل شود و به کاربران اجازه دهد بدون ارتقای سختافزاری، از مدلهای بسیار توانمندتر استفاده کنند. این رویکرد در مقیاسهای وسیعتر نیز آزمایش شده است، چنانکه ابزار DeltaFin موفق شد مدل ۲.۸ تریلیون پارامتری Kimi K3 را روی یک دستگاه مکبوک اجرا کند.
برای کاربر عادی مک، این بدان معناست که مدلی با استدلال بالا که معمولاً به یک تجهیزات استودیویی ۲ هزار دلاری نیاز دارد، حالا روی یک مکبوک ایر پایه اجرا میشود، به شرطی که سرعت پایینتر تولید متن را بپذیرند. این ابزار SSD را از یک دستگاه ذخیرهسازی ساده به یک لایه پویا در پشته استنتاج تبدیل میکند.
گام بعدی شما
- اگر مکبوک ۸ گیگابایتی دارید، مخزن گیتهاب TurboFieldfare را کلون کرده و سرعت استنتاج مدل ۲۶ میلیارد پارامتری را تجربه کنید.
- پیش از اجرا، حتماً با دستور
memory_pressure -Qفضای رم آزاد خود را بسنجید تا از کرش سیستم جلوگیری شود. - تنظیمات Temperature را روی ۰ قرار دهید تا بتوانید دقت استدلال مدل را در پاسخهای کوتاه بسنجید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است؛ برای درک اینکه چگونه پهنای باند حافظه در تراشههای جدید تغییر میکند، تحلیل ما درباره تفاوتهای M4 و M5 را بخوانید.




گفتگو