بلاگ/راهنمای خرید سرور برای اجرای هوش مصنوعی و مدل‌های زبانی (LLM): چقدر رم و CPU لازم دارید؟
به‌روز شده

راهنمای خرید سرور برای اجرای هوش مصنوعی و مدل‌های زبانی (LLM): چقدر رم و CPU لازم دارید؟

1405/07/040 بازدید
راهنمای خرید سرور برای اجرای هوش مصنوعی و مدل‌های زبانی (LLM): چقدر رم و CPU لازم دارید؟

راهنمای خرید سرور برای اجرای هوش مصنوعی و مدل‌های زبانی (LLM): چقدر رم و CPU لازم دارید؟

اجرای یک مدل زبانی روی سرور شخصی یا سازمانی با اجرای یک وب‌سایت یا پایگاه داده معمولی تفاوت زیادی دارد. یک مدل ۷ میلیارد پارامتری به‌تنهایی چند گیگابایت حافظه اشغال می‌کند و مدل‌های بزرگ‌تر می‌توانند از کل RAM یک سرور معمولی هم عبور کنند.

پیش از خرید سرور برای هوش مصنوعی، باید بدانید مدل موردنظرتان دقیقاً چه میزان RAM، چه نوع پردازنده و چه فضای ذخیره‌سازی نیاز دارد. این راهنما فرمول‌های تقریبی و جدول‌های عملی برای این محاسبه ارائه می‌دهد، از مدل‌های ۷B تا ۷۰B.

چرا اجرای LLM با بارهای کاری معمولی فرق دارد؟

یک اپلیکیشن وب معمولی داده را در پایگاه داده نگه می‌دارد و فقط بخش کوچکی از آن را در هر لحظه در حافظه بارگذاری می‌کند. یک مدل زبانی برعکس این کار می‌کند: کل وزن‌های مدل باید هم‌زمان در RAM (یا حافظه GPU) بارگذاری شوند تا استنتاج (inference) ممکن شود.

این یعنی کمبود چند گیگابایت RAM باعث کند شدن تدریجی سرور نمی‌شود، بلکه معمولاً باعث خرابی کامل فرآیند یا استفاده سنگین از Swap و کاهش شدید سرعت پاسخ‌گویی می‌شود. برای همین محاسبه دقیق منابع قبل از خرید سرور اهمیت بیشتری نسبت به میزبانی وب دارد.

رم چقدر لازم دارید؟

حجم RAM لازم به دو چیز بستگی دارد: تعداد پارامترهای مدل و نوع کوانتیزاسیون (quantization) که با آن اجرا می‌شود. یک فرمول تقریبی و پرکاربرد این است:

RAM لازم (گیگابایت) ≈ تعداد پارامتر (میلیارد) × بایت به ازای هر پارامتر + حاشیه ۱۰ تا ۲۰ درصدی برای سیستم‌عامل و context window

بایت به ازای هر پارامتر بر اساس دقت مدل:

  • FP16 (دقت کامل): تقریباً ۲ بایت به ازای هر پارامتر
  • INT8: تقریباً ۱ بایت به ازای هر پارامتر
  • INT4 / فرمت‌های GGUF رایج (Q4): تقریباً ۰٫۵ تا ۰٫۶ بایت به ازای هر پارامتر

با این فرمول، RAM تقریبی برای چهار اندازه رایج مدل این‌گونه است:

اندازه مدلRAM با FP16RAM با INT8RAM با INT4 (GGUF Q4)
۷B~۱۴ گیگابایت~۷ گیگابایت~۵ گیگابایت
۱۳B~۲۶ گیگابایت~۱۳ گیگابایت~۸ گیگابایت
۳۴B~۶۸ گیگابایت~۳۴ گیگابایت~۲۰ گیگابایت
۷۰B~۱۴۰ گیگابایت~۷۰ گیگابایت~۴۰ گیگابایت

