پرش به محتوا
← همهٔ یادداشت‌ها

اجرای مدل زبانی: جدول VRAM و انتخاب کارت گرافیک

·۷ دقیقه مطالعه·تیم جی‌پی‌یو

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

وقتی می‌خواهید یک مدل زبانی باز را روی کارت گرافیک اجاره‌ای بالا بیاورید، اولین سؤال همیشه یکی است: این مدل روی چند گیگابایت VRAM جا می‌شود؟ این راهنما به همین جواب می‌دهد. یک جدول عملی می‌گیرید که می‌گوید اجرای مدل زبانی در اندازه‌های ۸، ۱۴، ۳۲ و ۷۰ میلیارد پارامتر با کوانتیزه‌سازی رایج چقدر حافظه می‌خواهد و روی کدام GPU باید اجاره شود.

بعد هم یاد می‌گیرید همین را روی ماشین خودتان تأیید کنید: با یک دستور ببینید مدل کامل روی GPU رفته یا نصفش به رم سیستم افتاده — که فرق بین «سریع» و «کند و بی‌فایده» است. کل کار حدود ۲۰ دقیقه وقت می‌برد و روی یک کارت ۱۲ گیگی حدود ۶ هزار تومان خرج دارد.

پیش‌نیازها

  • یک حساب در جی‌پی‌یو؛ اگر ندارید از صفحهٔ ثبت‌نام شروع کنید.
  • یک کلید عمومی SSH ثبت‌شده در /account. ورود به ماشین فقط با کلید است و رمز عبوری وجود ندارد.
  • موجودی کیف پول حداقل به اندازهٔ یک ساعت از نرخ ماشینی که می‌خواهید اجاره کنید.
  • آشنایی مقدماتی با Ollama. اگر تا به حال مدلی اجرا نکرده‌اید، اول اجرای مدل زبانی با Ollama روی GPU ابری را بخوانید.

VRAM لازم را چطور تخمین بزنیم

قاعدهٔ اصلی ساده است: هر پارامتر مدل به تعداد بیتی که با آن ذخیره شده حافظه می‌خورد. مدل خام معمولاً ۱۶ بیتی است، یعنی هر میلیارد پارامتر حدود ۲ گیگابایت. با کوانتیزه‌سازی همان وزن‌ها را با دقت کمتر ذخیره می‌کنند و حجم پایین می‌آید.

رایج‌ترین حالت در Ollama و llama.cpp، فرمت GGUF با کوانتیزهٔ Q4_K_M است: حدود ۴.۵ بیت برای هر وزن، یعنی تقریباً ۰.۶ گیگابایت به ازای هر میلیارد پارامتر. افت کیفیت در این حالت کم و برای بیشتر کارها بی‌اهمیت است. پس یک مدل ۱۴ میلیاردی در Q4_K_M حدود ۹ گیگابایت می‌شود.

اما وزن‌ها همهٔ ماجرا نیستند. دو چیز دیگر هم VRAM می‌خورند:

  • حافظهٔ کانتکست (KV cache): هرچه طول کانتکست بیشتر باشد، بیشتر. برای کانتکست پیش‌فرض چند هزار توکنی، چیزی حدود ۱ تا ۲ گیگابایت.
  • سربار خود CUDA و بافرهای اجرا: حدود ۱ گیگابایت.

قاعدهٔ انگشتی: حجم فایل مدل + حدود ۳ گیگابایت. اگر این عدد از VRAM کارت بیشتر شد، بخشی از مدل روی رم سیستم اجرا می‌شود و سرعت تولید توکن چند برابر پایین می‌آید.

جدول: کدام مدل روی کدام کارت گرافیک

اعداد ستون «حجم مدل» حجم واقعی دانلود همان مدل در Ollama با کوانتیزهٔ پیش‌فرض Q4_K_M است.

اندازهٔ مدل نمونه حجم مدل VRAM پیشنهادی کارت مناسب
۸ میلیارد qwen3:8b حدود ۵ گیگابایت ۸ تا ۱۲ گیگابایت RTX 3060
۱۲ تا ۱۴ میلیارد gemma3:12b، qwen3:14b ۸ تا ۹ گیگابایت ۱۲ تا ۱۶ گیگابایت RTX 3060، RTX A4000
۲۷ تا ۳۲ میلیارد gemma3:27b، qwen3:32b ۱۷ تا ۲۰ گیگابایت ۲۴ گیگابایت RTX 3090، RTX 4090
۷۰ میلیارد llama3.3:70b حدود ۴۳ گیگابایت ۴۸ گیگابایت RTX A6000

