راهنمای اجرای مدلهای زبانی SOTA توی خونه، از ۲ هزار تا ۴۰ هزار دلار
خلاصهٔ کاملتر
جیمز اوب یه راهنمای عملی نوشته دربارهی اینکه با چه بودجهای میشه مدلهای زبانی قدرتمند رو کاملاً روی سختافزار خودت اجرا کرد، بدون وابستگی به سرویسهای ابری آنتروپیک یا اوپنایآی. اون میگه با حدود ۲ هزار دلار میشه شروع کرد، و با حدود ۴۰ هزار دلار به مدلی نزدیک به کیفیت Claude Opus رسید.
توی سطح ۲ هزار دلاری، پیشنهادش دو تا کارت گرافیک RTX 3090 (جمعاً ۴۸ گیگ حافظه) برای اجرای مدل Qwen3.6-27B ـه، بهعلاوه یه سیستم تشخیص گفتار محلی خوب با مدل whisper-large-v3 که خودش براش یه هارنس چندسکویی به اسم stt نوشته و میگه استفادهی روزمره ازش خیلی مفیده.
توی سطح ۴۰ هزار دلاری، ۴ تا کارت RTX PRO 6000 (هرکدوم ۹۶ گیگ، جمعاً ۳۸۴ گیگ حافظه) میخری و مدل غولپیکر GLM-5.2-594B رو با کوانتایز NVFP4 اجرا میکنی؛ توی کانتکست ۴۶۰ هزار توکنی حدود ۸۰ توکن بر ثانیه میگیره. جایگزینش میتونه یه خوشهی ۴ تایی DGX Spark (۵۱۲ گیگ حافظه) باشه که بهعنوان «مغز کند و بزرگ»، مدل سبکتر Qwen3.7-27B رو برای کارهای سریع هدایت میکنه.
برای سیستم پایه از قطعات دستدوم استفاده کرده: یه مادربرد ASRock ROMED8-2T، پردازندهی AMD EPYC Milan نسل قبل و ۱۲۸ گیگ رم DDR4 از ایبی، که مجموعاً حدود ۵۵۸۷ دلار شده؛ ۴ تا کارت گرافیک هم حدود ۴۶ هزار دلار. برای اینکه کارتها توی مرحلهی allreduce مستقیم و با سرعت خط حرف بزنن، از سوییچهای PCIe نسل ۴ شرکت c-payne استفاده کرده که مسیر داده رو از عبور از روتکمپلکس پردازنده کوتاه میکنه؛ اینجوری لازم نبوده سراغ یه سیستم گرونقیمت PCIe5/DDR5 بره. یه محفظهی چوبی دستساز هم برای نگهداشتن اینها ساخته.
برای اینکه این سوییچها درست کار کنن، یهسری تنظیم بایوس لازم بوده: عرض لینک رو روی x16 (نه بایفرکیشن x8/x8) گذاشتن، سرعت PCIe رو دستی روی Gen4 قفل کردن (چون کارتهای Blackwell موقع تلاش برای Gen5 گاهی تا Gen1 سقوط میکردن)، ASPM رو غیرفعال کردن (چون توی حالت idle باعث میشد لینکها اشتباهی «داونگرید شده» نشون داده بشن)، و Re-Size BAR رو فعال کردن تا کل ۹۶ گیگ حافظهی هر کارت در دسترس باشه.
توی سطح کرنل هم چندتا پارامتر لازم بوده وگرنه NCCL روی ارتباط چندکارتی گیر میکنه:
# /etc/default/grub
GRUB_CMDLINE_LINUX="iommu=off amd_iommu=off nomodeset"
sudo update-grub
echo 'options nvidia_uvm uvm_disable_hmm=1' | sudo tee /etc/modprobe.d/uvm.confبهعلاوه باید هر بار بوت، قابلیت ACS رو روی پورتهای PCIe غیرفعال کنه (با یه اسکریپت systemd)، وگرنه ترافیک P2P بهجای موندن توی خود سوییچ، از روتکمپلکس پردازنده رد میشه و کل فایدهی سوییچ از بین میره.
برای مدیریت مدلها، وزنها رو روی یه فایلسیستم ZFS تکرارشده بین دو تا SSD ۸ ترابایتی نگه میداره و هر مدل رو توی یه کانتینر داکر جدا، با تنظیمات آماده توی پوشهی runners اجرا میکنه. برای کار روزمره هم یه هارنس شخصی ساخته: یه ماشین مجازی که برای هر پروژه یه سشن tmux باز میکنه و توش opencode رو به سرور اینفرنس خودش وصل میکنه؛ ابزارهایی مثل جستوجوی وب، بات تلگرام برای اطلاعرسانی، و یه Gitea خصوصی هم بهش اضافه کرده تا عامل بتونه هم تعاملی کار کنه، هم مستقل روی ایشوهای Gitea کار کنه و پولریکوئست بزنه.
چون نمیخواسته برق ۲۲۰ ولت بکشه، مصرف هر کارت رو با nvidia-smi روی ۳۵۰ وات (از پیشفرض ۶۰۰ وات) محدود کرده تا کل سیستم روی مدار ۱۱۰ ولت خونه جا بشه. نتیجهی نهایی هم این بوده که پهنایباند بین کارتها از طریق سوییچ به ۲۷.۵ گیگابایت بر ثانیه یکطرفه و ۵۰.۴ گیگابایت بر ثانیه دوطرفه با تاخیر زیر نیم میکروثانیه رسیده، یعنی دقیقاً سرعت کامل نسل ۴.
نکات کلیدی:
- با ۲ هزار دلار میشه Qwen3.6-27B و تشخیص گفتار محلی خوب راه انداخت
- با ۴۰ هزار دلار و ۴ کارت RTX PRO 6000 میشه به کیفیتی نزدیک Claude Opus رسید
- سوییچهای PCIe نسل ۴ به کارتها اجازه میدن مستقیم و با سرعت خط با هم حرف بزنن
- بدون تنظیمات دقیق بایوس و کرنل (ASPM، ACS، iommu)، سرعت واقعی P2P بهدست نمیاد
- محدودکردن توان هر کارت به ۳۵۰ وات، اجرا روی مدار برق خونگی رو ممکن کرده




