سوئیفتلت (Swiftlet) مدل غولپیکر Qwen در سطح ۸۰ میلیارد پارامتر را در مک جای میدهد: اوج مصرف حافظه تنها ۴.۳ گیگابایت است، آیفون ۱۷ هم میتواند مدل ۳۵ میلیارد پارامتری را به صورت بومی اجرا کند.

یک زمانرایانه (Runtime) مبتنی بر سوئیفت و متال (Swift + Metal) به نام سوئیفتلت (Swiftlet) در حال بازتعریف این موضوع است که «مدلهای بزرگ کجا میتوانند اجرا شوند». این ابزار بهطور ویژه برای خانواده مدلهای ترکیبی از متخصصان (MoE) یعنی Qwen3-Next و Qwen3.5/3.6 طراحی شده است. ایده اصلی بسیار هوشمندانه است: تنها هسته متراکم کوچکِ مدل در حافظه باقی میماند، در حالی که بخش بزرگتر — یعنی وزنهای متخصصِ مسیریابی (Routing Expert Weights) — معمولاً روی SSD قرار دارد و بر اساس نیاز به صورت جریانی (Streamed) فراخوانی میشود.
نتایج از روی اعداد و ارقام کاملاً واضح است. روی یک مک با تراشه M5، نسخه ۴ بیتی مدل Qwen3.6-35B-A3B فضایی معادل ۱۸ گیگابایت روی دیسک اشغال میکند اما اوج مصرف حافظه آن تنها ۲.۶ گیگابایت است و با سرعت ۷ تا ۱۱ توکن بر ثانیه رمزگشایی میکند؛ حتی چشمگیرتر از آن، نسخه ۴ بیتی مدل Qwen3-Next-80B-A3B است که ۴۲ گیگابایت روی دیسک فضا نیاز دارد اما اوج مصرف حافظه آن تنها به ۴.۳ گیگابایت میرسد و سرعتی برابر با ۴.۵ تا ۵ توکن بر ثانیه دارد. نسخه ۳۵ میلیارد پارامتری اکنون میتواند روی آیفون ۱۷ اجرا شود، با حدود ۲.۵ گیگابایت حافظه و سرعتی در حدود ۱ توکن بر ثانیه — به گفته توسعهدهندگان، این اولین باری است که چنین مدلی بدون اتصال به سرور و به صورت بومی روی یک گوشی اجرا میشود.
این پروژه به صورت کاملاً سرتاسری قابل استفاده است و هر دو مدل میتوانند خروجیهای تأییدشده و درستی تولید کنند. توسعهدهنده همچنین به یک معاوضه (Trade-off) اذعان میکند: هر توکن در واقع حدود ۳ میلیارد پارامتر را فعال میکند، بنابراین این مدلها در طول مکالمه و نگارش مانند مدلهای بزرگ رفتار میکنند، اما از نظر حافظه فکری و اطلاعاتی، همچنان مانند مدلهای کوچک عمل میکنند.
اصل کارکرد این ابزار در زمانبندی (Scheduling) دقیقِ آن نهفته است. هر لایه، هر توکن را به ۱۰ متخصص از میان ۵۱۲ متخصص (برای نسخه ۸۰ میلیارد پارامتری) یا ۸ متخصص از میان ۲۵۶ متخصص (برای نسخه ۳۵ میلیارد پارامتری) مسیریابی میکند. سوئیفتلت وزنهای متراکم — شامل توجه (Attention)، پیشبينيهای دلتانت (DeltaNet projections)، مسیریابها، متخصصان مشترک و بردارهای جاسازی (Embedding vectors) — را محکم در حافظه نگه میدارد که در حالت ۴ بیتی حدود ۱.۳ گیگابایت (برای نسخه ۳۵ بیتی) یا ۲.۵ گیگابایت (برای نسخه ۸۰ بیتی) فضا میگیرد. هزاران متخصص مسیریابی در بلوکهای دادهای با گام ثابت بستهبندی مجدد شده و در کانتینرهای .qpack ذخیره میشوند. برای فراخوانی یک متخصص، تنها به یک عملیات خواندن پیشفرض (pread) روی SSD نیاز است، نیازی به mmap نیست و به کش صفحه (Page cache) نیز آسیبی نمیزند. متخصصان محبوب با استفاده از استراتژی LFU (کمترین استفادهکنندگان قبلی) به همراه سنجش میزان تازگی در یک استخر محدود کش میشوند؛ نرخ برخورد (Hit rate) بین ۴۳ درصد تا ۷۰ درصد متغیر است و اندازه کش عملاً هیچ تأثیری روی سرعت ندارد، زیرا SSD اپل میتواند سربار مربوط به خطاهای کش (Misses) را به خوبی مدیریت کند.
کل فرآیند جلوگذر (Forward pass) با استفاده از سایدرهای کامپایلشدهی زمان اجرا (Runtime-compiled) روی متال اجرا میشود، بنابراین در طول ساخت نیازی به ابزارهای متال (Metal toolchain) نیست و همان کد میتواند مستقیماً روی iOS پیادهسازی شود. جالبتر اینکه ۷۵ درصد از لایهها از توجه خطی Gated DeltaNet با یک حالت چرخهای با اندازه ثابت استفاده میکنند؛ به این معنا که صرف نظر از طول زمینه (Context length)، هرگز حافظه نهان KV (KV cache) رو به رشدی ایجاد نمیشود — بار پنهان مکالمات متنی طولانی به آرامی برداشته میشود.
سوئیفتلت فقط یک اسباببازی خط فرمان نیست. این ابزار چهار هویت مختلف برای خود طراحی کرده است: به عنوان یک کتابخانه، SwiftletCore میتواند در هر برنامه macOS یا iOS جاسازی شود و قابلیتهای چت با خروجی افزایشی جریانی و ذخیره موقت مکالمات را فراهم کند؛ به عنوان یک ابزار خط فرمان، swiftlet chat و swiftlet generate اجرای محلی و بنچمارکگیری را مدیریت میکنند، در حالی که swiftlet-repack کانتینرها را مستقیماً از نقطههای بررسی (Checkpoints) مدل MLX میسازد و از از سرگیری دانلودها از هاگینگفیس (Hugging Face) پشتیبانی میکند. به عنوان یک سرور، swiftlet-server اینترفیسهای سازگار با چت-کامپلکشنز OpenAI (OpenAI-compatible chat-completions) را روی یک آدرس لوکبک فراهم میکند و به هر رابط چت سازگار با OpenAI اجازه میدهد به مدل محلی متصل شود؛ و به عنوان یک اپلیکیشن، نسخه iOS برنامهی Priv AI موتور SwiftletCore را به عنوان یک موتور مدل جریانی جاسازی میکند و به کاربران عادی اجازه میدهد سادگی با دانلود کردن آن، شروع به چت کردن کنند.
از نظر صحت، فرآیند جلوگذر (Forward pass) هر لایه بهطور لایهبهلایه با پیادهسازی مرجع mlx-lm مقایسه میشود و اشکال کوانتیزاسیون f32 و int4 را پوشش میدهد. رمزگشایی افزایشی نیز با نتایج کل دنباله مقایسه شده و هستههای متال (Metal kernels) بارها در برابر مرجع دقیق CPU تأیید شدهاند. این کانتینر همچنین میتواند تأیید سطح بایت را در برابر نقطه بررسی (Checkpoint) منبع انجام دهد — چه متخصصان از کش خوانده شوند و چه از روی دیسک، پاسخها کاملاً یکسان هستند.
مسیر الهامگیری آن به روشنی توضیح داده شده است: TurboFieldfare ابتدا امکانسنجی متخصصان استریمینگ را برای مدل Gemma روی مک تأیید کرد و Swiftlet برخی از تجربیات طراحیِ عمومیِ موجود را از آن قرض گرفت؛ مواردی مانند استفاده از pread برای استریم کردن متخصصان به داخل استخرهای اسلات محدود، استفاده از LFU به همراه سنجش میزان تازگی برای حذف (Eviction)، و استفاده به کارگیری بستهبندی با گام ثابت بهطوریکه یک بار خواندن معادل یک بار فراخوانی باشد. با این حال، مابقی کد از صفر نوشته شده است و شامل حدود ۱۰,۰۰۰ خط کد Swift و Metal میشود که معماری ترکیبی کاملاً متفاوتِ Qwen را پوشش میدهد: توجه خطی Gated DeltaNet، مدل GQA دروازهدار (Gated GQA)، و MoE باsparsity (تراکمپراکندگی) بالا به همراه متخصصان مشترک. این ابزار حتی محاسبات کوانتیزاسیون گروهی int4/int8 به سبک MLX را در Metal پیادهسازی میکند و با استفاده از هستههای قابل آدرسدهی بایت و آفستهای ۶۴ بیتی، از فایلهای قطعهقطعهشده (Shards) با حجم گیگابایت پشتیبانی میکند.