فاز 10 · درس 20

کالبدشکافی معماری DeepSeek-V3 و محاسبه‌ی پارامترها

نوع
مفهومی
زمان
حدود 75 دقیقه
زبان‌ها
Python (stdlib, parameter calculator)
پیش‌نیاز
فاز 10 · درس 14 (بررسی مدل‌های متن‌باز)، فاز 10 · درس 17 (NSA)، فاز 10 · درس 18 (MTP)، فاز 10 · درس 19 (DualPipe)
طرح شماتیک مهندسی از یک شبکه ترنسفورمر ماژولار با مسیرهای مسیریابی تنک چندشاخه و گره‌های فشرده‌سازی لایه‌ای روی پس‌زمینه‌ی تاریک نئونی
فهرست مطالب
  1. اهداف یادگیری
  2. صورت مسئله
  3. مفاهیم کلیدی
  4. باز هم همان هسته‌ی تغییرناپذیر
  5. وجه تمایز: MLA به‌جای GQA
  6. سازوکار مسیریابی: موازنه‌ی بار بدون تابع زیان کمکی
  7. ماژول MTP: آموزش متراکم‌تر به‌علاوه‌ی توکن پیش‌نویس رایگان
  8. فرآیند آموزش: DualPipe
  9. کانفیگ، فیلد به فیلد
  10. حساب‌وکتاب پارامترها
  11. نسبت 671B به 37B
  12. جایگاه DeepSeek-V3 در مقایسه با رقبا
  13. ادامه‌ی مسیر: R1 و V4
  14. استفاده از ابزارهای واقعی
  15. خروجی این درس
  16. تمرین‌ها
  17. اصطلاحات کلیدی
  18. برای مطالعه‌ی بیشتر

مدل‌های زبانی بزرگ تا مدت‌ها صرفاً با مقیاس‌بندی معماری‌های استاندارد مثل Llama پیش می‌رفتند؛ اما DeepSeek-V3 قواعد بازی را تغییر داد. این مدل با اتکا به نوآوری‌هایی نظیر اتنشن چندسر نهفته (MLA)، معماری متخصصان تنک (MoE) با موازنه‌ی بار بدون تابع زیان کمکی و پایپ‌لاین پیشرفته‌ی DualPipe توانست در عین بهره‌وری شگفت‌انگیز محاسباتی، به مرز توانمندی مدل‌های پیشرو برسد. برای هر مهندسی که به دنبال درک روندهای مدرن هوش مصنوعی است، شناخت زیروبم این معماری ضروری است.

در این درس کانفیگ رسمی DeepSeek-V3 را سطر به سطر بازخوانی می‌کنیم و فرمول‌های محاسباتی پارامترهای فعال (37B) و کل (671B) را به دست می‌آوریم. همچنین بررسی می‌کنیم که چگونه فشرده‌سازی بردار نهفته در MLA مصرف حافظه‌ی کش کلید-مقدار را در زمینه‌های طولانی تا چندین برابر کاهش می‌دهد و استنتاج مدل‌های عظیم را اقتصادی‌تر می‌کند.

در درس 14 از فاز 10، با شش پیچ تنظیم معماری که هر مدل متن‌بازی آن‌ها را تغییر می‌دهد آشنا شدید. مدل DeepSeek-V3 (دسامبر 2024، در مجموع 671B پارامتر، 37B فعال) نه‌تنها هر شش پیچ را می‌چرخاند، بلکه چهار پیچ جدید هم به آن‌ها اضافه می‌کند: اتنشن چندسر نهفته (Multi-Head Latent Attention یا MLA)، موازنه‌ی بار بدون تابع زیان کمکی (auxiliary-loss-free load balancing)، پیش‌بینی چندتوکنی (Multi-Token Prediction یا MTP) و آموزش با پایپ‌لاین دوطرفه‌ی DualPipe. در این درس، معماری DeepSeek-V3 را از بالا تا پایین بررسی می‌کنیم و تک‌تک تعداد پارامترها را از روی کانفیگ منتشرشده به دست می‌آوریم. در پایان، می‌توانید توضیح دهید که چرا نسبت 671B به 37B بهترین انتخاب است و چرا ترکیب MLA و MoE در مرز فناوری از هر کدام به‌تنهایی عملکرد بهتری دارد.

اهداف یادگیری

  • خواندن کامل کانفیگ DeepSeek-V3 از بالا تا پایین و توضیح هر فیلد بر اساس شش پیچ تنظیم GPT-2 به‌علاوه‌ی چهار نوآوری اختصاصی DeepSeek.
  • محاسبه‌ی تعداد کل پارامترها (671B)، پارامترهای فعال (37B) و اجزای تشکیل‌دهنده‌ی هر کدام.
  • محاسبه‌ی ردپای حافظه‌ی کش کلید-مقدار (KV cache) در MLA با طول زمینه‌ی 128k توکن و مقایسه‌ی آن با هزینه‌ی یک مدل متراکم فرضی با پارامتر فعال یکسان و معماری GQA.
  • نام بردن چهار نوآوری اختصاصی DeepSeek (شامل MLA، MTP، مسیریابی بدون زیان کمکی و DualPipe) و مشخص کردن بخشی از استک معماری یا آموزش که هدف گرفته‌اند.

صورت مسئله

مدل DeepSeek-V3 نخستین مدل متن‌باز در مرز فناوری است که معماری آن تفاوت معناداری با خانواده‌ی Llama دارد. مدل Llama 3 405B در واقع همان «GPT-2 با شش پیچ چرخیده» است؛ اما DeepSeek-V3 همان GPT-2 است با همه‌ی آن شش پیچ به‌علاوه‌ی چهار پیچ دیگر. خواندن کانفیگ Llama 3 مثل یک وارم‌آپ (پیش‌گرمایش) برای خواندن کانفیگ DeepSeek است؛ اما ساختار عمیق آن — یعنی شکل بلوک اتنشن، منطق مسیریابی و تابع هدف زمان آموزش — آن‌قدر تفاوت دارد که به یک بررسی جداگانه نیاز است.

فایده‌ی یادگیری آن: انتشار وزن‌های باز DeepSeek-V3 معنای «توانمندی مرز فناوری» را در مدل‌های باز دگرگون کرد. این معماری، طرح اولیه‌ای است که بسیاری از فرآیندهای آموزشی سال 2026 از روی آن کپی‌برداری می‌کنند. درک آن پیش‌شرط ورود به هر جایگاه شغلی مرتبط با آموزش یا استنتاج LLMهای پیشرو است.

مفاهیم کلیدی

باز هم همان هسته‌ی تغییرناپذیر

مدل DeepSeek-V3 همچنان خودبازگشتی (autoregressive) است. همچنان بلوک‌های دیکودر را روی هم می‌چیند. هر بلوک هنوز از اتنشن به‌علاوه‌ی MLP و دو نرمال‌سازی RMSNorm تشکیل شده است. در لایه‌ی MLP همچنان فعال‌ساز SwiGLU به چشم می‌خورد. هنوز از RoPE، پیش‌نرمال‌سازی (Pre-norm) و امبدینگ‌های متصل (Tied Embeddings) استفاده می‌کند؛ یعنی دقیقاً همان خط مبنایی (baseline) که در هر مدل Llama یا Mistral می‌بینید.

وجه تمایز: MLA به‌جای GQA

از درس 14 فاز 10 می‌دانید که GQA با به اشتراک گذاشتن K و V میان گروه‌هایی از سرهای Q، حجم کش کلید-مقدار را کاهش می‌دهد. اما اتنشن چندسر نهفته (MLA) پا را فراتر می‌گذارد: K و V درون یک نمایش نهفته‌ی رتبه‌پایین مشترک (با پارامتر kv_lora_rank) فشرده می‌شوند و سپس در لحظه (on the fly) برای هر سر از حالت فشرده خارج می‌گردند. کش کلید-مقدار فقط این بردار نهفته را ذخیره می‌کند — یعنی معمولاً 512 عدد ممیز شناور به ازای هر توکن در هر لایه، نه 8 ضرب در 128 مساوی با 1024 عدد ممیز شناور.

