هوش مصنوعی / زیرساخت هوش مصنوعی

سخت افزار لازم برای اجرای LLM روی سرور: GPU، حافظه و توان

برای اجرای مدل زبانی روی سرور چه GPU و چقدر VRAM لازم است؛ حساب حافظه‌ی مدل و KV cache، نقش پهنای باند، مقایسه‌ی GPUها، برق و خنک کنندگی و سه سناریوی نمونه.

نوشته‌ی تیم پیکوگاید آخرین بازبینی فنی: ۱۲ دقیقه مطالعه
در این صفحه
  1. پیش از خرید، این پنج عدد را مشخص کنید
  2. حافظه‌ی لازم برای وزن‌های مدل
  3. KV cache: حافظه‌ای که با context و کاربر زیاد می‌شود
  4. پهنای باند حافظه و سرعت تولید توکن
  5. کلاس‌های GPU
  6. چند GPU: NVLink یا PCIe
  7. بدون GPU دیتاسنتری: CPU و حافظه‌ی یکپارچه
  8. پلتفرم سرور
  9. PCIe و شاسی
  10. برق و خنک کنندگی
  11. RAM و NVMe
  12. نرم افزار سرویس دهی: Ollama یا vLLM
  13. سه سناریوی نمونه
  14. خرید GPU دست دوم و refurbished دیتاسنتری
  15. قدم بعدی

برای اجرای مدل زبانی روی سرور، مشخصه‌ی تعیین کننده حافظه‌ی GPU (VRAM) است: وزن‌های مدل به اضافه‌ی KV cache، یعنی حافظه‌ای که با طول context و تعداد کاربران هم‌زمان بزرگ می‌شود، باید در آن جا شوند. بعد از آن، پهنای باند حافظه سرعت تولید توکن را تعیین می‌کند. به طور خلاصه، با quantization چهار بیتی یک مدل 8 میلیاردی روی کارت 8 گیگابایتی اجرا می‌شود، مدل‌های 27 تا 32 میلیاردی کارت 24 تا 32 گیگابایتی می‌خواهند، مدل 70 میلیاردی در 48 گیگابایت به زحمت و در 80 تا 96 گیگابایت راحت جا می‌شود، و مدل‌های MoE چندصد میلیاردی مثل DeepSeek به چند GPU دیتاسنتری نیاز دارند. نصب و اجرای مدل روی سرور در آموزش Ollama آمده است.

پیش از خرید، این پنج عدد را مشخص کنید

عامل اثر روی سخت افزار
اندازه‌ی مدل (تعداد پارامتر) حجم وزن‌ها؛ در دقت 16 بیت حدود 2 GB برای هر میلیارد پارامتر
دقت (quantization) 8 بیت حدود نصف و 4 بیت حدود یک چهارم حافظه‌ی 16 بیت
طول context حجم KV cache هر درخواست
درخواست‌های هم‌زمان در ساعت اوج هر درخواست فعال KV cache جداگانه دارد
هدف: پاسخ سریع یا throughput بالا نوع و تعداد GPU و نرم افزار سرویس دهی

«۱۰۰ کاربر» با «۱۰۰ درخواست هم‌زمان» یکی نیست؛ عدد هم‌زمانی را از لاگ یک سرویس آزمایشی بسنجید.

حافظه‌ی لازم برای وزن‌های مدل

قاعده‌ی سرانگشتی در مدل زبانی بزرگ (LLM) چیست آمده است: هر میلیارد پارامتر در FP16 حدود 2 GB، در INT8 حدود 1 GB و در INT4 حدود 0.5 GB. فایل‌های واقعی کمی بزرگ‌ترند؛ در llama.cpp، فرمت Q4_K_M به طور میانگین حدود 4.9 بیت و Q8_0 حدود 8.5 بیت برای هر وزن مصرف می‌کند. حجم واقعی دانلود در کتابخانه‌ی Ollama:

اندازه نمونه 4 بیت (q4_K_M) 8 بیت (q8_0) 16 بیت
8B Llama 3.1 8B 4.9 GB 8.5 GB 16 GB
14B DeepSeek-R1 14B (distill) 9.0 GB 16 GB 30 GB
32B DeepSeek-R1 32B (distill) 20 GB 35 GB 66 GB
70B Llama 3.3 70B 43 GB 75 GB 141 GB
MoE، 117B gpt-oss-120b 65 GB (MXFP4) - -
MoE، 671B DeepSeek-R1 / V3.1 404 GB 713 GB 1.3 TB