عدد ستون INT4 دلیل اصلی محبوبیت فرمت‌های کوانتیزه‌شده در اجراهای Ollama و llama.cpp است: مدل ۷۰B که با FP16 به ۱۴۰ گیگابایت RAM نیاز دارد، با کوانتیزاسیون ۴ بیتی روی یک سرور اختصاصی با ۶۴ گیگابایت RAM هم قابل اجراست.

نکته مهم: این عدد فقط برای بارگذاری وزن‌های مدل است. context window طولانی‌تر، چند کاربر هم‌زمان، یا نگهداری چند مدل به‌صورت هم‌زمان در حافظه، مصرف واقعی را بالاتر می‌برد. برای استفاده تولیدی (production) همیشه حاشیه بگیرید، نه فقط عدد محاسبه‌شده را بخرید.

مقایسه میزان RAM لازم برای اجرای مدل‌های ۷B تا ۷۰B با دقت FP16، INT8 و INT4

پردازنده: چه چیزی واقعاً مهم است؟

اگر مدل روی GPU اجرا نشود و استنتاج فقط با CPU انجام شود، تعداد هسته به‌تنهایی معیار کافی نیست. دو عامل دیگر تأثیر بیشتری دارند:

  • پهنای باند حافظه (memory bandwidth): در استنتاج مبتنی بر CPU، سرعت اصلی محدود به سرعت انتقال وزن‌های مدل از RAM به پردازنده است، نه صرفاً سرعت محاسبه. پردازنده‌های سرور با کانال‌های حافظه بیشتر (مثلاً ۶ یا ۸ کاناله در پلتفرم‌های Xeon و EPYC) در عمل سریع‌تر از یک CPU دسکتاپ دوکاناله با همان تعداد هسته عمل می‌کنند.
  • پشتیبانی از دستورالعمل‌های برداری (AVX2 / AVX-512): کتابخانه‌هایی مثل llama.cpp از این دستورالعمل‌ها برای سریع‌تر کردن ضرب ماتریسی استفاده می‌کنند. نسل پردازنده و پشتیبانی از AVX-512 را پیش از خرید بررسی کنید.

برای مدل‌های ۷B و ۱۳B با کوانتیزاسیون INT4، یک سرور اختصاصی با ۸ تا ۱۶ هسته معمولاً برای استفاده تک‌کاربره یا تیم کوچک کافی است. برای مدل‌های ۳۴B به بالا یا سرویس‌دهی به چند کاربر هم‌زمان، هرچه هسته و کانال حافظه بیشتر باشد، افت سرعت پاسخ‌گویی در بار هم‌زمان کمتر می‌شود.

GPU لازم است یا نه؟

پاسخ به کاربرد بستگی دارد. برای تست، توسعه، یا سرویس‌دهی با تعداد درخواست کم روی مدل‌های تا حدود ۱۳B، اجرای CPU-only با کوانتیزاسیون INT4 روی یک سرور اختصاصی کاملاً قابل استفاده است و سرعت تولید توکن قابل قبولی می‌دهد.

اگر نیاز به پاسخ‌گویی زمان-واقعی برای چند کاربر هم‌زمان دارید یا مدل‌های ۳۴B و ۷۰B را با سرعت بالا اجرا می‌کنید، GPU سرعت استنتاج را چند برابر می‌کند و تأخیر پاسخ را کاهش می‌دهد. اگر سناریوی شما به این سطح رسیده، پیش از خرید با تیم پشتیبانی آریانت درباره پیکربندی مناسب مشورت کنید.

فضای ذخیره‌سازی: مدل‌ها چقدر جا می‌گیرند؟

حجم فایل مدل روی دیسک تقریباً با عدد RAM لازم در جدول بالا برابر است، چون فایل مدل همان وزن‌های کوانتیزه‌شده است که در RAM بارگذاری می‌شود. اما در عمل باید فضای بیشتری در نظر بگیرید:

  • نگهداری چند نسخه از یک مدل (مثلاً INT4 و INT8) برای مقایسه یا رول‌بک
  • فضای موقت برای دانلود و تبدیل فرمت مدل
  • لاگ‌ها، embedding ها و پایگاه‌داده‌های برداری (vector database) در سناریوهای RAG