در طول زمینه‌ی 128k توکن، ردپای DeepSeek-V3 مجهز به MLA (یک بردار نهفته‌ی مشترک c^{KV} به ازای هر توکن در هر لایه؛ K و V هر دو از این بردار نهفته و از طریق تصویر کردن به ابعاد بالاتر به دست می‌آیند که می‌توان آن را در ضرب ماتریسی بعدی ادغام کرد):

kv_cache = num_layers * kv_lora_rank * max_seq_len * bytes_per_element
         = 61 * 512 * 131072 * 2
         = 7.6 GB

در مقابل، یک خط مبنای فرضی مبتنی بر GQA (مشابه ابعاد Llama 3 70B با 8 سرِ KV و بعدِ سرِ 128) چنین هزینه‌ای دارد:

kv_cache = 2 * 61 * 8 * 128 * 131072 * 2
         = 30.5 GB

در زمینه‌ی 128k توکن، حافظه‌ی کش در MLA حدود 4 برابر کوچک‌تر از کش GQA در مدلی با سبک Llama-3-70B است.

هزینه‌ی این بده‌بستان: MLA یک مرحله‌ی بازگشایی از فشردگی را به ازای هر محاسبه‌ی اتنشن (برای هر سر) اضافه می‌کند. این محاسبات اضافه در مقایسه با پهنای باندی که صرفه‌جویی می‌شود ناچیز است؛ در نتیجه دستاورد خالصی برای استنتاج با زمینه‌های طولانی به همراه دارد.

سازوکار مسیریابی: موازنه‌ی بار بدون تابع زیان کمکی

مسیریاب‌های MoE تصمیم می‌گیرند که کدام k متخصص برتر (top-k) هر توکن را پردازش کنند. یک مسیریاب ساده‌لوح بار کاری بسیار زیادی را روی دوش چند متخصص خاص متمرکز می‌کند و بقیه را بیکار می‌گذارد. راه‌حل استاندارد: افزودن یک عبارتِ زیان کمکی (auxiliary loss) که عدم تعادل در بار کاری را جریمه می‌کند. این روش کار می‌کند، اما عملکرد مدل در وظیفه‌ی اصلی را کمی کاهش می‌دهد.

مدل DeepSeek-V3 یک سازوکار بدون نیاز به زیان کمکی معرفی می‌کند. در این روش، به لاجیت‌های مسیریاب یک عبارت بایاس به ازای هر متخصص اضافه می‌شود که حین آموزش با یک قاعده‌ی ساده تنظیم می‌گردد: اگر بار متخصص e بیش از حد باشد، bias_e کاهش می‌یابد؛ و اگر کم‌کار باشد، افزایش پیدا می‌کند. نیازی به عبارت زیان اضافه نیست. فرآیند آموزش تمیز می‌ماند و بار کاری متخصصان متعادل حفظ می‌شود.

اثر روی تابع زیان اصلی: بدون افتِ قابل اندازه‌گیری. اثر روی معماری MoE: تمیزتر و بدون نیاز به تنظیم ابرپارامترِ زیان کمکی.

ماژول MTP: آموزش متراکم‌تر به‌علاوه‌ی توکن پیش‌نویس رایگان

از درس 18 فاز 10 می‌دانید که DeepSeek-V3 یک ماژول MTP با عمق D=1 اضافه کرده که توکنِ دو جایگاه جلوتر را پیش‌بینی می‌کند. در زمان استنتاج، از همین ماژول آموزش‌دیده به‌عنوان پیش‌نویس‌ساز در روش کدگشایی حدسی (speculative decoding) با نرخ پذیرش بالای 80 درصد استفاده می‌شود. در زمان آموزش، هر وضعیت پنهان (hidden state) روی D+1 = 2 هدف نظارت می‌شود که سیگنال متراکم‌تری فراهم می‌آورد.

تعداد پارامترها: 14B علاوه بر 671B مدل اصلی. سربار: 2.1%.

فرآیند آموزش: DualPipe

از درس 19 فاز 10 می‌دانید که DualPipe یک پایپ‌لاین دوطرفه است که تکه‌های forward و backward را با ارتباطات همه‌به‌همه (all-to-all) میان نودها هم‌پوشانی می‌کند. در مقیاس 2,048 پردازنده‌ی H800 که برای آموزش DeepSeek-V3 به کار رفت، این روش حدود 245k ساعت-GPU را که در روش 1F1B به خاطر حباب‌های پایپ‌لاین هدر می‌رفت، احیا می‌کند.

کانفیگ، فیلد به فیلد

در ادامه فایل کانفیگ DeepSeek-V3 (نسخه‌ی ساده‌شده) را می‌بینید:

hidden_size: 7168
intermediate_size: 18432   (dense MLP hidden size, used on first few layers)
moe_intermediate_size: 2048 (expert MLP hidden size)
num_hidden_layers: 61
first_k_dense_layers: 3    (first 3 layers use dense MLP)
num_attention_heads: 128
num_key_value_heads: 128   (formally equal to num_heads under MLA, but
                           the real compression is in kv_lora_rank)
kv_lora_rank: 512          (MLA latent dimension)
num_experts: 256            (MoE expert count per block)
num_experts_per_tok: 8      (top-8 routing)
shared_experts: 1           (always-on shared expert per block)
max_position_embeddings: 163840
rope_theta: 10000.0
vocab_size: 129280
mtp_module: 1               (1 MTP module at depth 1)

تحلیل پارامترها:

  • hidden_size=7168: ابعاد امبدینگ.
  • num_hidden_layers=61: عمق کل بلوک‌ها.
  • first_k_dense_layers=3: در 3 بلوک ابتدایی از لایه‌ی متراکم MLP با اندازه‌ی 18432 استفاده می‌شود. 58 بلوک باقی‌مانده از MoE استفاده می‌کنند.
  • num_attention_heads=128: 128 سرِ پرسش (query head).
  • kv_lora_rank=512: مقادیر K و V در این بعد نهفته فشرده می‌شوند و برای هر سر مجدداً از حالت فشرده درمی‌آیند.
  • num_experts=256, num_experts_per_tok=8: هر بلوک MoE شامل 256 متخصص است و 8 متخصص برتر را انتخاب و مسیریابی می‌کند.
  • shared_experts=1: علاوه بر 256 متخصصِ نیازمند مسیریابی، 1 متخصصِ همیشه فعال وجود دارد که در پردازش همه‌ی توکن‌ها مشارکت می‌کند؛ شبیه به یک «کف متراکم» که مطمئن شویم هر توکن پردازشی پایدار و قابل‌اتکا دریافت می‌کند.
  • moe_intermediate_size=2048: اندازه‌ی پنهان لایه‌ی متراکم MLP هر متخصص؛ کوچک‌تر از MLP متراکم اولیه در نظر گرفته شده، چون 256 عدد از آن‌ها داریم.

حساب‌وکتاب پارامترها

محاسبات کامل در فایل code/main.py قرار دارد. سرخط ارقام:

  • امبدینگ: vocab * hidden = 129280 * 7168 = ~0.93B.
  • 3 بلوک متراکم ابتدایی: اتنشن مجهز به MLA (حدود 84M به ازای هر بلوک در شمارش ساده‌شده‌ی ماشین‌حساب) + لایه‌ی متراکم SwiGLU MLP با ابعاد 3 * 7168 * 18432 = ~396M به ازای هر بلوک + لایه‌های نرمال‌سازی. در مجموع حدود 1.4B.
  • 58 بلوک MoE: اتنشن مجهز به MLA (حدود 84M) + 256 متخصص مسیریابی‌شده (هر کدام 3 * 7168 * 2048 = ~44M) + 1 متخصص مشترک (حدود 44M) + مسیریاب + نرمال‌سازی‌ها. حدود 11.4B به ازای هر بلوک با در نظر گرفتن همه‌ی متخصصان؛ در حدود 661B برای کل 58 بلوک MoE.
  • ماژول MTP: ماژول رسمی منتشرشده 14B است. ماشین‌حساب از یک جایگزین متراکم با اندازه‌ی تقریبی 0.8B استفاده می‌کند.

مجموع نهایی: خروجی ماشین‌حساب ما به حدود 664B می‌رسد، در مقایسه با رقم رسمی 671B برای مدل اصلی. چک‌پوینت موجود روی Hugging Face حجمی برابر با 685B دارد، چون ماژول 14B مربوط به MTP را به این 671B اضافه کرده است. این اختلاف ناچیز حدود 1 درصدی ناشی از ساده‌سازی‌هاست: در این محاسبه از ابعاد مجزای RoPE در MLA، سر خروجی متصل‌نشده و چند تنسور کوچک دیگر صرف‌نظر شده است.

پارامترهای فعال در هر گام رفت (forward):

  • اتنشن: 84M در هر لایه * 61 = ~5.1B (همه‌ی لایه‌ها فعال می‌شوند).
  • لایه‌های فعال MLP: سه لایه‌ی اول متراکم هستند (3 * 396M = ~1.2B)؛ 58 لایه‌ی MoE هر کدام با 8 متخصص مسیریابی‌شده + 1 متخصص مشترک فعالند (9 * 44M = ~396M به ازای هر لایه، در مجموع ~23B). سرجمع حدود 24B.
  • امبدینگ + نرمال‌سازی‌ها: حدود 0.9B.
  • کل پارامترهای فعال: طبق محاسبات ماشین‌حساب حدود 30B در مقایسه با 37B رسمی. بخش عمده‌ی این اختلاف مربوط به اتنشن است: پیاده‌سازی کامل MLA با ابعاد RoPE و سرهای عریض‌تر query و key، پارامترهای بیشتری از شمارش ساده‌شده دارد. ماژول MTP نیز جزو این 37B شمرده نمی‌شود.

نسبت 671B به 37B

نسبت تنک‌سازی (sparsity) برابر با 18 برابر است (پارامترهای فعال تنها 5.5% از کل پارامترها هستند). مدل DeepSeek-V3 تنک‌ترین مدل MoE در مرز فناوری است که با وزن‌های باز عرضه شده است. مدل Mixtral 8x7B با نسبت 13 به 47 (28%) بسیار متراکم‌تر است. مدل Llama 4 Maverick با نسبت 17B به 400B (4.25%) در وضعیت مشابهی قرار دارد. برگ برنده‌ی انتخابی DeepSeek: در مقیاس‌های پیشرو، متخصصان بیشتر با نرخ فعال‌سازی پایین‌تر، کیفیت بهتری به ازای هر فلاپس فعال (active-FLOP) ایجاد می‌کند.

جایگاه DeepSeek-V3 در مقایسه با رقبا

مدل کل پارامترها پارامترهای فعال نسبت اتنشن نوآوری‌ها
Llama 3 70B 70B 70B 100% GQA 64/8 —
Llama 4 Maverick 400B 17B 4.25% GQA —
Mixtral 8x22B 141B 39B 27% GQA —
DeepSeek V3 671B 37B 5.5% MLA 512 MLA + MTP + aux-free + DualPipe
Qwen 2.5 72B 72B 72B 100% GQA 64/8 یا RN extension

ادامه‌ی مسیر: R1 و V4

مدل DeepSeek-R1 (2025) یک فرآیند آموزش استدلال روی بک‌بون V3 است. مدل R1 از همان معماری استفاده می‌کند. آنچه تغییر کرده فرآیند پس‌آموزش (post-training) است (یادگیری تقویتی در مقیاس بالا روی وظایف قابل‌اعتبارسنجی)، نه معماری پیش‌آموزش.

انتظار می‌رود مدل DeepSeek-V4 (در صورت انتشار) ترکیب MLA + MoE + MTP را حفظ کند و سازوکار DSA (اتنشن تنک دیپ‌سیک یا DeepSeek Sparse Attention) را که ادامه‌دهنده‌ی NSA از درس 17 فاز 10 است، اضافه کند. این خط تکاملی کاملاً پایدار است: نوآوری‌های معماری روی هم انباشته می‌شوند و هر نسخه، پیچ‌های جدیدتری را می‌چرخاند.

ترکیب متخصصان (Mixture of Experts)متخصص‌ها و k را بکشید
MIXTURE OF EXPERTSA router sends each token to its top-k experts out of E. Only k of E expert blocks run per token, so the active compute is the fraction k over E even though every parameter still lives in memory. Uneven routing overloads a few experts, which is why MoE training adds a load-balancing loss.
یک مسیریاب هر توکن را به k متخصص برتر از میان E متخصص هدایت می‌کند. برای هر توکن تنها k بلوک از E بلوک متخصص اجرا می‌شوند، بنابراین محاسبات فعال تنها کسری معادل k بر E است، هرچند تمام پارامترها همچنان در حافظه باقی می‌مانند. مسیریابی نامتعادل بار بیش از حدی به چند متخصص تحمیل می‌کند؛ به همین دلیل در آموزش MoE یک تابع زیان تعادل بار (load-balancing loss) اضافه می‌شود.