دو نکتهٔ مهم دربارهٔ این جدول. اول این‌که مدل‌های ۸ تا ۱۴ میلیاردی روی یک کارت ۱۲ گیگی جا می‌شوند، ولی اگر کانتکست را بلند بگیرید جا کم می‌آید؛ برای کار جدی با مدل ۱۴ میلیاردی، ۱۶ گیگابایت خیالتان را راحت‌تر می‌کند. دوم این‌که مدل ۷۰ میلیاردی روی ۲۴ گیگابایت اجرا نمی‌شود — نه این‌که کند شود، بلکه نصفش روی CPU می‌افتد و عملاً غیرقابل استفاده است.

انتخاب ماشین مناسب

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

  • RTX 3060 (۱۲ گیگابایت) — از حدود ۱۶ هزار تومان در ساعت. انتخاب اقتصادی برای مدل‌های ۸ میلیاردی.
  • RTX A4000 (۱۶ گیگابایت) — از حدود ۲۷ هزار تومان در ساعت. نقطهٔ شیرین برای مدل‌های ۱۲ تا ۱۴ میلیاردی.
  • RTX 3090 (۲۴ گیگابایت) — از حدود ۴۴ هزار تومان در ساعت. ارزان‌ترین راه رسیدن به مدل‌های ۳۲ میلیاردی.
  • RTX 4090 (۲۴ گیگابایت) — از حدود ۱۱۲ هزار تومان در ساعت. همان ظرفیت ۳۰۹۰ ولی محسوس سریع‌تر.
  • RTX A6000 (۴۸ گیگابایت) — از حدود ۱۲۴ هزار تومان در ساعت. برای مدل ۷۰ میلیاردی.

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

اجاره و راه‌اندازی

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

ssh -p <PORT> root@<HOST>

روی ماشین، اول ببینید کارت چقدر حافظه دارد:

nvidia-smi --query-gpu=name,memory.total --format=csv

خروجی باید نام کارت و حافظه‌اش را بدهد، مثلاً NVIDIA GeForce RTX 3090, 24576 MiB. حالا یک مدل متناسب با همین عدد را از جدول بالا بردارید و بکشید:

ollama pull qwen3:14b

دانلود روی خود ماشین و با سرعت گیگابیتی انجام می‌شود، نه از اینترنت شما؛ یک مدل ۹ گیگی معمولاً در کمتر از دو دقیقه کامل می‌شود.

تست عملی: مدل واقعاً روی GPU رفت؟

مدل را اجرا کنید و یک سؤال بپرسید:

ollama run qwen3:14b

بعد در یک ترمینال دوم (یا با /bye و برگشت به شل) این را بزنید:

ollama ps

خروجی ستونی به نام PROCESSOR دارد. این مهم‌ترین عدد کل این آموزش است:

  • 100% GPU یعنی همهٔ مدل داخل VRAM جا شده. همین را می‌خواهید.
  • 100% CPU یعنی اصلاً روی کارت نرفته.
  • چیزی مثل 48%/52% CPU/GPU یعنی مدل نصفه‌نیمه تقسیم شده و سرعت به‌شدت پایین می‌آید.

اگر تقسیم شده بود، یا مدل کوچک‌تری بردارید، یا کانتکست را کم کنید، یا ماشینی با VRAM بیشتر اجاره کنید. مصرف لحظه‌ای را هم می‌توانید ببینید:

nvidia-smi

کانتکست و کوانتیزه‌سازی: دو اهرم شما

طول کانتکست مستقیم روی VRAM اثر می‌گذارد. اگر مدل با کانتکست پیش‌فرض جا می‌شود ولی با کانتکست بلند نه، می‌توانید موقع اجرا آن را تنظیم کنید:

ollama run qwen3:14b
>>> /set parameter num_ctx 4096

اهرم دوم کوانتیزه‌سازی است. Q4_K_M پیش‌فرض و تعادل خوبی است؛ اگر VRAM اضافه دارید Q5_K_M یا Q8_0 کیفیت بالاتری می‌دهد و حجم بیشتری می‌گیرد. برای انتخاب دستی کوانتیزه، مدل GGUF را مستقیم از Hugging Face با برچسب کوانتیزه اجرا کنید:

ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:Q8_0