برای یک سرور با چند مدل ۷B تا ۱۳B، فضای ۱۰۰ تا ۲۰۰ گیگابایت روی دیسک NVMe معمولاً کافی است. برای یک مدل ۷۰B به همراه چند نسخه پشتیبان، ۵۰۰ گیگابایت تا ۱ ترابایت واقع‌بینانه‌تر است. نوع دیسک هم مهم است: NVMe زمان بارگذاری اولیه مدل به حافظه را به‌شدت نسبت به SSD معمولی یا HDD کاهش می‌دهد، چون کل فایل مدل باید یک‌بار از دیسک خوانده شود.

جدول راهنما: چه پلنی برای کدام مدل؟

اندازه مدلحداقل RAM پیشنهادی (INT4)هسته پردازنده پیشنهادینوع سرور پیشنهادی
۷B (تست و توسعه)۸ تا ۱۶ گیگابایت۴ هستهسرور مجازی
۷B تا ۱۳B (تولیدی، تک‌کاربره)۱۶ تا ۳۲ گیگابایت۸ هستهسرور مجازی یا اختصاصی
۳۴B۳۲ تا ۶۴ گیگابایت۱۶ هسته به بالاسرور اختصاصی
۷۰B۶۴ تا ۱۲۸ گیگابایت۱۶ تا ۳۲ هستهسرور اختصاصی

برای مرحله تست با مدل‌های کوچک، یک سرور مجازی آریانت کفایت می‌کند و در چند دقیقه آماده می‌شود (مراحل دقیق را در راهنمای خرید و راه‌اندازی سرور مجازی ببینید). وقتی مدل بزرگ‌تر شد یا نیاز به منابع تضمین‌شده و بدون اشتراک‌گذاری با ماشین‌های دیگر داشتید، انتقال به سرور اختصاصی گام بعدی منطقی است. برای مقایسه هزینه واقعی این دو گزینه، عوامل موثر بر قیمت سرور مجازی را هم بررسی کنید.

نکات عملی پیش از خرید

چند نکته که در محاسبه فوق مستقیماً دیده نمی‌شوند اما روی نتیجه واقعی اثر دارند:

  • کوانتیزاسیون همیشه رایگان نیست: کاهش دقت از FP16 به INT4 معمولاً کیفیت پاسخ را کمی کاهش می‌دهد. برای کاربردهای حساس، کیفیت خروجی را با نسخه کوانتیزه‌شده جداگانه تست کنید، نه فقط سرعت آن را.
  • RAM تضمین‌شده را بررسی کنید: در برخی سرورهای مجازی ارزان، RAM اعلام‌شده به‌صورت اشتراکی یا Burst ارائه می‌شود. برای بارگذاری کامل وزن‌های یک مدل، RAM باید واقعاً و به‌طور پیوسته در دسترس باشد.
  • چند کاربر هم‌زمان یعنی چند برابر context: اگر مدل به چند کاربر هم‌زمان سرویس می‌دهد، حافظه لازم برای context هر کاربر جمع می‌شود؛ محاسبه فقط برای یک کاربر کافی نیست.
  • امکان ارتقا بدون نصب مجدد: چون اندازه مدل موردنیاز پروژه معمولاً در طول زمان رشد می‌کند، پلنی انتخاب کنید که ارتقای RAM و دیسک بدون بازسازی کامل سرور ممکن باشد.

جمع‌بندی

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

اگر هنوز در مرحله تست مدل‌های ۷B هستید، یک سرور مجازی برای شروع کافی است. برای مدل‌های ۱۳B به بالا یا سرویس‌دهی تولیدی، سراغ پلن‌های سرور اختصاصی آریانت بروید تا RAM، هسته پردازنده و فضای ذخیره‌سازی را متناسب با اندازه مدل خودتان انتخاب کنید. اگر هنوز سوالی درباره فرایند خرید دارید، سوالات متداول خرید سرور مجازی را هم ببینید.