استفاده از ابزارهای واقعی

فایل code/main.py ماشین‌حساب پارامتری است که اختصاصاً برای معماری DeepSeek-V3 تنظیم شده است. آن را اجرا کنید، خروجی‌اش را با ارقام مقاله مقایسه کنید و روی گونه‌های فرضی مختلف به کار ببرید (مثلاً 256 متخصص در برابر 512، انتخاب 8 در برابر 16 متخصص، و رتبه‌ی MLA برابر 512 در برابر 1024).

مواردی که باید بررسی کنید:

  • تعداد کل پارامترها در مقایسه با رقم رسمی 671B.
  • تعداد پارامترهای فعال در مقایسه با 37B منتشرشده.
  • حافظه‌ی کش کلید-مقدار در زمینه‌ی 128k — مقایسه‌ی MLA در برابر GQA.
  • تفکیک اجزا در هر لایه برای مشاهده‌ی اینکه بودجه‌ی پارامترها دقیقاً در کجا مصرف می‌شود.

خروجی این درس

این درس فایل outputs/skill-deepseek-v3-reader.md را تولید می‌کند. با دادن هر مدلی از خانواده‌ی DeepSeek (چه V3، چه R1 یا هر نسخه‌ی آتی)، معماری جزءبه‌جزء خوانده می‌شود، تک‌تک فیلدهای کانفیگ نام برده می‌شوند، تعداد پارامترها به تفکیک بخش‌ها به دست می‌آیند و مشخص می‌شود مدل از کدام‌یک از نوآوری‌های چهارگانه‌ی اختصاصی DeepSeek بهره می‌برد.

تمرین‌ها

  1. اسکریپت code/main.py را اجرا کنید. برآورد ماشین‌حساب از کل پارامترها را با رقم رسمی 671B مقایسه کنید و ببینید این اختلاف از کجا ناشی می‌شود. بخش 2 مقاله‌ی اصلی، لیست کامل و دقیق این اجزا را آورده است.

  2. کانفیگ را طوری تغییر دهید که رتبه‌ی MLA به‌جای 512 برابر با 256 باشد. حجم کش کلید-مقدار حاصل را در زمینه‌ی 128k توکن محاسبه کنید. این کار چند درصد صرفه‌جویی می‌آورد و چه بهایی روی قدرت بیانِ هر سر می‌گذارد؟

  3. سازوکار مسیریابی DeepSeek-V3 (شامل 256 متخصص و انتخاب 8 مورد) را با حالتی فرضی شامل 512 متخصص و انتخاب 8 مورد مقایسه کنید. پارامترهای کل افزایش می‌یابند، اما پارامترهای فعال ثابت می‌مانند. این ظرفیت متخصصان اضافه از نظر تئوری چه فایده‌ای دارد و در زمان استنتاج چه هزینه‌ای به بار می‌آورد؟

  4. بخش 2.1 گزارش فنی DeepSeek-V3 (سند arXiv:2412.19437) در مورد MLA را مطالعه کنید. در سه جمله توضیح دهید چرا ماتریس‌های بازگشایی فشردگی K و V را می‌توان به منظور کارایی در زمان استنتاج، درون ضرب ماتریسی بعدی «ادغام» کرد.

  5. مدل DeepSeek-V3 برای بیشتر عملیات‌ها از آموزش FP8 استفاده می‌کند. میزان صرفه‌جویی حافظه در حالت FP8 در مقایسه با BF16 برای ذخیره‌سازی 671B وزن را به دست آورید. این صرفه‌جویی چه تأثیری روی بودجه‌ی آموزش با 14.8T توکن دارد؟

اصطلاحات کلیدی

