اگر از کارتهای گرافیک میانرده برای اجرای مدلهای زبانی استفاده میکنید، گلوگاه شما دیگر قدرت پردازش نیست، بلکه سرعت جابهجایی دادهها در حافظه است. حالا با یک بهروزرسانی فنی، مدل Gemma 4 میتواند تا ۳ برابر سریعتر از حالت عادی پاسخ دهد، بدون آنکه حافظهٔ ویدیویی شما را اشغال کند.
طبق گزارش منتشر شده در ۱۵ اکتبر ۲۰۲۶، یک مدل کمکی MTP با دقت ۴ بیتی توانسته است ردپای حافظه (Memory Footprint) را به ۸۰ مگابایت کاهش دهد. این دستاورد یعنی سختافزارهای خانگی دیگر زمان زیادی را صرف جابهجایی وزنها نمیکنند و بیشتر روی محاسبات تمرکز میکنند. این رویکرد با دور زدن «دیوار حافظه» (Memory Wall) — جایی که سختافزارهای مصرفکننده اغلب زمان بیشتری را صرف انتقال وزنها میکنند تا محاسبه — میتواند سرعت تولید متن را برای تککاربرانی که Gemma 4 را اجرا میکنند، تا ۳ برابر افزایش دهد.
این جهش در بهرهوری درست زمانی رخ میدهد که میزبانی شخصی مدلهای زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن کتابها جواب میدهد — به سمت مدلهای کوچکتر و تخصصیتر میرود. همانطور که در تحلیل قبلی ما دربارهی DFlash-2 و تمرکز آن بر رمزگشایی گمانهزنانه برای عاملهای کدنویس اشاره کردیم، رویکرد گوگل در Gemma 4 این سازوکار را از یک مدل مجزا به یک افزونهٔ سبک تبدیل کرده است. برای کاربری که یک GPU میانرده دارد، این تغییر یعنی تبدیل یک پاسخ کند و لکنتدار به یک تعامل روان و آنی.
رمزگشایی گمانهزنانه چگونه کار میکند؟
مدلهای زبانی استاندارد در هر مرحله تنها یک توکن (Token) — تکههای کوچکی از متن، مثل برشهای یک کیک طولانی که مدل تکهتکه میخورد — تولید میکنند. در هر بار اجرا، مدل باید تمام وزنها را از حافظه بخواند. در GPUهای کوچک، محاسبات سبک است اما ترافیک حافظه سنگین؛ یعنی کارت گرافیک بیشتر وقتش را صرف جابهجایی وزنها میکند تا محاسبه. این وضعیت باعث میشود در هر مرحله، ظرفیت محاسباتی خالی روی کارت گرافیک باقی بماند.
رمزگشایی گمانهزنانه (Speculative Decoding) برای استفاده از این ظرفیت خالی طراحی شده است. بررسی چندین توکن در یک مرحله، همان مقدار وزنها را یکبار میخواند و تنها مقدار کمی محاسبات ریاضی بیشتر انجام میدهد؛ به این معنی که زمان لازم برای آن، تقریباً برابر با تولید یک توکن واحد است. این فرآیند به دو مرحله تقسیم میشود:
- پیشنویس (Drafting): یک مدل کوچک و سریع، چند توکن بعدی در توالی را حدس میزند.
- تأیید (Verification): مدل اصلی (هدف) یک بار اجرای پیشرو (Forward Pass) را روی تمام حدسها بهصورت همزمان انجام میدهد. مدل هر حدس را با آنچه خودش تولید میکرد، مقایسه میکند.
مدل هدف حدسها را از ابتدا میپذیرد تا به اولین حدسی برسد که با آن مخالف است. سپس بقیه حدسها را دور میریزد و در آن نقطه، یک توکن از خودش اضافه میکند. در نتیجه، هر مرحله همیشه حداقل یک توکن تولید میکند و اگر تمام حدسها درست باشند، تعداد توکنهای تولید شده برابر با «تعداد پیشنویسها بهعلاوه یک» خواهد بود. بر اساس مستندات گوگل: «وقتی در یک خط لوله رمزگشایی گمانهزنانه استفاده شود، مدل پیشنویس چندین توکن جلوتر را پیشبینی میکند و مدل هدف سپس آنها را بهصورت موازی تأیید میکند.»

