رفتن به محتوای اصلی
توضیح کوهستانبهینه‌سازی استنتاجکَش کلید-مقدار· 7 دقیقه مطالعه· در هوش مصنوعی

راهبردهای پاک‌سازی حافظه کَش کلید-مقدار: مبادله تاخیر پیش‌پردازش با نرخ خروجی در بافت‌های طولانی

الگوریتم‌های نوین با حذف انتخابی تا ۸۰ درصد از حافظه موقت مدل‌های هوش مصنوعی مانع از ازکارافتادگی سرورها حین مکالمات طولانی می‌شوند؛ فرایندی که توقف اولیه پاسخ را افزایش می‌دهد اما سرعت تولید متن را به دو برابر می‌رساند.

به قلم اِلا فرجاد

این خبر را به اشتراک بگذارید

به‌طور خلاصه

  • هوش مصنوعی با بافت طولانی در بند کَش کلید-مقدار است؛ حافظه‌ای موقت که برای هر کاربر به چندین گیگابایت افزایش می‌یابد.
  • رویکردهایی چون H2O و SnapKV تا ۸۰ درصد این کَش را دور می‌ریزند و با پذیرش وقفه‌ای طولانی‌تر در ابتدا، سرعت تولید را دو برابر می‌کنند.
  • ارائه‌دهندگان ابری اکنون مراحل خواندن و نگارش را به سرورهای مجزا واگذار می‌کنند تا از بریدگی و افت سرعت سیستم جلوگیری شود.

یک پرامپت یک میلیون توکنی صرفاً برای حفظ متن در حافظه به ازای هر کاربر به حدود دو گیگابایت فضا نیاز دارد؛ این رقم بدین معناست که یک کارت گرافیک سرور ۸۰ گیگابایتی عملاً می‌تواند به کمتر از ۴۰ خواننده هم‌زمان خدمات ارائه دهد. همین محدودیت فیزیکی است که اقتصاد هوش مصنوعی مولد را تعیین می‌کند.

گلوگاهی که کارایی مدل‌های دارای زمینه متنی طولانی را مهار می‌کند، به‌ندرت قدرت پردازش خام سیلیکون است. در واقع عامل بازدارنده، کَش کلید-مقدار (Key-Value Cache) است؛ مخزن حافظه‌ای موقت که اجازه نمی‌دهد مدل هنگام رسیدن به انتهای سند، ابتدای متن را فراموش کند.

هر بار که یک مدل زبانی کلمه جدیدی تولید می‌کند، باید به لحاظ ریاضی این واژه تازه را با تمام کلمات پیشین زنجیره تطبیق دهد. بدون وجود یک کَش، سیستم ناچار می‌شد برای هر تک‌هجایی که تولید می‌کند، کل سند را مجدداً از صفر محاسبه کند.

سامانه به‌منظور پرهیز از محاسبات تکراری، بازنمایی‌های ریاضی میانی را درون حافظه فوق‌سریع کارت گرافیک نگهداری می‌کند. هنگامی که حجم مکالمه به صدها هزار کلمه می‌رسد، این چرکنویس موقت چنان متورم می‌شود که سرانجام فضای اجرای خودِ مدل را هم تسخیر می‌کند.

با پر شدن ظرفیت حافظه، سرور توان پذیرش کاربر جدید را از دست می‌دهد و اپراتورها ناچار به خرید سخت‌افزار اضافی می‌شوند. شکستن این دیوار حافظه نیازمند الگوریتم‌هایی است که بتوانند اطلاعات کم‌اهمیت را بدون افت کیفیت خروجی، به شکلی گزینشی فراموش کنند.

مکانیک چرکنویس محاسباتی

کارت گرافیک در جریان مرحله تولید خروجی یا همان رمزگشایی (Decoding)، عمده زمان خود را صرف انتقال داده می‌کند نه اجرای عملیات حسابی. پردازنده در وضعیت بیکار می‌ماند تا حجم عظیم کَش کلید-مقدار از تراشه‌های حافظه به هسته‌های محاسباتی هدایت شود.

تلفیق پاک‌سازی نرم‌افزاری با فشرده‌سازی در سطح سخت‌افزار، ردپای کَش کلید-مقدار را تا ده برابر کوچک می‌کند.

این جابه‌جایی پیوسته داده‌ها، گلوگاه پهنای باند شدیدی پدید می‌آورد که سقف مشخصی برای تعداد کلمات تولیدی مدل در هر ثانیه تعیین می‌کند. اگر حجم کَش کاهش یابد، داده سریع‌تر انتقال می‌یابد، هسته‌ها فعال می‌مانند و توان عملیاتی تولید با جهشی محسوس روبه‌رو می‌شود.

پژوهشگران دریافته‌اند که مدل‌های زبانی ضرورتاً نیازی به ثبت و به‌خاطرسپاری تمام کلمات با دقتی یکسان ندارند. درست همانند انسان که کلمات پرکننده را سرسری می‌خواند و توجهش را معطوف به اسم‌ها و فعل‌ها می‌کند، هوش مصنوعی نیز توجه ریاضی خود را بر توکن‌های حیاتی و به‌خصوصی متمرکز می‌سازد.

اگر سیستم بتواند توکن‌های نادیده‌گرفته‌شده توسط مدل را تشخیص دهد، قادر خواهد بود آن‌ها را به کلی از کَش کلید-مقدار بیرون براند. این فراموشی خودخواسته گیگابایت‌ها حافظه آزاد می‌کند و امکان پردازش هم‌زمان دسته‌های بزرگ‌تری از کاربران را در اختیار سرور می‌گذارد.

با این حال، پیش‌بینی این‌که کدام کلمات ده بند بعد اهمیت خواهند یافت، چالشی آماری و پیچیده است. حذف اشتباه یک توکن می‌تواند مدل را دچار توهم کند، رشته کلام را بگسلد یا آن را در وظایف استدلالی پایه با شکست مواجه سازد.

عناصر پرتکرار و چاه‌های توجه

الگوریتم H2O که در مقاله‌ای پژوهشی در سال ۲۰۲۳ ارائه شد، با مطرح ساختن مفهوم عناصر پرتکرار موثر (Heavy Hitters) این معضل را برطرف می‌کند. سامانه از طریق ره‌گیری پویای نمرات توجه، تنها اطلاعات حیاتی را حفظ کرده و باقی را دور می‌ریزد.[1]

نتایج H2O ثابت می‌کند که حذف تا ۸۰ درصد از توکن‌های کَش‌شده عملاً هیچ افت محسوسی در قابلیت‌های استدلالی مدل پدید نمی‌آورد. این الگوریتم صرفاً بازنمایی‌های ریاضی کلمات حشو، علائم نگارشی و بندهای به سرانجام رسیده را نادیده می‌گیرد.[1]

چارچوب SnapKV که در آوریل ۲۰۲۴ معرفی شد، با تحلیل پرامپت پیش از آغاز فرایند تولید، این راهبرد پاک‌سازی را گامی فراتر می‌برد؛ چراکه مدل زبانی در همان مرحله خواندن اولیه درمی‌یابد که به دنبال چه داده‌ای می‌گردد.[2]

چارچوب SnapKV با خوشه‌بندی وزن‌های توجه حول ویژگی‌های معین، موقعیت دقیق حقایق مهم درون اسناد حجیم را شناسایی می‌کند. سپس پارازیت‌های پیرامونی را کنار می‌زند و در نتیجه بدون آسیب به پاسخ‌گویی دقیق مدل به پرسش‌ها، ردپای حافظه را فشرده می‌سازد.[2]

پاک‌سازی تهاجمی کَش مکث اولیه را طولانی‌تر می‌کند اما شتاب تولید عبارات بعدی را دو برابر می‌سازد.

این شیوه‌های پاک‌سازی اقتصاد نسل بافت‌های متنی طولانی را دگرگون می‌کنند و به اپراتورها امکان می‌دهند با همان سخت‌افزار تا پنج برابر کاربر بیشتری را پوشش دهند. اما این ارتقای چشمگیر در توان خروجی، با هزینه‌ای پنهان در تاخیر همراه است.[1][2]

جریمه پیش‌پردازش

حذف توکن‌ها مستلزم سنجش اهمیت نسبی آن‌ها توسط سیستم است؛ فرایندی که بار محاسباتی سنگینی را در بدو امر تحمیل می‌کند. مدل به‌منظور تفکیک کلمات حذفی ناچار است ابتدا تمام سند را با حداکثر وضوح ممکن پردازش نماید.

این مرحله مقدماتی که اصطلاحاً پیش‌پردازش (Prefill) خوانده می‌شود، با مرتب‌سازی و رتبه‌بندی میلیون‌ها نمره توجه به‌شدت متکی به توان پردازنده می‌شود. کارت گرافیک باید تریلیون‌ها محاسبه اضافی انجام دهد تا بتواند حتی یک واژه واحد تولید کند.

کاربران این مالیات محاسباتی را به شکل تاخیر تا دریافت نخستین توکن لمس می‌کنند؛ همان مکث محسوسی که میان فشردن دکمه اینتر و آغاز تایپ هوش مصنوعی رخ می‌دهد. راهبردهای تهاجمی پاک‌سازی عمداً وقفه اولیه طولانی‌تر را در ازای سرعت تایپ بسیار بالاتر در ادامه مسیر مبادله می‌کنند.

در سندی ۱۰۰ هزار توکنی، محاسبه عناصر پرتکرار ممکن است دو ثانیه به تاخیر اولیه پیش‌پردازش بیفزاید، ولی در عوض نرخ خروجی را از ۲۰ توکن بر ثانیه به ۴۰ توکن می‌رساند. این معامله برای متن‌های بلند بسیار سودمند اما برای ربات‌های گفت‌وگوی آنی نامطلوب است.

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

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

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

تفکیک خط لوله پردازش

ارائه‌دهندگان ابری با تفکیک فیزیکی این دو مرحله در استخرهای مجزای سروری در پی حل تداخل هستند. معماری وب سرویس آمازون (AWS) امروزه فازهای پیش‌پردازش و رمزگشایی را جداسازی کرده و بارها را به خوشه‌های سخت‌افزاری تخصصی می‌فرستد.[3]

در یک ساختار تفکیک‌شده، دسته‌ای از کارت‌های گرافیک بار سنگین خواندن پرامپت و فشرده‌سازی کَش را بر دوش می‌کشند. مستندات فنی آمازون جزئیات این معماری را به تفصیل توضیح داده اما دربردارنده نقل‌قول مستقیمی از تیم مهندسی درباره روند طراحی آن نیست.[3]

به محض فشرده‌سازی، کَش در بستر شبکه به استخر مجزایی از سرورهای رمزگشایی گسیل می‌شود که در تولید سریع تخصص دارند. این ماشین‌های رمزگشایی برای پهنای باند حافظه بهینه‌سازی شده‌اند و به مدل اجازه می‌دهند پاسخ‌ها را با حداکثر شتاب ممکن به نگارش درآورد.[3]

چارچوب‌هایی مانند Sarathi-Serve با زمان‌بندی پویا میان این فازها درون خوشه، موازنه میان تاخیر و نرخ خروجی را رام می‌کنند. سیستم از طریق شکستن پیش‌پردازش به بخش‌های ریزتر، اطمینان می‌دهد که حتی حین خوانش متون بسیار بزرگ نیز جریان تولید متن قطع نشود.[5]

چارچوب Sarathi-Serve با بهره‌گیری از سازوکار پیش‌پردازش تکه‌ای (Chunked Prefill)، فرایند سنگین خواندن را در لحظات کوتاهی می‌گنجاند که سرورهای رمزگشایی منتظر رسیدن داده از حافظه هستند. بدین ترتیب بدون تحمیل مکث‌های عذاب‌آور، بهره‌وری سخت‌افزار به اوج می‌رسد.[5]

معماری تفکیک‌شده به متولیان اجازه می‌دهد خوشه‌های پیش‌پردازش و رمزگشایی را به‌صورت مستقل توسعه دهند. در صورتی که کاربران متون قطوری بفرستند اما پاسخ‌های کوتاه بخواهند، اپراتور می‌تواند بدون صرف هزینه برای حافظه بی‌استفاده رمزگشایی، فقط سرورهای پیش‌پردازش را ارتقا دهد.[3][5]

فشرده‌سازی سخت‌افزاری و چشم‌انداز آینده

الگوریتم‌های نرم‌افزاری پاک‌سازی امروزه از سوی روش‌های فشرده‌سازی سطح سخت‌افزار نیز تقویت می‌شوند. مهندسان به‌جای اکتفا به حذف توکن‌ها، دقت ریاضیاتی توکن‌های حفظ‌شده را نیز فشرده می‌کنند.

الگوریتم‌های نرم‌افزاری تا ۸۰ درصد توکن‌ها را می‌زدایند و فرمت‌های سخت‌افزاری دقت مقادیر باقی‌مانده را فشرده می‌کنند.

فرمت‌های کَش کلید-مقدار NVFP4 از شرکت انویدیا که در اواخر سال ۲۰۲۵ تشریح شد، ارقام ذخیره‌شده را به مقادیر ممیز شناور ۴ بیتی کاهش می‌دهد. این ترفند سخت‌افزاری بار دیگر حجم حافظه را به نصف می‌رساند و بسترساز دسته‌های پردازشی بزرگ‌تر بدون قربانی کردن دقت می‌شود.[4]

هم‌نشینی فشرده‌سازی ۴ بیتی سخت‌افزار با پاک‌سازی ۸۰ درصدی نرم‌افزار، امکان کاهش ده برابری ابعاد کلی کَش را پیش روی متولیان می‌گذارد. پرامپت یک میلیون توکنی که پیش‌تر به دو گیگابایت حافظه محتاج بود، اکنون تنها در ۲۰۰ مگابایت فضا می‌نشیند.[1][4]

همین کارایی‌های هم‌افزا است که ویژگی‌هایی همچون پنجره‌های بافتی بی‌نهایت و عامل‌های خودمختار را از حیث اقتصادی توجیه‌پذیر می‌سازد. بدون چنین حربه‌هایی، زیرساخت‌های ابری عملاً با کمبود مطلق حافظه روبه‌رو و تسلیم می‌شدند.

چالش اصلی مهندسی در نسل بعدی هوش مصنوعی دیگر آموزش مدل‌های داناتر نیست؛ بلکه چیرگی بر قوانین بی‌ترحم فیزیک پهنای باند حافظه است تا اطمینان حاصل شود سیستم می‌تواند گذشته را بدون خفه شدن زیر بار آن به یاد بسپارد.

این تحلیل چگونه انجام شد

روش
یکسان‌سازی و سنجش تطبیقی کاهش ردپای حافظه و جابه‌جایی‌های تاخیر در چارچوب‌های گوناگون پاک‌سازی و تفکیک کَش کلید-مقدار برای استخراج منحنی یکپارچه کارایی در فرایند تولید متن‌های طولانی.
یافته
الگوریتم‌های تهاجمی پاک‌سازی کَش کلید-مقدار در همه‌جا گلوگاه محاسباتی را از پهنای باند حافظه در فاز رمزگشایی به فازهای پردازنده‌محور پیش‌پردازش منتقل می‌کنند و سقف بیشینه دستاورد خروجی را دقیقاً در نقطه‌ای متوقف می‌سازند که تاخیر پیش‌پردازش از آستانه تحمل کاربر برای دریافت اولین توکن فراتر می‌رود.
داده‌هایی که بر پایهٔ آن‌ها کار کردیم
  • نرخ نگهداری ردپای حافظه در H2O: 20 percent — arXiv
  • نسبت‌های فشرده‌سازی متکی بر توجه در SnapKV: Up to 80 percent eviction — Hugging Face
  • مقیاس‌پذیری دقت سخت‌افزاری NVFP4: 4-bit floating point — NVIDIA Developer Blog
محدودیت‌های این تحلیل
این تحلیل بر بنچمارک‌های ایستا برگرفته از مقالات دانشگاهی استوار است و نوسانات دسته‌بندی پویا یا تاخیر شبکه در محیط‌های عملیاتی واقعی و توزیع‌شده در سطح جهانی را در نظر نمی‌گیرد.

اصطلاحات کلیدی

کَش کلید-مقدار (Key-Value Cache)
حافظه‌ای موقت که بازنمایی‌های ریاضی واژگان پیشین را در خود جای می‌دهد تا سیستم مجبور به محاسبه مجدد کل متن برای هر کلمه تازه نباشد.
فاز پیش‌پردازش (Prefill Phase)
مرحله محاسباتی اولیه که طی آن هوش مصنوعی پرامپت کاربر را بررسی کرده و مقادیر اولیه امتیازهای توجه را محاسبه می‌نماید.
فاز رمزگشایی (Decode Phase)
مرحله تولید متن که وابسته به حافظه است و در آن هوش مصنوعی کلمات را تک‌به‌تک و بر پایه کَش کلید-مقدار نگارش می‌کند.
چاه‌های توجه (Attention Sinks)
توکن‌های ویژه‌ای که اغلب در ابتدای پرامپت قرار دارند و فارغ از معنای واقعی‌شان، توجه ریاضی فراوانی را به خود جذب می‌کنند.
استنتاج تفکیک‌شده (Disaggregated Inference)
معماری خاصی که فازهای پیش‌پردازش و رمزگشایی را به‌لحاظ فیزیکی روی خوشه‌های سروری مجزا توزیع می‌کند تا مانع رقابت منابع شود.

پرسش‌های متداول

اگر الگوریتم توکن نادرستی را حذف کند چه رخ می‌دهد؟

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

آیا پاک‌سازی کَش دانش پایه مدل را دگرگون می‌سازد؟

خیر. کَش کلید-مقدار صرفاً اطلاعات موقت مکالمه جاری را نگاه می‌دارد. زدودن توکن‌ها کوچک‌ترین تغییری در وزن‌های بنیادین یا داده‌های آموزشی مدل زبانی ایجاد نمی‌کند.

چرا به‌جای این پیچیدگی‌ها ظرفیت حافظه سرورها افزایش نمی‌یابد؟

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

بررسی عمیق دیدگاه‌ها

اپراتورهای زیرساخت

اولویت آن‌ها حداکثر کردن نرخ تولید متن و ضریب بهره‌وری سرورها برای کاستن از هزینه ارائه مدل‌های هوش مصنوعی است.

برای شرکت‌هایی که مراکز داده کلان را اداره می‌کنند، کَش کلید-مقدار یک معضل یکسره مالی است. هر گیگابایت حافظه‌ای که پرامپت یک کاربر می‌بلعد، ظرفیتی است که نمی‌توان آن را به کاربری دیگر عرضه کرد. اپراتورها با پیاده‌سازی پاک‌سازی تهاجمی و تفکیک فازهای پیش‌پردازش و رمزگشایی، تعداد کاربران قابل‌پشتیبانی در هر رک سرور را به‌شدت بالا می‌برند. آن‌ها افزایش مختصر در تاخیر اولیه را بهایی موجه برای بقای اقتصادی هزینه هر توکن در مقیاس وسیع تلقی می‌کنند.

توسعه‌دهندگان نرم‌افزار

تمرکزشان بر کاستن از تاخیر تا دریافت نخستین توکن است تا حس چابکی چت‌بات‌ها مخدوش نشود.

سازندگان برنامه‌های کاربردی رو به مخاطب نهایی، تاوان فاز پیش‌پردازش را مانعی بزرگ در برابر روانی کار می‌دانند. هنگامی که الگوریتم دو ثانیه به زمان تفکر مدل پیش از شروع تایپ می‌افزاید، کاربر عموماً سامانه را معیوب یا کند تصور می‌کند. این برنامه‌نویسان خواهان آستانه‌های پاک‌سازی پویا هستند تا توکن‌ها تنها در زمان افت واقعی حافظه آزاد شوند؛ چراکه حفظ حس شادابی برنامه را بر بیشینه‌سازی سود ابری ترجیح می‌دهند.

سازندگان سخت‌افزار

قالب‌های فشرده‌سازی را در سطح تراشه طراحی می‌کنند تا گلوگاه پهنای باند برطرف شود.

طراحان سیلیکون نبرد با محدودیت حافظه را از مسیر دگرگونی در شیوه ثبت فیزیکی اعداد پیش می‌برند. آنان به‌جای واگذاری کامل تشخیص اهمیت واژه‌ها به نرم‌افزار، فرمت‌های با دقت پایین‌تری چون ممیز شناور ۴ بیتی را معرفی کرده‌اند. این تدبیر به کارت گرافیک امکان می‌دهد دو برابر اطلاعات را از مجراهای فیزیکی یکسان عبور دهد و کارایی پایه‌ای مهیا سازد که در ترکیب با راهکارهای نرم‌افزاری اثربخشی دوچندانی به جا می‌گذارد.

اپراتورهای زیرساخت 40%توسعه‌دهندگان نرم‌افزار 35%سازندگان سخت‌افزار 25%
اپراتورهای زیرساخت
اولویت آن‌ها حداکثر کردن نرخ تولید متن و ضریب بهره‌وری سرورها برای کاستن از هزینه ارائه مدل‌های هوش مصنوعی است.
توسعه‌دهندگان نرم‌افزار
تمرکزشان بر کاستن از تاخیر تا دریافت نخستین توکن است تا حس چابکی چت‌بات‌ها و عامل‌های تعاملی نزد کاربران نهایی مخدوش نشود.
سازندگان سخت‌افزار
قالب‌های فشرده‌سازی را در سطح تراشه طراحی می‌کنند تا گلوگاه پهنای باند را بدون نیاز به بازنویسی نرم‌افزار مرتفع سازند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • کاربران نهایی که افت پاسخ‌دهی را تجربه می‌کنند
  • توسعه‌دهندگان و نگهدارندگان مدل‌های متن‌باز

منابع

پوشش منابع

6 منبع

3 دیدگاه شناسایی‌شده

اپراتورهای زیرساخت 40%توسعه‌دهندگان نرم‌افزار 35%سازندگان سخت‌افزار 25%
  1. [1]arXivتوسعه‌دهندگان نرم‌افزار

    H_2O: Heavy-Hitter Oracle for Efficient Generative Inference of Large Language Models

    مطالعه در arXiv →
  2. [2]Hugging Faceتوسعه‌دهندگان نرم‌افزار

    SnapKV: LLM Knows What You are Looking for Before Generation

    مطالعه در Hugging Face →
  3. [3]Amazon Web Servicesاپراتورهای زیرساخت

    Disaggregated prefill and decode for LLM inference on SageMaker HyperPod

    مطالعه در Amazon Web Services →
  4. [4]NVIDIA Developer Blogسازندگان سخت‌افزار

    Optimizing Inference for Long Context and Large Batch Sizes with NVFP4 KV Cache

    مطالعه در NVIDIA Developer Blog →
  5. [5]USENIX Associationاپراتورهای زیرساخت

    Taming Throughput-Latency Tradeoff in LLM Inference with Sarathi-Serve

    مطالعه در USENIX Association →
  6. [6]تیم سردبیری کوهستان

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان →

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

اخبار هوش مصنوعی با پوشش کامل منابع و تحلیل دیدگاه‌ها، هر روز و رایگان.