اصطلاح در گفت‌وگوها چه می‌گویند معنای دقیق فنی
MLA «اتنشن چندسر نهفته» فشرده‌سازی K و V در یک فضای نهفته‌ی رتبه‌پایین مشترک (kv_lora_rank، معمولاً 512) و بازگشایی آن برای هر سر به‌صورت درجا؛ کش کلید-مقدار فقط همین بردار نهفته را ذخیره می‌کند
kv_lora_rank «بعد فشردگی MLA» اندازه‌ی بردار نهفته‌ی مشترک برای K و V؛ در DeepSeek-V3 برابر با 512 است
First k dense layers «لایه‌های اولیه متراکم می‌مانند» چند لایه‌ی ابتدایی مدل‌های MoE از مسیریاب MoE صرف‌نظر می‌کنند و برای پایداری بیشتر، لایه‌ی متراکم MLP را اجرا می‌کنند
num_experts_per_tok «مسیریابی Top-k» تعداد متخصصان مسیریابی‌شده‌ای که برای هر توکن فعال می‌شوند؛ در DeepSeek-V3 برابر 8 است
Shared experts «متخصصان همیشه‌روشن» متخصصانی که بدون توجه به خروجی مسیریاب، همه‌ی توکن‌ها را پردازش می‌کنند؛ DeepSeek-V3 دارای 1 متخصص مشترک است
Auxiliary-loss-free routing «موازنه‌ی بار با تنظیم بایاس» تنظیم مقادیر بایاس برای هر متخصص در طول آموزش جهت متوازن نگه‌داشتن بار، بدون اینکه نیازی به اضافه کردن تابع زیان باشد
MTP module «سر پیش‌بینی اضافه» بلوک ترنسفورمر که t+2t+2 را از روی h(1)h^{(1)} و E(t+1)E(t+1) پیش‌بینی می‌کند؛ آموزش متراکم‌تر و ارائه‌ی پیش‌نویس رایگان برای کدگشایی حدسی
DualPipe «پایپ‌لاین دوطرفه» زمان‌بندی آموزش که محاسبات forward و backward را با ارتباطات همه‌به‌همه‌ی بین نودها هم‌پوشانی می‌کند
Active parameter ratio «تنک‌سازی» نسبت پارامترهای فعال به کل پارامترها (active_params / total_params)؛ این نسبت در DeepSeek-V3 به 5.5% می‌رسد
FP8 training «آموزش 8 بیتی» ذخیره‌سازی و انجام بسیاری از عملیات محاسباتی حین آموزش در قالب FP8؛ تقریباً حافظه را در مقایسه با BF16 نصف می‌کند و افت کیفیت بسیار ناچیزی دارد

برای مطالعه‌ی بیشتر

سؤالات متداول

چرا حافظه‌ی کش KV در مدل DeepSeek-V3 بسیار کوچک‌تر از مدل‌های متراکم با GQA است؟

چون سازوکار MLA بردارهای کلید و مقدار را در یک بعد نهفته‌ی رتبه‌پایین مشترک (مثلاً 512) فشرده کرده و فقط این بردار نهفته را در کش ذخیره می‌کند؛ سپس بازگشایی به ازای هر سر حین محاسبه انجام می‌شود.

موازنه‌ی بار بدون تابع زیان کمکی (auxiliary-loss-free) در DeepSeek-V3 چگونه عمل می‌کند؟

به جای جریمه کردن عدم تعادل در تابع هدف آموزش، یک ضریب بایاس به لاجیت هر متخصص اضافه می‌شود که بر اساس اضافه یا کم بودن بار آن متخصص در طول زمان آموزش بالا یا پایین می‌رود.

نسبت پارامترهای فعال به کل در DeepSeek-V3 چقدر است و چه مزیتی دارد؟

از 671B پارامتر کل، تنها حدود 37B پارامتر (حدود 5.5 درصد) به ازای هر توکن فعال می‌شوند که به ازای هر فلاپس فعال، کارایی و کیفیت بالاتری در مقایسه با مدل‌های متراکم‌تر ایجاد می‌کند.

ما رو توی گوگل بیشتر ببین

با افزودن نکست ادمین به «منابع ترجیحی» گوگل، درس‌ها و مطالب ما را در بخش اخبار برتر جستجو بیشتر می‌بینید.