قاعده‌اش این است: مدل بزرگ‌ترِ کوانتیزه‌شده معمولاً بهتر از مدل کوچک‌ترِ با دقت بالا است. یک مدل ۳۲ میلیاردی در Q4_K_M تقریباً همیشه از یک مدل ۱۴ میلیاردی در Q8_0 جواب بهتری می‌دهد، با همان مصرف حافظه.

اگر به مشکل خوردید

  • CUDA out of memory موقع بالا آمدن مدل: مدل برای این کارت بزرگ است. یک رده پایین‌تر بروید یا num_ctx را کم کنید.
  • تولید توکن خیلی کند است: ollama ps را ببینید؛ تقریباً همیشه به این دلیل است که PROCESSOR صد درصد GPU نیست.
  • دانلود مدل نصفه می‌ماند: دوباره ollama pull را بزنید؛ از همان‌جا ادامه می‌دهد.
  • فضای دیسک پر می‌شود: مدل‌های امتحان‌شده را با ollama rm <model> پاک کنید و با ollama ls فهرست را ببینید.
  • بعد از ری‌استارت مدل نیست: دیسک ماشین با حذف ماشین پاک می‌شود؛ فضای ذخیره‌سازی دائمی وجود ندارد.

هزینه و صرفه‌جویی

برای همین آزمایش — اجاره، دانلود دو مدل و چند پرسش — حدود ۲۰ تا ۳۰ دقیقه کافی است. روی RTX 3060 یعنی چیزی حدود ۸ هزار تومان و روی RTX 3090 حدود ۲۲ هزار تومان.

سه عادت که پول نگه می‌دارد: اول، قبل از اجارهٔ کارت گران، مدل را روی ارزان‌ترین کارتی که در جدول جا می‌دهد تست کنید. دوم، همهٔ مدل‌هایی که لازم دارید را در یک جلسه دانلود کنید، چون با حذف ماشین همه‌چیز پاک می‌شود. سوم، کار که تمام شد ماشین را متوقف یا حذف کنید؛ ماشین متوقف‌شده هزینه ندارد و هزینه دقیقه‌ای حساب می‌شود.

قدم بعدی

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

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

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

به اندازهٔ مدل بستگی دارد. با کوانتیزهٔ Q4_K_M تقریباً ۰.۶ گیگابایت به ازای هر میلیارد پارامتر، به اضافهٔ حدود ۳ گیگابایت سربار. یعنی مدل ۸ میلیاردی حدود ۸ گیگابایت و مدل ۳۲ میلیاردی حدود ۲۴ گیگابایت می‌خواهد.

آیا مدل ۷۰ میلیاردی روی RTX 4090 اجرا می‌شود؟

نه به شکل قابل استفاده. فایل مدل در Q4_K_M حدود ۴۳ گیگابایت است و روی ۲۴ گیگابایت جا نمی‌شود؛ بخشی روی CPU اجرا می‌شود و سرعت به‌شدت پایین می‌آید. برای این اندازه یک کارت ۴۸ گیگابایتی مثل RTX A6000 اجاره کنید.

کوانتیزه‌سازی کیفیت مدل را خراب می‌کند؟

در حد Q4_K_M افت کیفیت کم و برای بیشتر کارها نامحسوس است. اگر VRAM اضافه دارید Q5_K_M یا Q8_0 بردارید، ولی اگر مجبور به انتخاب هستید، مدل بزرگ‌تر با کوانتیزهٔ پایین‌تر معمولاً نتیجهٔ بهتری می‌دهد.

چطور بفهمم مدل کامل روی کارت گرافیک اجرا می‌شود؟

دستور ollama ps را بزنید و ستون PROCESSOR را ببینید. اگر 100% GPU نوشته بود همه‌چیز درست است؛ اگر درصدی از CPU در آن بود، مدل بین کارت و رم سیستم تقسیم شده و باید مدل کوچک‌تر یا کارت بزرگ‌تری بردارید.

می‌توانم مدل را روی ماشین نگه دارم تا دفعهٔ بعد دانلود نکنم؟

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

تصویر کاور: «Matryoshka from Hungary» اثر Wilfredor، از ویکی‌مدیا کامنز، لایسنس CC0.