بازگشت به وبلاگ

بهترین LLM محلی برای کدنویسی: انتخاب‌های 8 تا 24 گیگ VRAM

۱۳ شهریور ۱۴۰۵

بهترین LLM محلی برای کدنویسی، همین حالا: Qwen3 Coder 30B A3B روی کارت 24 گیگابایتی، Qwen2.5 Coder 14B با کوانت Q4 روی 12 تا 16 گیگابایت، و Qwen2.5 Coder 7B با Q4 روی 8 گیگابایت. هر کدام از این‌ها کاملاً آفلاین اجرا می‌شوند، روی کد واقعی autocomplete و refactor انجام می‌دهند و به ازای هر token هزینه‌ای ندارند. اگر VRAM کارت شما کمتر از نیاز مدل است، قبل از کوچک‌تر کردن مدل، یک پله کوانت را پایین بیاورید. این راهنما مدل‌ها را به رده‌های VRAM وصل می‌کند، دو خانواده کدنویسی‌ای که مردم واقعاً سرشان بحث می‌کنند را مقایسه می‌کند و با دستورهای قابل اجرا تمام می‌شود تا حدود پنج دقیقه دیگر کد را روی ماشین خودتان تولید کنید.

برای کدنویسی روی GPU شما، کدام LLM محلی مناسب است؟

اول بر اساس VRAM انتخاب کنید، بعد مدل — مدل فقط وقتی جا می‌شود که وزن‌ها به‌علاوه context در حافظه جا شوند. این فهرست کوتاه است که در بنچمارک‌های انجمنی 2026 و استفاده روزمره مدام بالا می‌ماند:

VRAMمدلکوانتحجم وزن‌ها روی دیسکچرا در این رده برنده است
8 GBQwen2.5 Coder 7B InstructQ4_K_M~4.7 GBبهترین نسبت tokens-per-second به کیفیت برای autocomplete و refactorهای کوچک
12 GBQwen2.5 Coder 14B InstructQ4_K_M~9.0 GBویرایش کل فایل در context جا می‌شود؛ روی کارتی در حد 3060 همچنان بالای 30 tok/s
16 GBQwen3 14B یا gpt-oss-20bQ4_K_M~9–12 GBاستدلال بهتر روی نیازمندی‌های مبهم؛ کارت‌های رده 4090 آن را سریع نگه می‌دارند
24 GBQwen3 Coder 30B A3BQ4_K_M~18.6 GBMoE: از هر token فقط حدود 3 میلیارد پارامتر فعال می‌شود، پس سرعت قابل استفاده می‌ماند

دو قاعده این جدول را در عمل کارا می‌کند:

  1. برای KV cache حدود 1 تا 2 گیگابایت VRAM خالی بگذارید. یک مدل 14B با کوانت Q4 به‌علاوه context با 8 هزار token در بودجه 10 گیگابایتی جا نمی‌شود — context هم به جمع می‌آید.
  2. قبل از اینکه یک مدل کوچک‌تر انتخاب کنید، یک پله کوانت را پایین بروید. کوانت‌های Q5/Q4 چند درصد کیفیت می‌خورند؛ انتخاب 7B به‌جای 14B خیلی بیشتر از آن خرج دارد.

برای یک LLM کدنویسی محلی چقدر VRAM لازم است؟

قاعده سرانگشتی صادقانه: VRAM لازم ≈ وزن‌های کوانتیزه‌شده + 0.125 گیگابایت به ازای هر 1 هزار token از context با KV cache هشت‌بیتی. به زبان ساده:

  • 8 گیگابایت مدل‌های 7B تا 8B را با Q4 راحت اجرا می‌کند. جواب در حد autocomplete، context با 4 تا 8 هزار token.
  • 12 گیگابایت نقطه شیرین برای 14B با Q4 است — به اندازه کافی جا برای مدل به‌علاوه یک context واقعی 8 تا 16 هزار توکنی برای کدنویسی.
  • 16 گیگابایت مدل‌های dense در حد 20B و Qwen3 14B با context طولانی‌تر را باز می‌کند.
  • 24 گیگابایت Qwen3 Coder 30B A3B از جنس MoE را با Q4 اجرا می‌کند؛ نزدیک‌ترین چیز به یک مدل کدنویسی در حد ابری که می‌توانید خودتان میزبانی کنید.

فقط CPU؟ کار می‌کند — llama.cpp یک مدل 7B با Q4 را روی لپ‌تاپ با سرعت 5 تا 10 tok/s با کمال میل اجرا می‌کند — اما آن را تمرین صبر بدانید، نه ابزار روزمره. برای سمت ابزارها و نصب runtime، مقایسه Ollama و LM Studio می‌گوید کدام ابزار LLM محلی را زیر مدل‌هایتان بگذارید.

Qwen3 Coder در مقابل DeepSeek: برای کدنویسی کدام بهتر است؟