در مدل‌های MoE (Mixture of Experts) برای هر توکن فقط بخشی از پارامترها فعال می‌شود، ولی همه‌ی پارامترها باید در حافظه باشند: تعداد کل پارامترها حافظه را تعیین می‌کند و پارامترهای فعال سرعت را. gpt-oss-120b از 117 میلیارد پارامتر 5.1 میلیارد فعال دارد و طبق OpenAI روی یک GPU هشتاد گیگابایتی جا می‌شود. DeepSeek V4-Flash در کل 284 میلیارد و V4-Pro 1.6 تریلیون پارامتر دارد (13 و 49 میلیارد فعال)؛ با قاعده‌ی بالا، فقط وزن‌های V4-Flash در 4 بیت حدود 140 GB و V4-Pro حدود 800 GB می‌شود.

KV cache: حافظه‌ای که با context و کاربر زیاد می‌شود

مدل برای هر توکنی که در context است، key و value همه‌ی لایه‌ها را نگه می‌دارد:

KV cache per token = 2 × layers × KV heads × head dim × bytes per value

Llama 3.1 8B با 32 لایه، 8 KV head و head dim برابر 128، در دقت 16 بیت برای هر توکن 128 KiB می‌گیرد. مدل 70B همان تعداد KV head و head dim را با 80 لایه دارد: 320 KiB برای هر توکن. نتیجه برای مدل 70B:

سناریو توکن در حافظه KV cache (16 بیت)
یک کاربر، context هشت هزار توکنی 8,192 2.5 GiB
یک کاربر، context 128K 131,072 40 GiB
۲۰ درخواست هم‌زمان، هر کدام 8K 163,840 50 GiB

یعنی بیست درخواست هم‌زمان با context متوسط، از خود وزن‌های چهار بیتی مدل (43 GB) حافظه‌ی بیشتری می‌گیرند. KV cache هشت بیتی (FP8 در vLLM یا q8_0 در Ollama) این عدد را نصف می‌کند. معماری‌ها در این مورد خیلی فرق دارند (DeepSeek برای V4.1-Flash حدود 890 بایت برای هر توکن اعلام کرده)؛ حساب را با config.json همان مدل انجام دهید.

پهنای باند حافظه و سرعت تولید توکن

تولید پاسخ دو مرحله دارد. در prefill کل ورودی یک جا پردازش می‌شود؛ این مرحله به توان محاسباتی (TFLOPS) وابسته است و زمان رسیدن اولین توکن را تعیین می‌کند. در decode توکن‌ها یکی یکی ساخته می‌شوند و برای هر توکن وزن‌ها از حافظه خوانده می‌شوند؛ طبق NVIDIA این مرحله memory-bound است و سرعت انتقال داده از حافظه تعیین کننده است.

سقف نظری سرعت برای یک کاربر تقریباً برابر پهنای باند تقسیم بر حجم وزن‌هاست. برای مدل 70B چهار بیتی (43 GB):

  • RTX PRO 6000 Blackwell با 1792 GB/s: حداکثر حدود 40 توکن بر ثانیه
  • H200 با 4.8 TB/s: حداکثر حدود 110 توکن بر ثانیه

عدد واقعی پایین‌تر است، ولی نسبت‌ها درست می‌مانند. جدول llama.cpp برای Llama 3.1 8B روی یک سخت افزار ثابت همین را نشان می‌دهد: حدود 72 توکن بر ثانیه با Q4_K_M در برابر حدود 29 توکن با F16. در MoE فقط وزن‌های فعال خوانده می‌شوند؛ gpt-oss-120b با وجود حجم 65 GB می‌تواند از یک مدل 70B متراکم (dense) سریع‌تر باشد.

برای چند کاربر، نرم افزار درخواست‌ها را batch می‌کند: وزن‌ها یک بار خوانده و برای چند درخواست استفاده می‌شوند. throughput کل بالا می‌رود و سرعت هر کاربر کمی کم می‌شود.

کلاس‌های GPU

GPU حافظه پهنای باند توان فرم و خنک کنندگی
GeForce RTX 4090 24 GB GDDR6X ذکر نشده 450 W کارت مصرفی، فن
GeForce RTX 5090 32 GB GDDR7 1792 GB/s 575 W کارت مصرفی، فن
RTX 6000 Ada 48 GB GDDR6 با ECC 960 GB/s 300 W ایستگاه کاری، دو اسلات، فن
RTX PRO 6000 Blackwell Workstation 96 GB GDDR7 با ECC 1792 GB/s 600 W ایستگاه کاری، دو اسلات، فن
RTX PRO 6000 Blackwell Server 96 GB GDDR7 با ECC 1597 GB/s تا 600 W سرور، خنک کنندگی هوا یا مایع
L40S 48 GB GDDR6 با ECC 864 GB/s 350 W سرور، PCIe Gen4، passive
H100 NVL 94 GB 3.9 TB/s 350 تا 400 W سرور، PCIe دو اسلات
H100 SXM 80 GB 3.35 TB/s تا 700 W ماژول SXM
H200 NVL 141 GB 4.8 TB/s تا 600 W سرور، PCIe دو اسلات
H200 SXM 141 GB 4.8 TB/s تا 700 W ماژول SXM
B200 (در DGX B200) 1,440 GB برای ۸ GPU 64 TB/s برای ۸ GPU کل سیستم حدود 14.3 kW ماژول SXM
AMD Instinct MI300X 192 GB HBM3 5.3 TB/s 750 W ماژول OAM، passive
AMD Instinct MI325X 256 GB HBM3E 6 TB/s 1000 W ماژول OAM، passive
AMD Instinct MI355X 288 GB HBM3E 8 TB/s 1400 W ماژول OAM
  • کارت‌های مصرفی برای شروع و آزمایش مناسب‌اند، ولی حافظه‌شان محدود است. NVIDIA برای سیستمی با یک RTX 5090 منبع تغذیه‌ی دست کم 1000 وات و با RTX 4090 دست کم 850 وات را لازم می‌داند.
  • کارت‌های ایستگاه کاری 48 تا 96 گیگابایت حافظه با ECC دارند. RTX PRO 6000 نسخه‌ی Max-Q هم دارد: همان 96 GB و 1792 GB/s با 300 W، که برای چند کارت در یک شاسی گرمای کمتری تولید می‌کند.
  • H100، H200، B200 و Instinct حافظه‌ی HBM با پهنای باند چند برابر دارند. ماژول‌های SXM و OAM کارت PCIe نیستند و فقط روی برد مخصوص خود (HGX در NVIDIA و UBB در AMD) نصب می‌شوند. تفاوت H100 و H200 را در مقایسه‌ی H100 و H200 ببینید.

وقتی مدل در یک GPU جا نشود، باید بین چند GPU تقسیم شود:

  • tensor parallelism: هر لایه بین GPUها تقسیم می‌شود و برای هر توکن داده‌ی زیادی بین کارت‌ها منتقل می‌شود؛ پس با NVLink بهترین کارایی را دارد: 900 GB/s در H100 و H200 SXM در برابر 128 GB/s برای PCIe Gen5 x16.
  • pipeline parallelism: هر گروه از لایه‌ها روی یک GPU است و ارتباط بین کارت‌ها کمتر است.

مستندات vLLM داخل یک سرور tensor parallelism و بین چند سرور ترکیب آن با pipeline parallelism را توصیه می‌کند؛ برای کارت‌های بدون NVLink مثل L40S، حتی داخل یک سرور pipeline parallelism را. L40S و RTX 6000 Ada طبق datasheet رسمی NVLink ندارند؛ H100 NVL (600 GB/s) و H200 NVL (900 GB/s با bridge دو یا چهار کارته) در سرور PCIe هم NVLink دارند.

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

بدون GPU دیتاسنتری: CPU و حافظه‌ی یکپارچه

  • فقط CPU: AMD EPYC 9755 دوازده کانال DDR5 تا 6400 MT/s و پهنای باند 614 GB/s برای هر سوکت دارد و RAM سرور تا چند ترابایت بالا می‌رود. برای مدل‌های MoE با پارامتر فعال کم و چند کاربر قابل استفاده است، ولی prefill روی CPU خیلی کندتر از GPU است.
  • Apple Silicon: Mac Studio با M5 Ultra تا 512 GB حافظه‌ی یکپارچه با 1.2 TB/s دارد و M5 Max تا 128 GB با 614 GB/s. GPU به کل این حافظه دسترسی دارد. برای یک توسعه دهنده یا تیم کوچک معقول است، ولی سرور رک نیست.
  • NVIDIA DGX Spark: 128 GB حافظه‌ی یکپارچه با 273 GB/s. مدل بزرگ جا می‌شود، ولی مدل‌های متراکم کند تولید می‌کنند.

پلتفرم سرور

PCIe و شاسی

هر GPU از نوع PCIe به اسلات x16 نیاز دارد (Gen5 x16 برابر 128 GB/s و Gen4 x16 برابر 64 GB/s). EPYC 9755 طبق مشخصات رسمی 128 lane از نوع PCIe 5.0 دارد. در سرور چند کارته، lane کارت‌ها را با کارت شبکه و NVMe جمع بزنید و ببینید هر اسلات GPU واقعاً x16 است یا نه. برای دادن GPU به ماشین مجازی، VT-d یا AMD-Vi لازم است (نصب Proxmox VE).

برق و خنک کنندگی

  • توان GPUها، پردازنده‌ها (EPYC 9755 به تنهایی 500 W TDP دارد)، دیسک‌ها و فن‌ها را جمع بزنید. در منبع تغذیه‌ی افزونه‌ی 1+1، هر PSU باید به تنهایی کل بار را تحمل کند.
  • سقف توان و سرمایش هر رک را پیش از خرید با دیتاسنتر هماهنگ کنید؛ یک DGX B200 حدود 14.3 kW مصرف می‌کند و 10U فضا می‌گیرد.
  • کارت‌های passive مثل L40S و ماژول‌های Instinct فن ندارند و به جریان هوای سرور وابسته‌اند؛ آن‌ها را فقط در سروری نصب کنید که سازنده‌اش آن کارت را پشتیبانی می‌کند.
  • کانکتور برق کارت‌ها یکسان نیست: RTX 5090 کابل 600 وات PCIe Gen 5 (یا چهار 8-pin با تبدیل)، RTX 6000 Ada و L40S کانکتور 16-pin دارند و ماژول OAM برق 54 ولت را از برد UBB می‌گیرد.

RAM و NVMe

RAM سیستم را دست کم هم اندازه‌ی بزرگ‌ترین فایل مدل بگیرید؛ NVIDIA در DGX B200 کنار 1,440 GB حافظه‌ی GPU، 2 TB حافظه‌ی سیستم گذاشته است.

زمان بارگذاری مدل تقریباً حجم فایل تقسیم بر سرعت خواندن دیسک است. رابط SATA با 6 Gb/s سقفی حدود 600 MB/s دارد و بارگذاری مدل 43 GB با آن بیش از یک دقیقه طول می‌کشد؛ مدل‌ها را روی NVMe محلی نگه دارید (مقایسه‌ی HDD، SSD، SAS و NVMe).

نرم افزار سرویس دهی: Ollama یا vLLM

Ollama vLLM
راه اندازی یک دستور؛ لینوکس، ویندوز و macOS لینوکس؛ پایتون
سخت افزار NVIDIA با compute capability 5.0 به بالا، AMD، Apple، CPU NVIDIA با compute capability 7.5 به بالا، AMD Instinct و Radeon، و سخت افزارهای دیگر
چند کاربر پیش فرض یک درخواست هم‌زمان برای هر مدل (OLLAMA_NUM_PARALLEL) PagedAttention و continuous batching برای throughput بالا
چند GPU پخش لایه‌ها بین GPUها tensor و pipeline parallelism
مناسب برای یک نفر تا تیم کوچک سرویس سازمانی با کاربران زیاد

هر دو API سازگار با OpenAI دارند؛ پس می‌توانید با Ollama شروع کنید و بعداً بدون تغییر برنامه‌ها به vLLM بروید.

سه سناریوی نمونه

سناریو مدل و حافظه سخت افزار پیشنهادی نرم افزار
یک توسعه دهنده مدل 27 تا 32 میلیاردی در 4 بیت (18 تا 20 GB) یک RTX 4090 یا RTX 5090، یا Mac با 64 GB حافظه‌ی یکپارچه یا بیشتر Ollama
تیم ۲۰ نفره با رابط چت 70B در 4 بیت (43 GB) به اضافه‌ی ۸ درخواست هم‌زمان 8K (حدود 20 GiB)؛ جمعاً حدود 65 GB یک RTX PRO 6000 با 96 GB، یا دو کارت 48 GB مثل L40S یا RTX 6000 Ada vLLM، یا Ollama با OLLAMA_NUM_PARALLEL=8
RAG سازمانی برای ۱۰۰+ کاربر 70B در FP8 (حدود 70 GB) به اضافه‌ی ۳۰ درخواست هم‌زمان 16K (150 GiB در 16 بیت یا 75 GiB در FP8) دو H200 یا چهار H100 SXM با NVLink در یک سرور vLLM با tensor parallelism

