VRAM چیست و چقدر برای اجرای مدل‌های زبانی بزرگ لازم است؟

1405/05/29
VRAM چیست و چقدر برای اجرای مدل‌های زبانی بزرگ لازم است؟

VRAM (Video RAM) حافظه‌ای است که مستقیماً روی کارت گرافیک نصب شده و برای ذخیره داده‌هایی که GPU در حال پردازش آن‌هاست استفاده می‌شود — در بار کاری هوش مصنوعی، این یعنی وزن‌های مدل (model weights)، فعال‌سازی‌های میانی (activations) و بافر داده ورودی. برخلاف RAM سیستم، VRAM بسیار سریع‌تر است اما معمولاً حجم کمتری دارد (از چند گیگابایت تا ۸۰ گیگابایت در کارت‌های دیتاسنتری).

قاعده تقریبی محاسبه VRAM

برای صرفاً اجرای یک مدل (inference) با دقت fp16 (رایج‌ترین حالت)، قاعده سرانگشتی معمول این است: هر یک میلیارد پارامتر مدل تقریباً ۲ گیگابایت VRAM نیاز دارد. یعنی یک مدل ۷ میلیارد پارامتری (7B) حدود ۱۴ گیگابایت، و یک مدل ۱۳B حدود ۲۶ گیگابایت VRAM می‌خواهد — به‌علاوه چند گیگابایت اضافه برای context window و بافرهای اجرا.

Quantization راه کاهش مصرف

با فشرده‌سازی دقت عددی مدل (quantization) به int8 یا int4، حجم VRAM لازم تقریباً نصف یا یک‌چهارم fp16 می‌شود — یعنی همان مدل 7B با quantization int4 ممکن است در حدود ۴ تا ۵ گیگابایت VRAM هم اجرا شود، البته معمولاً با افت جزئی کیفیت خروجی.

Training در برابر Inference

آموزش یا Fine-tune مدل چند برابر بیشتر از inference صرف VRAM می‌کند، چون علاوه بر وزن‌ها باید gradient و optimizer state هم در حافظه نگه داشته شود. برای Fine-tune مدل‌های متوسط معمولاً به کارت‌هایی با VRAM بالاتر (مثل A5000 با ۲۴ گیگابایت یا A100 با ۴۰/۸۰ گیگابایت) نیاز است.

کمبود VRAM چه علامتی دارد؟

خطای رایج CUDA Out of Memory دقیقاً به همین معنی است: مدل یا بچ داده بزرگ‌تر از VRAM موجود است. راه‌حل‌ها شامل کاهش batch size، فعال‌سازی quantization، یا انتخاب کارتی با VRAM بیشتر است.

جمع‌بندی

قبل از انتخاب سرور GPU، ابتدا اندازه مدل و روش اجرا (inference ساده یا training/fine-tune) را مشخص کنید، سپس VRAM لازم را با قاعده بالا تخمین بزنید و کارتی متناسب با آن انتخاب کنید — نه لزوماً گران‌ترین گزینه موجود.

#GPU #هوش مصنوعی