این همان مسابقه‌ای است که نوارهای autocomplete واقعاً درباره‌اش سؤال می‌پرسند و جوابش تمیز تقسیم می‌شود:

  • Qwen3 Coder (30B A3B) برای چرخه ویرایش ساخته شده: قراردادهای فرمت دستور را در فراخوانی ابزار رعایت می‌کند، diffهای یکدست می‌دهد و — قسمت تعیین‌کننده — طراحی MoE یعنی از هر token فقط حدود 3 میلیارد پارامتر فعال می‌شود، پس یک کارت تک 24 گیگابایتی به 40 تا 60 tok/s می‌رسد. در استفاده به سبک IDE، پاسخ‌دهی بخشی از کیفیت است.
  • خانواده DeepSeek V3/R1 در سطح بالاتری استدلال می‌کند: تصمیم‌های معماری، الگوریتم‌های دشوار، استدلال چندمرحله‌ای. اما مدل پرچم‌دارش بالای 600 میلیارد پارامتر دارد؛ به‌صورت محلی فقط با کوانت سنگین روی چند GPU یا دستگاه‌های حافظه یکپارچه مک اجرا می‌شود و درباره کد، سریع‌تر از خودِ کد نوشتن، متن تولید می‌کند.

انتخاب محلی: Qwen3 Coder به‌عنوان ابزار روزمره، DeepSeek فقط اگر سخت‌افزار میزبانی‌اش را نزدیک به precision کامل دارید. در بازه 8 تا 16 گیگابایت بحث بی‌مصداق است — مدل‌های Qwen2.5/3 Coder قوی‌ترین چیزی‌اند که جا می‌شود.

چگونه بهترین LLM محلی برای کدنویسی را با Ollama اجرا کنیم؟

پنج دستور، از هیچ تا یک API سازگار با OpenAI که ویرایشگرتان بتواند استفاده کند:

# 1. Install Ollama (Linux)
curl -fsSL https://ollama.com/install.sh | sh

# 2. Pull the model that fits your VRAM bracket (8 GB card shown)
ollama pull qwen2.5-coder:7b

# 3. Chat with it interactively
ollama run qwen2.5-coder:7b

# 4. Use it as an OpenAI-compatible API from any tool
curl http://localhost:11434/v1/chat/completions 
  -d '{
    "model": "qwen2.5-coder:7b",
    "messages": [{"role": "user", "content": "Refactor this fn to be async: add(a,b){return a+b}"}]
  }'

# 5. Point tools that expect OPENAI_BASE_URL at it
export OPENAI_BASE_URL=http://localhost:11434/v1

بدون کلید API، بدون محدودیت نرخ، بدون صورت‌حساب per-token. در Linux نصب‌کننده یک unit برای systemd ثبت می‌کند، پس اگر سرور روزی بد رفتار کرد، journalctl می‌گوید چرا — فیلترهای دقیق برای دیباگ سرویس در چیت‌شیت journalctl ماست.

آیا یک LLM محلی برای کار واقعی کدنویسی کافی است؟

برای چرخه ویرایش بله، برای مسائل سخت خیر — و همین تقسیم، دقیقاً همان نحوه درست استفاده است. یک مدل محلی 14B تا 30B کارهایی مثل refactor، boilerplate، اسکلت تست، regex و «این تابع قدیمی را توضیح بده» را سریع‌تر از رفت‌وبرگشت بیشتر APIهای ابری انجام می‌دهد. جایی که به مدل‌های بزرگ میزبانی‌شده می‌بازد، استدلال چندفایلیِ طولانی و حافظه جزئیات فریم‌ورک‌های کم‌یاب است — یک مدل 30B صرفاً چیزهای کمتری می‌داند.

گردش‌کاری که جواب می‌دهد: یک مدل محلی را برای 90 درصد ضربه‌های کلیدتان روشن نگه دارید و فقط برای سؤال‌های طراحی کثیف سراغ مدل مرزیِ میزبانی‌شده بروید. در کارهای روزمره، کدتان هرگز ماشین را ترک نمی‌کند — که برای کد مشتری اهمیت دارد — و VRAM‌ای که از قبل دارید، بی‌سروصدا جای یک اشتراک را می‌گیرد.

FAQ

بهترین LLM محلی برای کدنویسی با 8 گیگ VRAM چیست؟

یک مدل کدنویس 7 تا 8 میلیارد پارامتری با کوانت Q4 نقطه شیرین است — با context واقعی و سربار مناسب جا می‌شود. context طولانی‌تر جای خالی می‌خواهد، پس هر دو را هم‌زمان به سقف نرسانید.

آیا یک مدل محلی می‌تواند جای GitHub Copilot را بگیرد؟

برای کمک از نوع autocomplete، تقریباً بله. برای استدلال در سطح یک feature کامل، مدل‌های میزبانی‌شدهٔ مرزی هنوز جلوترند — برتری محلی در حریم خصوصی، تأخیر و هزینه در مقیاس است.

برای مدل‌های کدنویسی محلی 24 گیگ VRAM لازم است؟

نه — 24 گیگ مدل‌های 14 تا 32 میلیاردی و context طولانی‌تر برای refactorهای پیچیده را می‌خرد. 8 تا 12 گیگ یک ابزار روزمره محکم را پوشش می‌دهد.

— mrsaynothing

— mrsaynothing

یادداشت‌های میدانی درباره AI، لینوکس و self-hosting.

این نوشته را در dev.to بحث کنید dev.to ↗

آموزش بعدی با ایمیل

هر نوشته یک ایمیل. درستش کن، برو سراغ بعدی.

self-hosted · بدون واسطه‌های ثالث · لغو اشتراک با یک کلیک

این چیست؟

لغو آخرین commit در Git: تغییرات بماند، بدون ریسک

این نوشته‌ها را می‌پسندید؟ این همان کاری است که برای زندگی از آن درمی‌آورم. استخدامم کنید