در RAG، promptها به خاطر اسناد بازیابی شده طولانی‌اند و prefill بار اصلی است؛ پس توان محاسباتی GPU هم مهم است. مدل embedding و پایگاه داده‌ی برداری را هم حساب کنید و برای دسترس پذیری، سرور دوم یا ظرفیت اضافه داشته باشید.

خرید GPU دست دوم و refurbished دیتاسنتری

  • خنک کنندگی: کارت passive در کیس رومیزی یا سرور بدون جریان هوای کافی داغ می‌شود و سرعتش افت می‌کند.
  • برق: کابل را از سازنده‌ی سرور بگیرید و از تبدیل‌های نامطمئن استفاده نکنید.
  • SXM و OAM: ماژول تنها بدون برد HGX یا UBB قابل استفاده نیست.
  • پشتیبانی نرم افزاری: CUDA 13.0 پشتیبانی کامپایل و کتابخانه برای معماری‌های Maxwell، Pascal و Volta (مثل Tesla P40 و V100) را حذف کرده است و vLLM به compute capability 7.5 به بالا نیاز دارد. Ollama هنوز از 5.0 به بالا پشتیبانی می‌کند، ولی برای کارت‌های 5.0 تا 6.2 درایور 570 می‌خواهد.
  • سلامت کارت: شمارنده‌های خطای حافظه را با nvidia-smi -q -d ECC بررسی کنید و کارت را چند ساعت زیر بار کامل تست کنید.

قدم بعدی

پیش از خرید چند کارت، مدل مورد نظر را روی یک کارت یا سرور آزمایشی با Ollama و گزینه‌ی --verbose اجرا کنید تا سرعت واقعی prefill و decode را روی promptهای واقعی سازمان ببینید. این عددها تعداد GPU لازم را از هر جدولی دقیق‌تر نشان می‌دهند.

منابع

  1. NVIDIA H100 Tensor Core GPU www.nvidia.com
  2. NVIDIA H200 Tensor Core GPU www.nvidia.com
  3. NVIDIA L40S GPU www.nvidia.com
  4. NVIDIA DGX B200 www.nvidia.com
  5. NVIDIA RTX PRO 6000 Blackwell Workstation Edition www.nvidia.com
  6. NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition www.nvidia.com
  7. NVIDIA RTX PRO 6000 Blackwell Server Edition www.nvidia.com
  8. NVIDIA RTX 6000 Ada Generation Datasheet www.nvidia.com
  9. NVIDIA GeForce RTX 5090 www.nvidia.com
  10. New GeForce RTX 50 Series Graphics Cards & Laptops (NVIDIA GeForce News) www.nvidia.com
  11. NVIDIA GeForce RTX 4090 www.nvidia.com
  12. AMD Instinct MI300X www.amd.com
  13. AMD Instinct MI325X www.amd.com
  14. AMD Instinct MI355X www.amd.com
  15. AMD EPYC 9755 www.amd.com
  16. Mac Studio — Technical Specifications (Apple) www.apple.com
  17. NVIDIA DGX Spark www.nvidia.com
  18. Mastering LLM Techniques — Inference Optimization (NVIDIA Technical Blog) developer.nvidia.com
  19. The Llama 3 Herd of Models (Meta, arXiv 2407.21783) arxiv.org
  20. llama.cpp — llama-quantize README github.com
  21. vLLM — Parallelism and Scaling docs.vllm.ai
  22. vLLM — GPU Installation docs.vllm.ai
  23. openai/gpt-oss (GitHub) github.com
  24. DeepSeek-V4-Flash Model Card (Hugging Face) huggingface.co
  25. DeepSeek-V4.1-Flash Model Card (Hugging Face) huggingface.co
  26. CUDA Toolkit 13.0 Release Notes docs.nvidia.com
  27. Ollama Model Library ollama.com