پرش به محتوای اصلی
پرش به محتوای مقاله

«۸۰ مگابایت»؛ سقف جدید حافظه برای استنتاج محلی Gemma 4

·۲۳ مهر ۱۴۰۵۹ دقیقه مطالعه
راهنما
پیش‌نویس‌نویس چندتوکنی جما ۴: رمزگشایی گمانه‌زن با پیش‌نویس ۴ بیتی در ۶۰٪ اندازه
پیش‌نویس‌نویس چندتوکنی جما ۴: رمزگشایی گمانه‌زن با پیش‌نویس ۴ بیتی در ۶۰٪ اندازه
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

جایگزینی مدل‌های پیش‌نویس مستقل با افزونه‌های MTP که حافظه KV Cache را به اشتراک می‌گذارند و کاهش مصرف حافظه آن‌ها به ۸۰ مگابایت از طریق Repack دقیق ۴ بیتی.

اگر از کارت‌های گرافیک میان‌رده برای اجرای مدل‌های زبانی استفاده می‌کنید، گلوگاه شما دیگر قدرت پردازش نیست، بلکه سرعت جابه‌جایی داده‌ها در حافظه است. حالا با یک به‌روزرسانی فنی، مدل Gemma 4 می‌تواند تا ۳ برابر سریع‌تر از حالت عادی پاسخ دهد، بدون آنکه حافظهٔ ویدیویی شما را اشغال کند.

طبق گزارش منتشر شده در ۱۵ اکتبر ۲۰۲۶، یک مدل کمکی MTP با دقت ۴ بیتی توانسته است ردپای حافظه (Memory Footprint) را به ۸۰ مگابایت کاهش دهد. این دستاورد یعنی سخت‌افزارهای خانگی دیگر زمان زیادی را صرف جابه‌جایی وزن‌ها نمی‌کنند و بیشتر روی محاسبات تمرکز می‌کنند. این رویکرد با دور زدن «دیوار حافظه» (Memory Wall) — جایی که سخت‌افزارهای مصرف‌کننده اغلب زمان بیشتری را صرف انتقال وزن‌ها می‌کنند تا محاسبه — می‌تواند سرعت تولید متن را برای تک‌کاربرانی که Gemma 4 را اجرا می‌کنند، تا ۳ برابر افزایش دهد.

این جهش در بهره‌وری درست زمانی رخ می‌دهد که میزبانی شخصی مدل‌های زبانی بزرگ (LLM) — مثل کتابخانه‌داری که میلیاردها صفحه را خوانده و حالا با همان لحن کتاب‌ها جواب می‌دهد — به سمت مدل‌های کوچک‌تر و تخصصی‌تر می‌رود. همان‌طور که در تحلیل قبلی ما درباره‌ی DFlash-2 و تمرکز آن بر رمزگشایی گمانه‌زنانه برای عامل‌های کدنویس اشاره کردیم، رویکرد گوگل در Gemma 4 این سازوکار را از یک مدل مجزا به یک افزونهٔ سبک تبدیل کرده است. برای کاربری که یک GPU میان‌رده دارد، این تغییر یعنی تبدیل یک پاسخ کند و لکنت‌دار به یک تعامل روان و آنی.

رمزگشایی گمانه‌زنانه چگونه کار می‌کند؟

مدل‌های زبانی استاندارد در هر مرحله تنها یک توکن (Token) — تکه‌های کوچکی از متن، مثل برش‌های یک کیک طولانی که مدل تکه‌تکه می‌خورد — تولید می‌کنند. در هر بار اجرا، مدل باید تمام وزن‌ها را از حافظه بخواند. در GPUهای کوچک، محاسبات سبک است اما ترافیک حافظه سنگین؛ یعنی کارت گرافیک بیشتر وقتش را صرف جابه‌جایی وزن‌ها می‌کند تا محاسبه. این وضعیت باعث می‌شود در هر مرحله، ظرفیت محاسباتی خالی روی کارت گرافیک باقی بماند.

رمزگشایی گمانه‌زنانه (Speculative Decoding) برای استفاده از این ظرفیت خالی طراحی شده است. بررسی چندین توکن در یک مرحله، همان مقدار وزن‌ها را یک‌بار می‌خواند و تنها مقدار کمی محاسبات ریاضی بیشتر انجام می‌دهد؛ به این معنی که زمان لازم برای آن، تقریباً برابر با تولید یک توکن واحد است. این فرآیند به دو مرحله تقسیم می‌شود:

  • پیش‌نویس (Drafting): یک مدل کوچک و سریع، چند توکن بعدی در توالی را حدس می‌زند.
  • تأیید (Verification): مدل اصلی (هدف) یک بار اجرای پیشرو (Forward Pass) را روی تمام حدس‌ها به‌صورت هم‌زمان انجام می‌دهد. مدل هر حدس را با آنچه خودش تولید می‌کرد، مقایسه می‌کند.

مدل هدف حدس‌ها را از ابتدا می‌پذیرد تا به اولین حدسی برسد که با آن مخالف است. سپس بقیه حدس‌ها را دور می‌ریزد و در آن نقطه، یک توکن از خودش اضافه می‌کند. در نتیجه، هر مرحله همیشه حداقل یک توکن تولید می‌کند و اگر تمام حدس‌ها درست باشند، تعداد توکن‌های تولید شده برابر با «تعداد پیش‌نویس‌ها به‌علاوه یک» خواهد بود. بر اساس مستندات گوگل: «وقتی در یک خط لوله رمزگشایی گمانه‌زنانه استفاده شود، مدل پیش‌نویس چندین توکن جلوتر را پیش‌بینی می‌کند و مدل هدف سپس آن‌ها را به‌صورت موازی تأیید می‌کند.»

پیش‌نویس‌کننده چندتوکنی Gemma 4: رمزگشایی گمانه‌زن با پیش‌نویس ۴بیتی در ۶۰٪ حجم

معماری 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 مراجعه کنید.

چرا این موضوع مهم است؟

این تکنیک با تکیه بر تخصص گوگل در کوانتش آگاهانه (QAT)، دسترسی به استنتاج سریع را برای میلیون‌ها کاربر با سخت‌افزارهای قدیمی فراهم می‌کند. در واقع، مرز بین تجربه «پاسخ کند» و «پاسخ آنی» در مدل‌های محلی جابه‌جا شده است.

تأثیر برای ایران

این به‌روزرسانی برای توسعه‌دهندگان ایرانی که به دلیل محدودیت‌های سخت‌افزاری و هزینه خرید GPUهای جدید، از کارت‌های گرافیک قدیمی یا میان‌رده استفاده می‌کنند، فرصتی برای اجرای سریع‌تر مدل‌های محلی فراهم می‌کند.

·نگاه ما
تحریریه دات‌هوش

تمرکز گوگل بر کاهش ردپای حافظه پیش‌نویس‌ها نشان می‌دهد که جنگ فعلی در استنتاج محلی، نه بر سر تعداد پارامترها، بلکه بر سر مدیریت پهنای‌باند حافظه است. تبدیل مدل پیش‌نویس از یک موجودیت مستقل به یک افزونه (Add-on) که از KV Cache مدل اصلی تغذیه می‌کند، معماری استنتاج را از حالت خطی به حالت لایه‌ای تغییر می‌دهد. این رویکرد احتمالاً به استانداردی برای مدل‌های کوچک تبدیل خواهد شد تا در سخت‌افزارهای لبه (Edge) بدون افت سرعت اجرا شوند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.