برای اجرای مدل هوش مصنوعی چه سروری نیاز داریم؟ پاسخ به این سؤال فقط با گفتن «یک GPU قوی بخرید» ممکن نیست. یک مدل زبانی ۳ میلیارد پارامتری که فقط یک کاربر از آن استفاده میکند، نیاز سختافزاری کاملاً متفاوتی با یک LLM هفتاد میلیارد پارامتری، یک سیستم RAG سازمانی با صدها کاربر یا پروژهای دارد که قرار است مدل را Fine-Tune یا از صفر Train کند.
مهمترین عامل در انتخاب سرور مناسب برای هوش مصنوعی این است که ابتدا Workload را دقیق مشخص کنیم: آیا فقط میخواهیم مدل را برای Inference اجرا کنیم؟ آیا مدل Quantized است؟ Context Window چقدر است؟ چند کاربر همزمان درخواست میفرستند؟ آیا مدل فقط متن پردازش میکند یا Multimodal است؟ آیا RAG، Embedding یا Vector Database هم روی همان سرور اجرا میشوند؟ و مهمتر از همه، مدل چند میلیارد پارامتر دارد و با چه Precisionی بارگذاری میشود؟
در این راهنما از پایه توضیح میدهیم CPU، GPU، VRAM، RAM، NVMe و شبکه چه نقشی در اجرای LLM دارند، برای مدلهای 3B، 7B، 14B، 32B و 70B تقریباً چه منابعی لازم است، Quantization چقدر حافظه را کاهش میدهد، چه زمانی VPS معمولی کافی است و چه زمانی باید سراغ GPU Server یا چند GPU بروید.
اگر هنوز با مفهوم پارامتر، Token، Context Window، Quantization یا Inference آشنا نیستید، ابتدا مقاله LLM چیست و چگونه کار میکند؟ را مطالعه کنید؛ چون در این مقاله تمرکز ما روی زیرساخت اجرای مدل است.
سطح مقاله: متوسط تا پیشرفته | مناسب برای: توسعهدهندگان AI، مدیران سرور، DevOps، تیمهای RAG و Agent، استارتاپها و سازمانهایی که قصد Self-Host کردن مدل هوش مصنوعی را دارند.
فهرست مطالب
- پاسخ سریع؛ چه سروری برای AI لازم است؟
- اول مشخص کنید چه کاری با مدل دارید
- تفاوت Inference، Fine-Tuning و Training
- اجزای مهم یک سرور هوش مصنوعی
- چرا GPU برای LLM مهم است؟
- VRAM چیست و چرا مهمترین عدد است؟
- فرمول محاسبه VRAM مدل
- FP32، BF16، FP16، FP8، INT8 و INT4 چه تفاوتی دارند؟
- جدول VRAM مدلهای 3B تا 70B
- KV Cache چیست و چرا Context حافظه میخورد؟
- تأثیر Context Window بر سختافزار
- تعداد کاربر همزمان چه اثری دارد؟
- CPU چه نقشی در سرور AI دارد؟
- چقدر RAM نیاز داریم؟
- SSD و NVMe چقدر مهماند؟
- شبکه و Bandwidth سرور AI
- Quantization چیست و چقدر کمک میکند؟
- سرور مناسب برای مدلهای مختلف
- آیا LLM بدون GPU اجرا میشود؟
- آیا VPS معمولی برای هوش مصنوعی کافی است؟
- چه زمانی GPU Server لازم است؟
- چه زمانی چند GPU نیاز داریم؟
- PCIe و NVLink چرا اهمیت دارند؟
- سرور مناسب RAG چیست؟
- سرور Embedding و Vector Database
- سرور مناسب Fine-Tuning
- سختافزار Training از صفر
- سرور Production AI چه تفاوتی دارد؟
- نرمافزارهای رایج Serving
- جدول انتخاب سرور بر اساس سناریو
- اشتباهات رایج هنگام خرید سرور AI
- چکلیست انتخاب سرور
- سوالات متداول
- جمعبندی
پاسخ سریع؛ چه سروری برای اجرای مدل هوش مصنوعی لازم است؟
اگر فقط یک راهنمای خیلی سریع میخواهید، برای Inference مدلهای متنی Quantized میتوان تقریباً از این نقطه شروع کرد:
| اندازه مدل | VRAM پیشنهادی اولیه | سناریوی معمول |
|---|---|---|
| 1B تا 3B | ۴ تا ۸ GB | آزمایش، Edge، ابزار سبک |
| 7B تا 8B | ۸ تا ۱۲ GB | Local AI، Chatbot، RAG سبک |
| 13B تا 14B | ۱۲ تا ۱۶ GB | دستیار قویتر، Coding، RAG |
| 30B تا 34B | ۲۴ GB یا بیشتر | Inference حرفهای و تککاربره/کمکاربر |
| 70B | ۴۸ GB حداقل عملی Q4؛ معمولاً بیشتر | مدل بزرگ، نیازمند GPU حرفهای یا Multi-GPU |
این جدول برای یک مدل حدود ۴-bit و بار کاری نسبتاً سبک است و قانون قطعی نیست. Context طولانی، تعداد کاربران، نوع معماری مدل، KV Cache و Runtime میتوانند حافظه لازم را بسیار افزایش دهند.
برای Production بهتر است VRAM را دقیقاً تا مرز ظرفیت پر نکنید و برای KV Cache، CUDA Graphها، بافرها و رشد ترافیک Headroom در نظر بگیرید.
قبل از انتخاب سرور، اول مشخص کنید با AI چه کاری دارید
عبارت «اجرای هوش مصنوعی» بیش از حد کلی است. حداقل پنج Workload متفاوت وجود دارد:
- استفاده از API مدل یک Provider خارجی
- Self-Host کردن LLM برای Inference
- اجرای RAG و Embedding
- Fine-Tuning یک مدل آماده
- Training مدل از صفر
نیاز سختافزاری این پنج حالت اختلاف بسیار زیادی دارد.
اگر فقط API استفاده میکنید
GPU روی سرور شما لازم نیست.
Application Server فقط:
- درخواست را دریافت میکند.
- API مدل را فراخوانی میکند.
- Database و Business Logic را اجرا میکند.
- نتیجه را به کاربر برمیگرداند.
در این حالت حتی یک VPS آلمان با CPU و RAM مناسب میتواند Backend یک سرویس AI را اجرا کند، چون محاسبات اصلی مدل روی زیرساخت Provider انجام میشود.
اگر مدل را Self-Host میکنید
حالا GPU و مخصوصاً VRAM تبدیل به عامل اصلی میشوند.
تفاوت Inference، Fine-Tuning و Training
| عملیات | مصرف منابع | توضیح |
|---|---|---|
| Inference | کمترین | اجرای مدل آموزشدیده و تولید پاسخ |
| LoRA / QLoRA Fine-Tuning | متوسط | آموزش Adapter یا بخش کوچکی از مدل |
| Full Fine-Tuning | زیاد | بهروزرسانی تمام Weightها |
| Pretraining از صفر | بسیار زیاد | آموزش کامل Foundation Model |
این تفاوت بسیار مهم است. ممکن است یک مدل 8B در حالت Quantized روی یک GPU با ۸ یا ۱۲ گیگابایت VRAM برای Inference اجرا شود، اما Full Training همان مدل دهها یا حتی بیش از صد گیگابایت GPU Memory نیاز داشته باشد.
اجزای مهم یک سرور هوش مصنوعی
یک AI Server را نباید فقط با GPU ارزیابی کرد. اجزای مهم شامل:
- GPU: محاسبات اصلی Tensor و Matrix
- VRAM: Weightها، KV Cache و بخشی از Runtime
- CPU: Tokenization، Application Logic، Data Processing
- RAM: Model Loading، Offloading، Dataset و Cache
- NVMe: Weightها، Dataset و Model Cache
- Network: API Traffic و Multi-node Communication
در اکثر LLM Deploymentها، اولین محدودیتی که با آن مواجه میشوید VRAM است.
چرا GPU برای LLM مهم است؟
Transformerها مقدار زیادی Matrix Multiplication انجام میدهند. GPU برای اجرای تعداد بسیار زیادی عملیات موازی طراحی شده و به همین دلیل در Training و Inference شبکههای عصبی بسیار کارآمدتر از CPU عمومی است.
اما همه GPUها برای AI یکسان نیستند.
موارد مهم هنگام انتخاب GPU:
- مقدار VRAM
- Memory Bandwidth
- Tensor Core / AI Acceleration
- پشتیبانی از BF16 و FP16
- پشتیبانی از FP8 یا Precisionهای جدید
- نسل معماری GPU
- توان حرارتی
- قابلیت Multi-GPU
برای LLM، یک GPU با Compute قوی ولی VRAM بسیار کم ممکن است نتواند مدل موردنظر را اصلاً Load کند.
VRAM چیست و چرا مهمترین عدد است؟
VRAM حافظه اختصاصی GPU است.
هنگام Inference معمولاً بخش مهمی از موارد زیر باید در VRAM قرار گیرد:
- Model Weights
- KV Cache
- Activationهای لازم
- Temporary Buffers
- CUDA Graphها یا Runtime Data
اگر Model Weight بهتنهایی 22GB باشد، خرید GPU 24GB به این معنی نیست که حتماً مدل با Context و Concurrency مطلوب در آن جا میشود.
بنابراین همیشه کمی Headroom لازم است.
فرمول ساده محاسبه حافظه مدل
برای Inference میتوان وزن مدل را تقریباً با این فرمول محاسبه کرد:
Weight Memory ≈ Parameters × Bytes per Parameterبرای چند Precision رایج:
| Precision | حافظه تقریبی هر پارامتر |
|---|---|
| FP32 | 4 Bytes |
| BF16 / FP16 | 2 Bytes |
| FP8 / INT8 | حدود ۱ Byte |
| INT4 | حدود ۰.۵ Byte |
مثلاً برای مدل 8B در BF16:
8 billion × 2 bytes
≈ 16 GBبرای همان مدل در ۴-bit:
8 billion × 0.5 bytes
≈ 4 GBاما این فقط Weight Memory است.
VRAM واقعی موردنیاز = Model Weights + KV Cache + Runtime + Temporary Buffers + Headroom
Precision چه تأثیری دارد؟
کاهش Precision باعث میشود Weightهای مدل فضای کمتری اشغال کنند.
مثلاً یک مدل 70B:
BF16:
70 × 2 ≈ 140 GB فقط Weight
INT8:
70 × 1 ≈ 70 GB
INT4:
70 × 0.5 ≈ 35 GBهمین تفاوت است که Quantization امکان اجرای مدلهای بزرگ را روی سختافزار کوچکتر فراهم میکند.
جدول تقریبی VRAM مدلهای مختلف
جدول زیر برای درک ابعاد مسئله است. ستون «وزن خام» فقط Model Weight را نشان میدهد و ستون «پیشنهاد عملی» مقداری Headroom برای اجرای واقعی در نظر میگیرد.
| مدل | ۴-bit وزن خام | BF16 وزن خام | VRAM عملی تقریبی برای Q4 |
|---|---|---|---|
| 3B | 1.5 GB | 6 GB | 4–6 GB |
| 7B | 3.5 GB | 14 GB | 6–8 GB |
| 8B | 4 GB | 16 GB | 6–10 GB |
| 14B | 7 GB | 28 GB | 10–16 GB |
| 32B | 16 GB | 64 GB | 20–28 GB |
| 70B | 35 GB | 140 GB | ۴۰–۴۸ GB حداقل؛ برای Production معمولاً بیشتر |
توجه: این جدول برای Dense Modelها یک برآورد اولیه است. Architecture، Quantization Format، Runtime، Context Length و Batch/Concurrency میتوانند اعداد را تغییر دهند.
یک نکته درباره MoE
در Mixture-of-Experts یا MoE ممکن است فقط بخشی از پارامترها برای هر Token فعال شوند، اما معمولاً همچنان Weightهای Expertهای مدل باید در حافظه یا میان GPUها توزیع شوند. بنابراین عدد «Active Parameters» را نباید مستقیماً معادل VRAM لازم دانست.
KV Cache چیست؟
در مدل Autoregressive، هنگام تولید Token جدید لازم نیست Attention مربوط به تمام Tokenهای قبلی از صفر محاسبه شود.
مدل مقادیر Key و Value لایههای Attention را در حافظه نگه میدارد. به این حافظه KV Cache گفته میشود.
KV Cache سرعت Generation را افزایش میدهد، اما VRAM مصرف میکند.
حجم KV Cache به مواردی مثل:
- تعداد Layerها
- تعداد KV Headها
- Head Dimension
- Precision Cache
- Context Length
- تعداد درخواستهای همزمان
وابسته است.
Context Window چطور VRAM را افزایش میدهد؟
فرض کنید مدل از Context بسیار بزرگ پشتیبانی میکند. این به معنی آن نیست که Context بزرگ رایگان است.
هرچه تعداد Tokenهای داخل Context بیشتر شود، KV Cache بزرگتر میشود.
4K Context
↓
8K
↓
32K
↓
128K
↓
KV Cache بیشتراگر RAG شما دهها سند بزرگ را وارد Prompt کند، ممکن است Model Weight در GPU جا شود اما KV Cache باعث Out of Memory شود.
بنابراین هنگام Sizing سرور فقط عبارت «این GPU مدل را Load میکند» کافی نیست.
تعداد کاربران همزمان چرا مهم است؟
یک LLM که فقط برای یک Developer اجرا میشود با API دارای ۱۰۰ درخواست همزمان تفاوت زیادی دارد.
هر Sequence فعال میتواند KV Cache خودش را داشته باشد.
در نتیجه با افزایش Concurrency:
- KV Cache افزایش پیدا میکند.
- Batch بزرگتر میشود.
- Throughput بیشتری لازم است.
- Queue و Latency اهمیت پیدا میکنند.
در ابزارهایی مانند vLLM، اگر KV Cache کافی نباشد Requestها ممکن است Preempt و Recompute شوند و Latency افزایش پیدا کند.
CPU در سرور LLM چه نقشی دارد؟
حتی وقتی GPU دارید، CPU بیاهمیت نیست.
وظایف CPU میتواند شامل:
- Tokenization
- HTTP/API Handling
- Prompt Construction
- Document Parsing
- RAG Retrieval
- Data Preprocessing
- Model Loading
- Offloading
باشد.
برای یک GPU Server معمولاً تعداد Core کافی و Single-thread Performance مناسب اهمیت دارد؛ اما اگر Bottleneck اصلی GPU باشد، خرید CPU بسیار گران بدون دلیل لزوماً Throughput مدل را زیاد نمیکند.
برای LLM چقدر RAM لازم است؟
RAM موردنیاز بسته به Deployment بسیار متفاوت است.
قاعده عملی مناسب این است که RAM آنقدر باشد که:
- Model Loading انجام شود.
- Application و OS فضای کافی داشته باشند.
- CPU Offloading ممکن باشد.
- RAG و Vector DB اجرا شوند.
برای یک سیستم کوچک:
| سناریو | RAM پیشنهادی تقریبی |
|---|---|
| مدل 3B–8B سبک | 16–32 GB |
| مدل 14B | 32 GB+ |
| مدل 32B | 64 GB+ |
| مدل 70B / Multi-GPU | ۱۲۸ GB یا بیشتر |
اگر CPU Offloading استفاده کنید، RAM بیشتری لازم خواهد بود.
NVMe چقدر برای AI مهم است؟
Model Weightها بزرگاند. چند مدل مختلف ممکن است صدها گیگابایت فضای Storage مصرف کنند.
NVMe در موارد زیر کمک میکند:
- Model Loading سریعتر
- Dataset Processing
- Model Cache
- Checkpoint Writing
- Vector Database
برای یک AI Server جدی، HDD بهعنوان Storage اصلی مدل انتخاب مناسبی نیست.
برای شروع معمولاً:
500GB–1TB NVMeبرای محیط کوچک و:
2TB–4TB+ NVMeبرای محیطی با چند Model، Dataset یا Training منطقیتر است.
شبکه سرور AI چقدر اهمیت دارد؟
برای یک GPU تنها، سرعت شبکه معمولاً Bottleneck اصلی Inference نیست.
اما Network در این موارد مهم میشود:
- دانلود Modelهای بزرگ
- API پرترافیک
- Multi-node Training
- Distributed Inference
- Shared Storage
در Clusterهای چند GPU روی چند Node، شبکه بسیار سریع و Low-Latency اهمیت زیادی پیدا میکند، چون GPUهای Nodeهای مختلف باید مرتب داده مبادله کنند.
Quantization چیست و چرا اهمیت دارد؟
Quantization Precision Weightها را کاهش میدهد تا مدل حافظه کمتری مصرف کند.
مثلاً:
FP16
↓
INT8
↓
INT4
Memory ↓مزایا:
- کاهش VRAM
- امکان اجرای مدل بزرگتر
- کاهش Memory Bandwidth
- در بعضی سختافزارها افزایش سرعت
معایب احتمالی:
- افت جزئی کیفیت
- Compatibility متفاوت میان GPUها
- گاهی Overhead Dequantization
فرمتهایی مانند AWQ، GPTQ و سایر Quantization Schemeها بسته به Engine و Hardware استفاده میشوند.
برای هر اندازه مدل چه سروری پیشنهاد میشود؟
مدل 1B تا 3B
برای Chatbot ساده، Classification، Extraction و Edge AI مناسب است.
پیشنهاد:
CPU: 4–8 Core
RAM: 16 GB+
GPU: اختیاری
VRAM: 4–8 GB در صورت GPU
NVMe: 250–500 GBاین گروه حتی روی CPU قابل استفاده است.
مدل 7B تا 8B
یکی از بهترین اندازهها برای Self-Hosting سبک است.
CPU: 8 Core+
RAM: 32 GB
GPU: یک GPU
VRAM: 8–12 GB برای Q4/Q5 سبک
NVMe: 500 GB+برای Production با Context و Concurrency بیشتر، ۱۶–24GB VRAM فضای راحتتری ایجاد میکند.
مدل 13B تا 14B
CPU: 8–16 Core
RAM: 32–64 GB
GPU: 1 GPU
VRAM: 12–24 GB
NVMe: 1 TBیک GPU 24GB برای این کلاس انعطاف بسیار خوبی دارد.
مدل 30B تا 34B
CPU: 16 Core+
RAM: 64–128 GB
GPU: GPU با 24–48GB VRAM
NVMe: 1–2 TBبرای ۴-bit، 24GB ممکن است کافی باشد؛ اما Context طولانی و Production فضای بیشتری میخواهد.
مدل 70B
در این نقطه وارد AI Server جدیتر میشویم.
Q4 Weight خام تقریباً:
35 GBاست، اما در عمل Runtime و KV Cache هم لازماند.
برای استفاده سبک ممکن است GPU با حدود 48GB VRAM کافی باشد، ولی برای Production، Context بالا یا Concurrency معمولاً:
80GB VRAM
یا
2 × 48GB
یا چند GPUمنطقیتر است.
BF16 مدل 70B فقط برای Weightها تقریباً 140GB حافظه نیاز دارد.
آیا LLM بدون GPU اجرا میشود؟
بله.
مدلهای Quantized را میتوان روی CPU اجرا کرد، مخصوصاً با Runtimeهای بهینه.
اما تفاوت مهم میان:
Can Run
و
Runs Fast Enoughوجود دارد.
CPU برای این موارد خوب است:
- Development
- تست
- مدل کوچک
- Batch Processing غیر Real-Time
- تعداد کاربر کم
برای Chatbot Real-Time معمولاً GPU تجربه بسیار بهتری ایجاد میکند.
آیا VPS معمولی برای هوش مصنوعی کافی است؟
برای بسیاری از بخشهای یک AI Application، بله.
VPS معمولی برای موارد زیر بسیار مناسب است:
- Backend API
- RAG Orchestration
- PostgreSQL
- Vector Database سبک
- Queue
- Redis
- Embedding کوچک CPU-based
- ارتباط با AI API خارجی
برای آشنایی با ساختار VPS، مقاله سرور مجازی چیست؟ را بخوانید.
اگر خود LLM کوچک را CPU-based اجرا میکنید نیز VPS پرقدرت قابل استفاده است، اما نباید انتظار Throughput یک GPU Server را داشته باشید.
بسته به محل کاربران میتوانید از VPS ایران یا VPS آلمان برای Application Layer پروژه استفاده کنید.
چه زمانی GPU Server لازم است؟
GPU Server زمانی منطقی میشود که:
- میخواهید LLM را Self-Host کنید.
- Latency مهم است.
- تعداد Request زیاد است.
- مدل بزرگ است.
- Fine-Tuning انجام میدهید.
- Vision Model یا Multimodal Model دارید.
اما فقط اسم GPU مهم نیست؛ مقدار VRAM باید اولین فیلتر باشد.
چه زمانی چند GPU نیاز داریم؟
اگر Model Weight و Cache در یک GPU جا نشوند، میتوان مدل را روی چند GPU تقسیم کرد.
روشهای رایج:
- Tensor Parallelism
- Pipeline Parallelism
- Expert Parallelism برای MoE
مثلاً Model Weight یک 70B BF16 حدود 140GB است.
بنابراین یک GPU 80GB نمیتواند تمام Weightها را بهتنهایی نگه دارد.
حداقل باید Weightها روی چند GPU تقسیم شوند.
PCIe و NVLink چرا اهمیت دارند؟
وقتی مدل روی چند GPU تقسیم میشود، GPUها باید مرتب داده مبادله کنند.
اگر ارتباط بین GPUها کند باشد، Compute قوی GPUها ممکن است منتظر انتقال داده بماند.
برای Multi-GPU Server باید علاوه بر مجموع VRAM به موارد زیر توجه کنید:
- PCIe Generation
- PCIe Lane Allocation
- GPU-to-GPU Bandwidth
- NVLink یا Interconnect مشابه در صورت پشتیبانی
- NUMA Topology
دو GPU سریع روی Slotهای محدود ممکن است نتیجه ضعیفتری از انتظار بدهند.
برای RAG چه سروری نیاز داریم؟
RAG چند Component دارد:
Document
↓
Parsing
↓
Chunking
↓
Embedding
↓
Vector DB
↓
Retrieval
↓
LLMهمه این بخشها الزاماً روی یک Server اجرا نمیشوند.
یک معماری خوب میتواند این باشد:
VPS/Application Server
├─ API
├─ PostgreSQL
├─ Vector DB
└─ RAG Logic
↓
GPU Inference Server
└─ LLMاین معماری اجازه میدهد Application Layer را مستقل از GPU Scale کنید.
Embedding و Vector Database به GPU نیاز دارند؟
نه همیشه.
بسیاری از Embedding Modelهای کوچک را میتوان روی CPU اجرا کرد.
اگر حجم اسناد یا Query Rate زیاد شود، GPU میتواند Embedding را سریعتر کند.
Vector Database نیز بیشتر به:
- RAM
- CPU
- NVMe
وابسته است تا GPU.
سرور مناسب Fine-Tuning
Fine-Tuning دو دسته مهم دارد.
Full Fine-Tuning
تمام Weightها Update میشوند و حافظه بسیار زیادی برای:
- Weightها
- Gradientها
- Optimizer State
- Activations
نیاز است.
LoRA و QLoRA
بهجای Update کردن تمام Weightها، Adapterهای کوچکتری Train میشوند.
مزیت:
- VRAM بسیار کمتر
- Training سریعتر
- Storage کمتر برای Adapter
QLoRA حتی Base Model را Quantized نگه میدارد و Fine-Tuning را برای GPUهای کوچکتر قابل دسترستر میکند.
Training مدل از صفر چقدر سختافزار میخواهد؟
Training با Inference قابل مقایسه نیست.
در Mixed Precision Training معمولی با Optimizerهایی مانند Adam، حافظه تقریبی فقط برای Weight، Gradient و Optimizer State میتواند حدود:
18 bytes × Parametersباشد؛ قبل از اینکه Activationها و Temporary Memory را حساب کنیم.
برای مدل 7B:
7B × 18 bytes
≈ 126 GBو این هنوز Activation Memory را شامل نمیشود.
به همین دلیل Training مدلهای بزرگ معمولاً نیازمند:
- Multi-GPU
- Distributed Training
- Gradient Checkpointing
- ZeRO / FSDP
- شبکه پرسرعت
است.
برای بیشتر شرکتها، Fine-Tuning مدل آماده بسیار اقتصادیتر از Training Foundation Model از صفر است.
Production AI Server چه تفاوتی با سیستم آزمایشی دارد؟
اگر مدل روی Laptop با موفقیت اجرا شد، هنوز به معنی Production-ready بودن آن نیست.
در Production باید این موارد را اندازهگیری کنید:
- Time To First Token
- Tokens Per Second
- Requests Per Second
- Concurrent Users
- P95/P99 Latency
- GPU Utilization
- KV Cache Utilization
- Queue Length
همچنین نیاز خواهید داشت به:
- Monitoring
- Rate Limiting
- Load Balancing
- Authentication
- Logging
- Fallback
چه نرمافزاری برای Serving LLM استفاده کنیم؟
Engine مناسب روی سرعت و حافظه تأثیر زیادی دارد.
Ollama
برای Development و Local Deployment بسیار ساده است.
llama.cpp
برای مدلهای GGUF و CPU/GPU Hybrid بسیار محبوب است.
vLLM
برای Serving مدل با Throughput بالا و چند کاربر طراحی شده و قابلیتهایی مثل:
- Continuous Batching
- PagedAttention
- Prefix Caching
- Tensor Parallelism
- Quantization
دارد.
برای Production API، انتخاب Inference Engine بهاندازه انتخاب GPU اهمیت پیدا میکند.
جدول انتخاب سرور بر اساس کاربرد
| کاربرد | سختافزار پیشنهادی اولیه |
|---|---|
| استفاده از API خارجی | ۴–۸ vCPU، ۸–16GB RAM، بدون GPU |
| RAG با API خارجی | ۸ vCPU، ۱۶–32GB RAM، NVMe |
| LLM 3B Local | 16GB RAM یا GPU کوچک |
| LLM 7B/8B Q4 | GPU ۸–12GB، RAM 32GB |
| LLM 14B Q4 | GPU ۱۲–24GB، RAM ۳۲–64GB |
| LLM 32B Q4 | GPU 24GB+، RAM 64GB+ |
| LLM 70B Q4 | ۴۸–80GB VRAM یا Multi-GPU |
| Fine-Tuning کوچک با QLoRA | GPU ۱۶–24GB بسته به Model/Context |
| Production 70B | Multi-GPU Server با VRAM و Interconnect مناسب |
| Pretraining مدل بزرگ | GPU Cluster تخصصی |
سه نمونه عملی
سناریو ۱: Chatbot داخلی شرکت
مدل 8B Quantized، ۵ کاربر همزمان، Context متوسط:
CPU: 8–12 Core
RAM: 32 GB
GPU: 12–16 GB VRAM
NVMe: 500 GB
OS: Linuxسناریو ۲: RAG سازمانی
مدل 14B + Vector DB + صدها هزار Document:
Application Node:
8–16 Core
32–64 GB RAM
1TB NVMe
Inference Node:
GPU 24GB
64 GB RAM
1TB NVMeسناریو ۳: LLM 70B Production
CPU: 24–64 Core
RAM: 128–256 GB+
GPU: 80GB-class یا Multi-GPU
NVMe: 2–4 TB+
Network: 10Gbps+ بسته به معماریبرای Concurrency بالا ممکن است چند Replica نیز لازم شود.
اشتباهات رایج هنگام انتخاب سرور AI
اشتباه اول: فقط نگاه کردن به تعداد CUDA Core
اگر مدل در VRAM جا نشود، Compute بالا کمک زیادی نمیکند.
اشتباه دوم: محاسبه فقط Weight
KV Cache و Runtime را فراموش نکنید.
اشتباه سوم: خرید دقیقاً به اندازه Minimum
برای Production Headroom داشته باشید.
اشتباه چهارم: نادیده گرفتن Context
مدل با 4K Context ممکن است خوب اجرا شود اما با 128K به OOM برسد.
اشتباه پنجم: یکی دانستن Training و Inference
یک GPU ممکن است برای Inference کافی باشد اما برای Fine-Tuning مناسب نباشد.
اشتباه ششم: اجرای تمام سیستم روی GPU Server
Database، API، Queue و Vector DB الزاماً نیازی به GPU گران ندارند.
اشتباه هفتم: استفاده نکردن از Quantization
برای بسیاری از Self-Hosted Workloadها، Quantization میتواند هزینه سختافزار را بهشدت کاهش دهد.
چکلیست انتخاب سرور هوش مصنوعی
قبل از خرید یا اجاره سرور، این سؤالها را پاسخ دهید:
- نام و Architecture مدل چیست؟
- چند Billion Parameter دارد؟
- Dense است یا MoE؟
- چه Precision یا Quantizationی استفاده میشود؟
- Context Window واقعی چقدر است؟
- چند کاربر همزمان داریم؟
- Latency هدف چقدر است؟
- Inference است یا Training؟
- RAG داریم؟
- Embedding روی همان Node است؟
- چقدر RAM نیاز داریم؟
- چقدر Model Storage نیاز است؟
- آیا یک GPU کافی است؟
- آیا قابلیت Scale آینده مهم است؟
سوالات متداول درباره سرور هوش مصنوعی
برای اجرای LLM چه مقدار VRAM لازم است؟
به تعداد پارامتر و Precision بستگی دارد. وزن یک مدل X میلیارد پارامتری در BF16 حدود 2X گیگابایت و در INT4 حدود ۰.5X گیگابایت است؛ علاوه بر آن KV Cache و Runtime نیز VRAM نیاز دارند.
برای مدل 7B چه GPU لازم است؟
یک مدل 7B Quantized ۴-bit معمولاً روی GPU دارای 8GB VRAM قابل اجراست، ولی ۱۲ یا 16GB برای Context و Runtime فضای بهتری ایجاد میکند.
برای مدل 14B چقدر VRAM لازم است؟
وزن خام Q4 حدود 7GB است؛ در عمل ۱۲ تا 16GB برای استفاده سبک و 24GB برای انعطاف بیشتر مناسبتر است.
مدل 32B روی GPU 24GB اجرا میشود؟
نسخه ۴-bit آن در بسیاری از سناریوها میتواند اجرا شود، اما Context و Runtime باید کنترل شوند. برای Production فضای بیشتر ترجیح دارد.
برای 70B چقدر VRAM لازم است؟
Q4 Weight خام حدود 35GB است. حدود 48GB میتواند برای اجرای سبک کافی باشد، اما Production یا Context/Concurrency بالا معمولاً 80GB یا Multi-GPU را منطقیتر میکند.
آیا LLM روی CPU اجرا میشود؟
بله، مخصوصاً مدلهای Quantized؛ اما سرعت Generation معمولاً از GPU پایینتر است.
آیا VPS برای اجرای AI مناسب است؟
برای Application Server، RAG، API، Database و مدلهای کوچک CPU-based بله. برای LLM بزرگ و Real-Time معمولاً GPU Server مناسبتر است.
RAM مهمتر است یا VRAM؟
برای GPU Inference معمولاً VRAM محدودیت اصلی است. RAM نیز برای Model Loading، Offloading و سایر سرویسها اهمیت دارد.
آیا 32GB RAM برای AI کافی است؟
برای مدلهای کوچک تا متوسط و Applicationهای سبک بله، اما مدل بزرگ یا RAG سنگین ممکن است به 64GB، 128GB یا بیشتر نیاز داشته باشد.
Quantization کیفیت مدل را کاهش میدهد؟
ممکن است کمی کاهش کیفیت ایجاد کند، اما Quantizationهای مدرن در بسیاری از کاربردها Trade-off بسیار مناسبی میان کیفیت، حافظه و سرعت ارائه میکنند.
GPU قویتر همیشه بهتر است؟
نه. باید VRAM، Memory Bandwidth، Precision Support، قیمت و Workload را هم در نظر بگیرید.
برای Fine-Tuning چه GPU لازم است؟
به Model Size، Sequence Length و روش Training بستگی دارد. LoRA/QLoRA میتواند VRAM لازم را بهشدت نسبت به Full Fine-Tuning کاهش دهد.
برای RAG حتماً GPU نیاز داریم؟
خیر. RAG Orchestration، Vector DB و حتی بعضی Embedding Modelها روی CPU اجرا میشوند. GPU بیشتر برای LLM Inference یا Embedding پرحجم لازم میشود.
برای AI سرور ایران بهتر است یا خارج؟
به کاربران و سرویسهای وابسته بستگی دارد. اگر APIها و Model Repositoryهای خارجی بخش مهمی از سیستم هستند، اتصال بینالمللی پایدار اهمیت دارد. برای Application داخلی نیز میتوان معماری Hybrid داشت و Application Server و GPU Node را در Locationهای متفاوت قرار داد.
جمعبندی؛ چه سروری برای مدل هوش مصنوعی بخریم؟
برای انتخاب سرور مناسب برای هوش مصنوعی ابتدا Model Size، Precision، Context Window، Concurrency و نوع Workload را مشخص کنید.
اگر فقط از API مدلهای Cloud استفاده میکنید، معمولاً نیازی به GPU ندارید و یک VPS مناسب برای Backend، RAG و Database کافی است.
برای Self-Hosted LLM، مهمترین معیار اولیه VRAM است. مدلهای 7B و 8B Quantized را میتوان روی GPUهای نسبتاً کوچک اجرا کرد، مدلهای 14B با ۱۲ تا 24GB VRAM راحتتر هستند، مدلهای 32B معمولاً وارد محدوده 24GB میشوند و مدلهای 70B به 48GB، 80GB یا معماری Multi-GPU نزدیک میشوند.
همچنین فقط Weight Model را حساب نکنید. KV Cache، Context Length، تعداد کاربران و Inference Engine میتوانند مصرف حافظه را به شکل قابل توجهی تغییر دهند.
برای Fine-Tuning نیز روشهایی مثل LoRA و QLoRA میتوانند هزینه را بسیار کاهش دهند، در حالی که Full Training مدل بزرگ یک مسئله کاملاً متفاوت و نیازمند GPU Cluster تخصصی است.
در نهایت، بهترین معماری اغلب این نیست که همهچیز را روی گرانترین GPU Server قرار دهید. در بسیاری از پروژهها معماری زیر اقتصادیتر و مقیاسپذیرتر است:
Application / RAG / Database
↓
VPS or CPU Server
+
LLM Inference
↓
Dedicated GPU Serverبرای Application Layer، Database، RAG و سرویسهای CPU-based میتوانید بخش سرورهای پویاسازان را بررسی کنید. همچنین برای انتخاب بین زیرساخت مجازی و اختصاصی، مقاله سرور مجازی چیست؟ نقطه شروع مناسبی است.
