بهطور خلاصه
- وزنها: پارامترها × بیت به ازای هر وزن ÷ 8. با فرمت 4 بیتی MLX این میشود حدود 0.56 GB به ازای هر میلیارد پارامتر؛ در 8 بیت حدود 1.06 GB و در 16 بیت 2 GB.
- پس یک مدل 8B در 4 بیت حدود 4.5 GB، یک مدل 32B حدود 18 GB و یک مدل 70B حدود 39 GB لازم دارد، پیش از کانتکست.
- کانتکست (KV cache) جداگانه اضافه میشود و با هر توکن بزرگتر میشود: برای Qwen3 8B، کانتکستی با 32,000 توکن حدود 4.8 GB میگیرد، بیشتر از وزنهای 4 بیتی خودش.
- روی Mac، GPU بهطور پیشفرض میتواند حدود 75% حافظهٔ یکپارچه را به کار ببرد، پس یک Mac با 16 GB حدود 12 GB برای مدل دارد. روی PC، مدل باید در VRAM خود کارت گرافیک جا شود تا با سرعت کامل اجرا شود.
1قاعده: پارامترها × بیتها
یک مدل بیشتر از وزنهایش تشکیل شده است: یک عدد برای هر پارامتر. در 16 بیت هر کدام 2 بایت میگیرد، پس مدل به ازای هر میلیارد پارامتر 2 GB لازم دارد. کوانتیزاسیون هر وزن را با بیتهای کمتری ذخیره میکند و مدل را تقریباً به همان نسبت کوچک میکند؛ در 4 بیت بیشتر مدلها به کیفیت اصلی خود نزدیک میمانند.
فرمتهای کوانتیزهشده کمی دادهٔ اضافه هم برای بازسازی وزنها نگه میدارند. MLX اپل بهطور پیشفرض برای هر گروه 64تایی از وزنها یک مقیاس و یک بایاس، در نوع 16 بیتی خود مدل، نگه میدارد (MLX)، که نیم بیت به هر وزن اضافه میکند. نتیجه این اندازههاست:
| دقت | بیت به ازای هر وزن | GB به ازای هر میلیارد پارامتر |
|---|---|---|
| 16 بیت (اصلی) | 16 | 2.0 |
| 8 بیت | 8.5 | حدود 1.06 |
| 6 بیت | 6.5 | حدود 0.81 |
| 4 بیت | 4.5 | حدود 0.56 |
| 3 بیت | 3.5 | حدود 0.44 |
| 2 بیت | 2.5 | حدود 0.31 |
زیر 4 بیت، کیفیت سریعتر افت میکند. یک انتخاب پیشفرض خوب: بالاترین دقتی که با فضای کافی جا شود.
2حافظهٔ لازم برای اندازههای رایج مدل
| اندازهٔ مدل | 16 بیت | 8 بیت | 4 بیت | 3 بیت |
|---|---|---|---|---|
| 1B | 2 GB | 1.1 GB | 0.6 GB | 0.4 GB |
| 3B | 6 GB | 3.2 GB | 1.7 GB | 1.3 GB |
| 8B | 16 GB | 8.5 GB | 4.5 GB | 3.5 GB |
| 14B | 28 GB | 14.9 GB | 7.9 GB | 6.1 GB |
| 32B | 64 GB | 34 GB | 18 GB | 14 GB |
| 70B | 140 GB | 74.4 GB | 39.4 GB | 30.6 GB |
| 120B | 240 GB | 127.5 GB | 67.5 GB | 52.5 GB |
| 235B | 470 GB | 249.7 GB | 132.2 GB | 102.8 GB |
| 405B | 810 GB | 430.3 GB | 227.8 GB | 177.2 GB |
| 671B | 1,342 GB | 712.9 GB | 377.4 GB | 293.6 GB |
برخی مدلها از ابتدا با دقت پایین منتشر میشوند. gpt-oss-120b از OpenAI دارای 117 میلیارد پارامتر است و وزنهای ترکیب متخصصانش را در یک فرمت 4 بیتی به نام MXFP4 نگه میدارد، پس روی یک GPU تکی 80 GB جا میشود (OpenAI). برای یک مدل مشخص، صفحهاش را باز کنید: همهٔ مدلهای باز و Macی که لازم دارند، برای نمونه gpt-oss-120b یا Llama 3.3 70B.
3کانتکست هم حافظه میگیرد
وقتی مدل میخواند و مینویسد، برای هر توکن گفتوگو در هر لایه یک کلید و یک مقدار نگه میدارد: همان KV cache. اندازهاش برابر است با 2 × لایهها × سرهای KV × اندازهٔ هر سر × بایت هر مقدار × توکنها.
برای نمونه، Qwen3 8B دارای 36 لایه، 8 سر KV و اندازهٔ سر 128 است و در 16 بیت ذخیره میشود (config). یعنی 147,456 بایت برای هر توکن:
| کانتکست | KV cache برای Qwen3 8B (16 بیت) |
|---|---|
| 8,192 توکن | حدود 1.2 GB |
| 32,768 توکن | حدود 4.8 GB |
| 40,960 توکن (کل کانتکست آن) | حدود 6.0 GB |
مدلهایی با grouped-query attention، مثل همین مدل، سرهای KV کمتری از سرهای attention دارند (8 در برابر 32) که کش را از همان ابتدا چهار برابر کوچک میکند. با کوانتیزهکردن کش میتوانید بیشتر صرفهجویی کنید: سرور mlx-lm گزینهٔ --kv-bits 4 را میپذیرد (mlx-lm). برای چت، چند هزار توکن کانتکست کافی است؛ برای ایجنتها، اسناد طولانی یا کد، چند گیگابایت در نظر بگیرید.
4چه مدلی روی Mac جا میشود
حافظهٔ Mac بین CPU و GPU مشترک است و macOS بهطور پیشفرض فقط بخشی از آن را به GPU میدهد. صفحهٔ مقایسه ما حدود 75% حساب میکند؛ README پروژهٔ mlx-lm نشان میدهد چطور در macOS 15 یا جدیدتر این حد را با sudo sysctl iogpu.wired_limit_mb=N بالا ببرید (mlx-lm)، اما macOS و اپهای دیگرتان هم هنوز جا لازم دارند.
| حافظهٔ Mac | برای GPU (حدود 75%) | بزرگترین مدل در 4 بیت | بزرگترین در 8 بیت |
|---|---|---|---|
| 8 GB | 6 GB | حدود 10B | حدود 5B |
| 16 GB | 12 GB | حدود 21B | حدود 11B |
| 24 GB | 18 GB | حدود 32B | حدود 16B |
| 32 GB | 24 GB | حدود 42B | حدود 22B |
| 36 GB | 27 GB | حدود 48B | حدود 25B |
| 48 GB | 36 GB | حدود 64B | حدود 33B |
| 64 GB | 48 GB | حدود 85B | حدود 45B |
| 96 GB | 72 GB | حدود 128B | حدود 67B |
| 128 GB | 96 GB | حدود 170B | حدود 90B |
| 256 GB | 192 GB | حدود 341B | حدود 180B |
| 512 GB | 384 GB | حدود 682B | حدود 361B |
حافظه تعیین میکند چه چیزی جا شود؛ پهنای باند حافظه تعیین میکند با چه سرعتی بنویسد. راهنمای بهترین Mac برای LLM محلی نیمهٔ دوم را توضیح میدهد و رتبهبندی همهٔ Macها هر دو را کنار هم میگذارد.
5RAM، VRAM و حافظهٔ یکپارچه
روی PC با کارت گرافیک، مدل فقط وقتی با سرعت کامل اجرا میشود که در حافظهٔ خود کارت، یعنی VRAM، جا شود: 32 GB در RTX 5090 (NVIDIA). لایههایی که جا نمیشوند میتوانند از RAM سیستم اجرا شوند، اما خواندن آن حافظه بسیار کندتر است و مدل خیلی کند میشود.
Mac حافظهٔ VRAM جداگانه ندارد: GPU همان حافظهٔ یکپارچهای را میخواند که CPU میخواند، برای همین یک Mac با 64 GB یا 128 GB مدلهایی را جا میدهد که هیچ کارت گرافیک مصرفی تکی نمیتواند. چند PC هم حالا همینطور کار میکنند، مثل DGX Spark از NVIDIA و دستگاههای Ryzen AI Max از AMD با 128 GB حافظهٔ مشترک بین CPU و GPU: M5 Max در برابر DGX Spark و M5 Max در برابر RTX 5090 را ببینید.
6مدلهای ترکیب متخصصان (MoE)
یک مدل ترکیب متخصصان همهٔ پارامترهایش را در حافظه نگه میدارد اما برای هر توکن فقط چند تا از آنها را به کار میبرد. حافظه از کل پارامترها پیروی میکند؛ سرعت از بخش فعال. gpt-oss-20b دارای 21 میلیارد پارامتر است که 3.6 میلیارد آن فعال است (OpenAI): مثل یک مدل 21B حافظه میخواهد و تقریباً به سرعت یک مدل 4B مینویسد.
همین مدلهای ترکیب متخصصان را برای Mac مناسب میکند، چون Mac در مقایسه با کارتهای گرافیک نسبت به پهنای باند، حافظهٔ بیشتری دارد. مقایسه هر دو عدد را برای همهٔ مدلهای محبوب نشان میدهد.
7پرسشها
- برای اجرای مدل 70B چقدر رم لازم دارم؟
- حدود 39 GB برای وزنها در 4 بیت، بهعلاوهٔ کانتکست: در عمل یک Mac با 64 GB یا بیشتر، یا چند کارت گرافیک. در 8 بیت حدود 74 GB لازم دارد، پس 128 GB.
- آیا 16 GB رم برای اجرای LLM کافی است؟
- بله، برای مدلهایی تا حدود 14B پارامتر در 4 بیت: یک Mac با 16 GB بهطور پیشفرض حدود 12 GB به GPU میدهد. مدلهای 8B با فضای کافی برای کانتکست بهراحتی اجرا میشوند. بهترین LLMها برای Mac با 16 GB را ببینید.
- یک مدل 8B چقدر VRAM لازم دارد؟
- حدود 4.5 GB در 4 بیت، 8.5 GB در 8 بیت و 16 GB در 16 بیت، بهعلاوهٔ حدود 1.2 GB برای کانتکستی با 8,000 توکن در مورد Qwen3 8B.
- آیا طول کانتکست حافظه مصرف میکند؟
- بله. KV cache با هر توکن گفتوگو بزرگتر میشود. برای Qwen3 8B حدود 147 KB به ازای هر توکن در 16 بیت است: حدود 4.8 GB در 32,000 توکن.
- آیا میتوانم مدلی بزرگتر از رم خود را اجرا کنم؟
- نه به شکلی که به کار بیاید. اگر وزنها جا نشوند، سیستم swap میکند یا از حافظهٔ کندتر میخواند و خروجی بسیار کند میشود. از دقت پایینتر، مدل کوچکتر یا مدل ترکیب متخصصان استفاده کنید، یا آن را روی چند دستگاه پخش کنید: کلاسترهای هوش مصنوعی Mac را ببینید.