معماری MTP در Gemma 4
برخلاف مدلهای پیشنویس کلاسیک که نسخههای کوچکتری از همان خانواده بودند و لایهها، KV Cache و مراحل اجرای جداگانه برای گفتگو داشتند، Gemma 4 از پیشبینی چند-توکنی (Multi-Token Prediction یا MTP) استفاده میکند. در اینجا مدل پیشنویس یک کپی مستقل نیست، بلکه یک افزونه برای مدل اصلی است.
گوگل این پیشنویس را یک مدل ۴ لایهای سبک توصیف میکند که از فعالسازها (Activations) و KV Cache مدل هدف استفاده میکند. این طراحی به این معنی است که مدل پیشنویس هیچ حافظهٔ جداگانهای برای تاریخچهٔ گفتگو نگه نمیدارد و هزینههای حافظه فقط محدود به وزنهای خودش و یک بافر کاری کوچک است. پیشنویس هر حدس را از همان جایی شروع میکند که مدل هدف برای توکن فعلی محاسبه کرده است.
مشخصات فنی پیشنویس E2B
به نقل از فایل config.json در Hugging Face، مدل پیشنویس E2B بهطور شگفتانگیزی کوچک است. معماری آن به عنوان Gemma4AssistantForCausalLM تعریف شده و ویژگیهای آن عبارتند از:
- اندازه حالت پنهان ستون فقرات (1536): پیشنویس حالت پنهان مدل هدف E2B را با عرض ۱۵۳۶ میخواند (این مقدار برای مدل E4B برابر با ۲۵۶۰ است).
- اندازه پنهان (۲۵۶) و تعداد لایههای پنهان (۴): این بخش به عنوان یک ترنسفورمر (Transformer) بسیار کوچک عمل میکند.
- تعداد لایههای مشترک KV (۴): هر چهار لایه از KV Cache مدل هدف استفاده میکنند؛ بنابراین پیشنویس فقط کوئریها (Queries) را محاسبه میکند.
- نوع لایهها: این مدل از سه لایه
sliding_attention(توجه لغزشی) و در نهایت یک لایهfull_attention(توجه کامل) استفاده میکند. - اندازه واژگان (۲۶۲,۱۴۴): از همان توکنساز مدل هدف استفاده میکند تا تضمین شود حدسها توکنهای معتبر برای مدل هدف هستند.
این چکپوینت همچنین شامل یک میانبر خوشهبندی شده (Clustered Shortcut) برای لایه خروجی با num_centroids: 2048 است، هرچند مبدل llama.cpp برای امتیازدهی به کل واژگان، این مورد را نادیده میگیرد.
مزیت Repack دقیق ۴ بیتی
گوگل برای هر اندازه دو مدل پیشنویس منتشر میکند: -it-assistant برای مدل bf16 و -it-qat-q4_0-unquantized-assistant برای نسخههای QAT. کارت مدل QAT گوگل صراحتاً بر جفتسازی تأکید دارد: «هنگام استفاده از پیشبینی چند-توکنی... با یک مدل دستیار در کنار مدل هدف QAT، مدل دستیار نیز باید یک چکپوینت QAT با همان دقت باشد تا سازگاری تضمین شود.»
در حالی که llama.cpp معمولاً این پیشنویسها را به Q8_0 تبدیل میکند، متد جدید gguf_exact.py اجازه میدهد آنها را در Q4_0 بدون از دست دادن دقت ذخیره کنیم. این امر به این دلیل ممکن است که آموزش آگاه از کوانتش (QAT) گوگل، وزنها را از قبل روی یک شبکه ۴ بیتی تراز کرده است؛ در هر ماتریس وزن، هر بلوک ۳۲ تایی حداکثر ۱۶ مقدار متمایز دارد. این دقیقاً همان ساختار Q4_0 است، بنابراین وزنها را میتوان بدون گرد کردن بیشتر در ۴ بیت ذخیره کرد.
کاهش حافظه ملموس است. برای مدل E2B، اندازه فایل از ۱۷۰.۲ مگابایت (bf16) به ۹۷.۸ مگابایت (Q8_0) و در نهایت به ۵۹.۲ مگابایت (Exact Q4_0) رسید. فایل Exact Q4_0 حدود ۳۹٪ کوچکتر از نسخه Q8_0 است و از نظر خطای نسبی، ۳.۶ برابر به وزنهای اصلی گوگل نزدیکتر است. مدل پیشنویس E4B نیز الگوی مشابهی دارد و منجر به فایلی با اندازه ۵۹.۷ مگابایت در مقابل ۹۸.۷ مگابایت برای Q8_0 میشود.
پیادهسازی و عملکرد
برای استقرار روی سختافزارهای محلی، مانند یک RTX 3050 OEM در دسکتاپ یا یک GTX 1650 Ti در لپتاپ، کاربران مدل هدف را از طریق llama.cpp و با استفاده از پرچم --spec-type draft-mtp اجرا میکنند.
یک نمونه دستور سرور برای مدل E2B به این صورت است:llama-server -m gemma-4-E2B-it-q4_0-exact.gguf -ngl 99 -fa 1 -md gemma-4-E2B-it-qat-assistant-q4_0-exact.gguf --spec-type draft-mtp -ngld all --spec-draft-n-max 2
پرچمهای کلیدی عبارتند از:
-md: فایل مدل پیشنویس را مشخص میکند.--spec-type draft-mtp: آن را به عنوان یک پیشنویس MTP مدل Gemma 4 روی حالت مدل هدف اجرا میکند.-ngld all: پیشنویس را در کنار مدل هدف روی GPU قرار میدهد.--spec-draft-n-max 2: سیستم را محدود میکند تا در هر مرحله حداکثر دو توکن حدس بزند.
عملکرد بسته به نوع محتوا متفاوت است. متون پیشبینیپذیر، مانند کدهای پایتون، نرخ پذیرش بالایی دارند. در یک تست روی RTX 3050، یک پرامپت کدنویسی منجر به نرخ پذیرش ۸۴.۶٪ شد (۱۶۰ توکن پذیرفته شده از ۱۸۹ توکن تولید شده)، به این معنی که مدل هدف بهطور متوسط ۲.۶۸ توکن در هر مرحله تولید کرد.
تحلیل هزینه VRAM
در اندازهگیری روی RTX 3050 با ۸,۱۹۲ توکن زمینه، مدل هدف E2B بهتنهایی ۲,۷۹۵ مگابایت حافظه مصرف میکند. با اضافه کردن پیشنویس، مصرف حافظه به شرح زیر تغییر میکند:
- پیشنویس bf16: ۲,۹۸۳ مگابایت (+۱۸۸ مگابایت)
- پیشنویس Q8_0: ۲,۹۱۵ مگابایت (+۱۲۰ مگابایت)
- پیشنویس Exact Q4_0: ۲,۸۷۵ مگابایت (+۸۰ مگابایت)
پیشنویس Exact Q4_0 یکسوم حافظه کمتری نسبت به تبدیل Q8_0 مصرف میکند. برای مدل E4B، این هزینه برای نسخه Exact برابر با ۸۴+ مگابایت در مقابل ۱۲۲+ مگابایت برای Q8_0 است. در یک کارت گرافیک ۴ گیگابایتی لپتاپ، این مگابایتها برای حفظ فضای خالی (Headroom) زمینه حیاتی هستند. نکته مهم این است که فایل کوچکتر Q4_0 باعث افت عملکرد نمیشود؛ مدل هدف همان تعداد توکنهایی را میپذیرد که با پیشنویس بزرگتر bf16 میپذیرفت.
موازنه و محدودیتها
رمزگشایی گمانهزنانه یک پیروزی همگانی نیست. مزایای آن تحت بار کاری سنگین کاهش مییابد؛ وقتی چندین کاربر GPU را اشباع میکنند، ظرفیت محاسباتی آزاد مورد نیاز برای تأیید حدسها از بین میرود. علاوه بر این، داستانهای خلاقانه و آزاد سختتر از کدها حدس زده میشوند که منجر به رد شدن توکنهای بیشتر و اتلاف محاسبات میشود.
یک ریسک ظریف دیگر در مورد متون «حریصانه» (Greedy) وجود دارد. در جایی که دو کلمه امتیاز تقریباً یکسانی دارند، بررسی چندین توکن در یک اجرای دستهای (Batched Pass) میتواند انتخاب را به سمت گزینه دیگر تغییر دهد. این احتمالاً به دلیل این است که محاسبات دستهای متفاوت از اجراهای تک-توکنی گرد میشوند. اگرچه پاسخها همچنان متعلق به مدل هدف هستند، اما انتخاب توکن خاص در موارد نزدیک به تساوی ممکن است تغییر کند.
نکات استقرار و جایگزینها
برای کسانی که از llama.cpp استفاده نمیکنند، مسیرهای دیگری برای MTP وجود دارد. کتابخانه Transformers در Hugging Face اجازه میدهد پارامتر assistant_model= به تابع generate() پاس داده شود که مسیر اصلی مستند شده توسط گوگل است. vLLM نیز از این قابلیت از طریق پرچم --speculative-config '{"method":"mtp", ...}' پشتیبانی میکند که روی سختافزارهای Cloud TPU v5e اندازهگیری شده است.
هنگام پیکربندی تعداد توکنهای پیشنویس، با عدد دو شروع کنید. هر حدس اضافی باید درست باشد تا حدس بعدی به حساب بیاید. روی RTX 3050، دو توکن پیشنویس در هر مرحله تنظیم بهینه برای هر دو مدل E2B و E4B بود. روی کارت گرافیک لپتاپ GTX 1650 Ti، یک توکن بهترین تنظیم بود. این عدد را فقط برای خروجیهای بسیار پیشبینیپذیر مانند کد افزایش دهید.
جمعبندی و مقایسه
این تحول در استنتاج محلی ثابت میکند که گلوگاه دیگر فقط اندازه مدل نیست، بلکه پهنایباند حافظه است. با کوچک کردن پیشنویس به مقدار ناچیز ۸۰ مگابایت، گوگل و جامعه متنباز استنتاج محلی سریع را برای کاربرانی با حداقل ۴ گیگابایت VRAM در دسترس قرار دادهاند.
| ویژگی | مدل پیشنویس کلاسیک | پیشنویس MTP در Gemma 4 |
|---|---|---|
| ورودی | خواندن گفتگو از ابتدا | خواندن حالت پنهان و KV Cache هدف |
| KV Cache | حافظه جداگانه (با رشد زمینه) | ندارد (مشترک با مدل هدف) |
| اندازه | مدل کوچکتر از همان خانواده | ۴ لایه، عرض ۲۵۶ |
| توکنساز | باید با هدف مطابقت داشته باشد | همان واژگان ۲۶۲,۱۴۴ تایی هدف |
برای یک مدل هدف Gemma 4 QAT که توسط llama.cpp ارائه میشود، پیشنویس Exact Q4_0 QAT بهینهترین انتخاب است. این مدل با دقت هدف مطابقت دارد، اندازه فایل را به حداقل میرساند و کمترین هزینه حافظه را دارد. برای بهینهسازی سیستم خود، مدلهای هدف QAT را با دستیاران متناظر Exact Q4_0 موجود در Hugging Face جفت کنید. هش GGUF دقیق برای E2B برابر است با 060f5a0158f8120d25137866b90e04e21cd0d2d23de1db7a9cc3b7f00e60bd11 و برای E4B برابر است با dc965cb963e56b86fbc04db8efec83163886085e88514574650a57fa55a2ee24.
گام بعدی شما
- اگر از مدلهای Gemma 4 استفاده میکنید، فایلهای GGUF نسخه Exact Q4_0 را از Hugging Face دریافت کنید.
- در تنظیمات llama.cpp، مقدار
--spec-draft-n-maxرا ابتدا روی ۲ قرار دهید و بر اساس نوع متن (کد یا متن عادی) آن را تغییر دهید. - برای کاهش تأخیر در لپتاپهای قدیمی، از مدلهای E2B به جای E4B استفاده کنید تا فضای VRAM بیشتری برای زمینه داشته باشید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو