اگر امروز برای تقطیر یک مدل زبانی بزرگ بودجهای در حد چندین گره GPU در نظر گرفتهاید، باید بدانید که این هزینه بهزودی به یکچهارم یا کمتر کاهش مییابد. یک واحد پردازش گرافیکی (GPU) مدل H200 اکنون میتواند وظایفی را مدیریت کند که پیش از این به چهار گره مجزا نیاز داشت.
Multiverse Computing در مقالهای با عنوان «تقطیر کارآمد دانش برای LLMها: لاجیتهای آفلاین Top-K و زیان KL تکهتکه ادغامشده» (Efficient Knowledge Distillation for LLMs: Offline Top-K Logits and a Fused Chunked KL Loss)، سیستمی را معرفی کرده است که تقطیر (Distillation) — یعنی آموزش یک مدل «شاگرد» کوچک برای تقلید از یک مدل «استاد» بزرگ — را برای تیمهای کوچک مقرونبهصرفه میکند. این فرآیند، شبیه به این است که یک استاد دانشگاه تمام دانش خود را در یک جزوه خلاصه و کاربردی برای شاگردش بنویسد تا شاگرد بدون نیاز به خواندن هزاران جلد کتاب، همان نتیجه را بگیرد. این رویکرد در واقع تکامل یافتهی مفاهیم تقطیر دادههای مصنوعی است که در آن مدلهای بزرگ به مدرسانی برای آموزش مدلهای کوچکتر تبدیل میشوند.
تقطیر اکنون استاندارد صنعت برای خلق مدلهای بهینهای مثل Nemotron 3 Puzzle 75B انویدیا یا Hypernova 60B متعلق به خود شرکت Multiverse Computing است. اما طبق گزارش این پژوهش، مشکل اصلی در مصرف وحشتناک حافظه است؛ زیرا معمولاً باید هر دو مدل استاد و شاگرد بهطور همزمان در حافظه ویدیویی (VRAM) بارگذاری شوند. برای مدلی مثل Kimi-K3 که دارای ۲.۸ تریلیون پارامتر است، تنها بارگذاری وزنها به حدود ۳ ترابایت VRAM نیاز دارد.
هزینه بازیابی در تقطیر
همانطور که در تحلیلهای قبلی ما دربارهی بهینهسازی مدلهای بازمتن اشاره کردیم، گلوگاه اصلی همواره مدیریت حافظه در مقیاسهای بزرگ بوده است. در حالت استاندارد، اکثر تیمها از تابع زیان واگرایی کولبک-لایبلر (KL Divergence) برای همراستاسازی خروجی شاگرد با استاد استفاده میکنند. در این ساختار «آنلاین»، مدل استاد در هر گام آموزشی یک مسیر پیشرو (Forward Pass) کامل را طی میکند که باعث ایجاد یک تنگنای حافظهای عظیم میشود؛ زیرا سیستم باید برای هر موقعیت توکن، دو تنسور کامل از دایره لغات را در حافظه نگه دارد.
این پیکربندی از نظر بیانگری (Expressiveness) کاملترین حالت است، زیرا توزیع کامل احتمالات مدل استاد در دسترس است، اما در عین حال، بیشترین فشار محاسباتی را وارد میکند. در این حالت، مدل استاد باید در هر گام آموزشی مجدداً محاسبه شود، در حالی که رفتار و خروجیهای آن در طول کل فرآیند آموزش هیچ تغییری نمیکند.
بر اساس مستندات این پژوهش، مدلی مثل gpt-oss-120b با دایره لغات ۲۰۱,۰۸۸ کلمهای، در یک تکرار با طول توالی ۳۲ هزار و اندازه دسته ۴، میتواند تا ۲۵۰ گیگابایت VRAM مصرف کند. در حالت bfloat16، تنها تنسور احتمال استاد (با ابعاد ۴ × ۲۰۱,۰۸۸ × ۳۲,۷۶۸) حدود ۵۰ گیگابایت فضا میگیرد. با افزودن گرادیانها، فعالسازها (Activations)، وزنهای مدل و وضعیتهای بهینهساز، مجموع مصرف از ظرفیت ۱۴۱ گیگابایتی پیشرفتهترین GPUهای H200 یا B200 فراتر میرود. این چالشها یادآور تلاشاتی است که در معماریهای دیگر صورت گرفته، مانند استفاده از TriAttention برای کاهش ۱۰ برابری مصرف حافظه در مدلهای زبانی.
تحول در کشینگ آفلاین
تیم Multiverse Computing این مشکل را با انتقال به یک گردشکار تقطیر «آفلاین» حل کرد. بهجای اجرای مدل استاد در حین آموزش، آنها خروجی استاد را یکبار محاسبه کرده و تنها ۱۰۰ توکن محتملتر (Top-100) را برای هر موقعیت ذخیره یا کش میکنند.
این به این معناست که مدل استاد دیگر نیازی نیست در کنار مدل شاگرد در حافظه مستقر شود. تیمها میتوانند از یک کش واحد برای چندین آزمایش مختلف و تحلیلهای حذفکردنی (Ablations) استفاده کنند، بدون اینکه نیاز باشد مدل عظیم استاد را دوباره اجرا کنند. این رویکرد نیاز به صدها GPU و استراتژیهای پیچیده موازیسازی تنسور (Tensor-Parallelism) را که معمولاً برای بارگذاری همزمان هر دو مدل لازم است، از بین میبرد.
حل پرش حافظه با زیان تکهتکه ادغامشده
اما حتی با کشینگ آفلاین، نحوه محاسبه تابع زیان در PyTorch یا NVIDIA Megatron-Bridge باعث ایجاد یک «پرش حافظه» (Memory Spike) میشود. روش پیشفرض، یک شبکه متراکم (Dense Grid) از کل دایره لغات ضربدر طول توالی میسازد و سپس نتیجه را تولید میکند. برای دایره لغاتی با بیش از ۱۰۰ هزار کلمه و توالیهای بلند، این شبکه حجمی غولآسا پیدا میکند.

برای رفع این نقص، سه پیادهسازی مختلف معرفی شد که از نظر ریاضی یکساناند اما رفتار حافظه متفاوتی دارند:
- Dense KL: روش پایه که شبکه متراکم استاد را از روی لاجیتهای کششده Top-100 بازسازی میکند و آن را با شبکه متراکم احتمالات شاگرد مقایسه میکند. این روش کل شبکه «دایره لغات × توالی» را دو بار در حافظه نگه میدارد.
- Forward-chunked KL: مدل استاد را پراکنده (Sparse) نگه میدارد (تنها لاجیتهای Top-100 کششده) و زیان را تکهتکه و در قالب برشهایی از موقعیتهای توالی محاسبه میکند. این روش در بنچمارکها سریعترین است اما یک نقطه کور دارد: لاجیتهای خودِ مدل شاگرد همچنان بهطور کامل محاسبه و برای مرحله پسانتشار (Backward Pass) نگه داشته میشوند، به این معنی که مصرف حافظه همچنان با افزایش طول توالی بهشدت رشد میکند.
- Fused Chunked KL: نوآوری اصلی این مقاله است که تصویرسازی خروجی (Output Projection) مدل را مستقیماً با محاسبه زیان ادغام (Fuse) میکند. در این حالت، شبکه کامل لاجیتهای شاگرد هرگز ساخته نمیشود.

در این رویکرد، هر تکه (Chunk) از توالی بهصورت سرتاسری پردازش میشود؛ یعنی حالتهای پنهان به لاجیت تبدیل شده، در زیان جاری ادغام میشوند و سپس تکه مذکور دور ریخته میشود. این باعث میشود مصرف حافظه بهجای پرش ناگهانی بر اساس اندازه دایره لغات، بهصورت خطی با طول توالی رشد کند. در مرحله پسانتشار، هر تکه بهسادگی در لحظه (On the fly) مجدداً محاسبه میشود. اگرچه این کار مستلزم دو بار انجام تصویرسازی (یکبار در مسیر پیشرو و یکبار در پسانتشار) است، اما از کرش کردن حافظه در مواجهه با دایره لغاتهای بزرگ جلوگیری میکند.

مکانیسمهای فنی زیان ادغامشده
برای درک این بهرهوری، باید به نحوه تجسم (Materialization) زیان نگاه کرد. در یک ساختار Dense KL استاندارد، سیستم شبکهای میسازد که در آن یک ردیف نماینده یک ورودی دایره لغات و یک ستون نماینده یک موقعیت توالی است. برای LLMهای مدرن، این شبکه برای جای گرفتن در VRAM بیش از حد بزرگ است.
- مدیریت حافظه: روش Fused Chunked Loss بهطور کامل از تجسم ماتریس «اندازه دایره لغات × طول توالی» اجتناب میکند. این مدیریت بهینه حافظه شباهتهای ساختاری با رویکردهای مدیریت حافظه مجازی در کتابخانه vLLM دارد که برای افزایش توان عملیاتی مدلها به کار میرود.
- تبادل محاسباتی: سیستم هزینه انجام دو بار تصویرسازی خروجی (یکبار در مسیر پیشرو و یکبار در پسانتشار) را میپذیرد تا در مقابل، VRAM را ذخیره کند.
- مقیاسپذیری خطی: چون پردازش بهصورت تکهتکه انجام میشود، مصرف حافظه دیگر بر اساس اندازه کل دایره لغات پرش نمیکند، بلکه بهصورت خطی با طول توالی رشد میکند.
بنچمارک دستاوردها
در آزمایشهایی که با مدل Llama 3.1 8B Instruct بهعنوان استاد و یک مدل ۳.۲ میلیارد پارامتری بهعنوان شاگرد در بستر ۸ هزار توکن انجام شد، هر چهار روش به زیان آموزشی تقریباً یکسانی رسیدند. این ثابت میکند که ذخیره تنها ۱۰۰ لاجیت برتر، در مقایسه با تقطیر آنلاین، تقریباً بدون افت کیفیت (Lossless) است.

در یک GPU مدل H200 با بستر ۸ هزار توکن، روش Fused Chunked در پیک مصرف به ۵۸.۳ گیگابایت VRAM رسید، در حالی که تقطیر آنلاین ۱۰۲.۸ گیگابایت مصرف میکرد. زمان هر تکرار برای Fused Chunked KL برابر با ۲۰.۲ ثانیه با توان عملیاتی ۳۰۴ TFLOP/s بود. برای مقایسه، روش Offline Forward-chunked KL با ۱۸.۴ ثانیه و ۳۳۵ TFLOP/s کمی سریعتر بود و Offline Dense KL با ۱۸.۵ ثانیه و ۳۳۱ TFLOP/s عمل کرد.

قدرت واقعی این متد در مقیاسهای بزرگتر ظاهر میشود. در یک بنچمارک ایزوله روی یک شبکه تصویرسازی خروجی ساده (که فقط شامل هسته زیان بدون بدنه ترنسفورمر بود):
- در ۳۲ هزار توکن: پیک حافظه از ۸۵.۲ گیگابایت (در روش Dense) به تنها ۵.۴۵ گیگابایت کاهش یافت؛ یعنی کاهش ۱۵.۶ برابری. روش Dense از ۶۴ هزار توکن به بعد بهطور کامل شکست میخورد و با خطای حافظه مواجه میشد.
- در ۲۵۶ هزار توکن: روش Fully Chunked تنها ۱۱.۶ گیگابایت حافظه مصرف کرد، در حالی که بهترین جایگزین ۱۳۴.۲ گیگابایت نیاز داشت و سرعت هر تکرار تقریباً ۳.۳ برابر بیشتر بود.
نتایج مدل شاگرد فشرده
با استفاده از این خط لوله بهینه، تیم توانست یک مدل شاگرد ۳.۲ میلیارد پارامتری را از استاد ۸ میلیاردی تقطیر کند. مدل حاصل، اکثر دقت استاد را در آزمونهای BoolQ و HellaSwag حفظ کرد و در محک MMLU تنها حدود ۹ امتیاز با استاد فاصله داشت، در حالی که کمتر از نصف پارامترهای او را دارد.

این تغییر، اقتصاد فشردهسازی مدل را دگرگون میکند. تقطیر یک مدل GPT-OSS 20B در بستر ۳۲,۷۶۸ توکن، نیاز سختافزاری را از چهار گره GPU به یک گره کاهش داد. زمان هر گام از ۵۷.۰ ثانیه به ۱۲.۲۳ ثانیه (حدود ۵ برابر سریعتر) رسید و توان عملیاتی هر GPU از ۷۴.۲ به ۳۴۵.۷ TFLOP/s افزایش یافت.
برای متخصصان، این یعنی «ترمیم پنجره متنی بلند» (Long-context healing) — یعنی اصلاح توانایی مدل در مدیریت اسناد طولانی — دیگر لوکسی برای دارندگان صدها GPU نیست، بلکه یک تسک عملی برای هر کسی است که یک کارت گرافیک ردهبالا دارد.
این پیشرفت، مانع ورود برای خلق مدلهای تخصصی با ردپای کوچک (Small-footprint) را که تواناییهای استدلالی اجداد تریلیون-پارامتری خود را فدا نمیکنند، از بین میبرد. این پژوهش همچنین تحلیلهای تکمیلی (Ablations) را در مورد بستهبندی توالیها (Sequence Packing) و انتخاب تابع زیان برای بهینهسازی بیشتر کیفیت بازیابی بررسی کرده است.
توسعهدهندگان اکنون میتوانند به پیادهسازی متنباز این تابع زیان تکهتکه از طریق مخزن CompactifAI در گیتهاب (github.com/CompactifAI/Full-Chunked-KL-Loss) دسترسی داشته باشند تا آن را در خط لولههای تقطیر خود ادغام کنند.
گام بعدی شما
- اگر روی مدلهای کوچک (SLM) کار میکنید، پیادهسازی متنباز این متد را از مخزن CompactifAI در گیتهاب بررسی کنید.
- برای کاهش هزینههای آموزش، استراتژی کشینگ آفلاین Top-K را جایگزین اجرای همزمان مدل استاد کنید.
- در پروژههایی با توالیهای بالای ۳۲ هزار توکن، حتماً از Fused Chunked KL برای جلوگیری از خطای Out-of-Memory استفاده کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell و مدیریت حافظه در نسل جدید مراجعه کنید.




گفتگو