Phase 10: LLMs from Scratch

المعماريات DeepSeek-V3 المشي

المرحلة 10 · الدروس 14 أسماء ستة أزرار معمارية كل نموذج مفتوح يدور. DeepSeek-V3 (ديسمبر 2024 ، مجموع ملامح 671B ، 37B نشطة) يغير جميع الستة ويضيف أربعة أخرى: الاهتمام المتسلسل الرئيسي ، وتوازن الحمل الخالي من الخسائر المساعدة ، وتنبؤ متعدد الجهاز ، وتدريب DualPipe. هذه الدروس تقرأ معمارة DeepSeek-V3 من أعلى إلى أسفل وتستخرج كل عدد المعلمات من الإعداد المنشور. في النهاية يمكنك أن تشرح لماذا نسبة 671B/37B هي الرهان الصحيح ولماذا المجلس الديمقراطي + الحكومة المشتركة ضرباً إما وحدهماً على الحدود.

Type: Learn

Languages: Python (stdlib, parameter calculator)

Prerequisites: Phase 10 · 14 (open-model walkthroughs), Phase 10 · 17 (NSA), Phase 10 · 18 (MTP), Phase 10 · 19 (DualPipe)

Time: ~75 minutes

أهداف التعلم

  • اقرأ إعداد DeepSeek-V3 من أعلى إلى أسفل و اشرح كل حقل من حيث ستة أزرار GPT-2 بالإضافة إلى أربعة إضافات محددة لـ DeepSeek.
  • استنتاج عدد المعلمات الإجمالية (671B) ، ومعدل المعلمات النشطة (37B) ، والمكونات التي تساهم في كل واحد.
  • قم بحساب بصمة الاحتفاظ بالخزنة KV من MLA في سياق 128k ومقارنة مع ما سيكلفه نموذج كثيف بنفس النشاط مع GQA.
  • أوضح الأحدثة الأربعة الخاصة بـ DeepSeek (MLA، MTP، التوجيه الخالي من الخسائر المساعدة، DualPipe) وسمي جزء من مجموعة الهندسة المعمارية/التدريبية التي تهدف كل منها.

المشكلة

DeepSeek-V3 هو أول نموذج مفتوح للحدود الذي يختلف معمارته بشكل كبير عن عائلة Llama. إلاما 3 405B هو "GPT-2 مع ستة أزرار مُحوَّلة". DeepSeek-V3 هو GPT-2 مع كل الأزرار الستة بالإضافة إلى أربعة أخرى. قراءة إعداد Llama 3 هو التدفئة لقراءة إعداد DeepSeek، ولكن الهيكل العميق شكل حجر الاهتمام، منطق التوجيه، هدف وقت التدريب مختلفة بما فيه الكفاية بحيث تحتاج إلى المشي منفصل.

الثمن من تعلمها: أحدث إصدار DeepSeek-V3 في أساسية الميزان المفتوح ما يعني "قدرة الحدود" في النماذج المفتوحة. تعد الهندسة المعمارية خطة النسخ التي ينسخها العديد من عمليات التدريب في عام 2026. فهمها هو رهان طاولة لأي دور يتعلق بتدريب LLM الحدودية أو الاستنتاج.

المفهوم

النواة غير المتغيرة، مرة أخرى

لا يزال DeepSeek-V3 متطوراً. لا يزال يجمع كتلة المفكّر. كل كتلة لا يزال لديها اهتمام زائد MLP زائد RMSNorms. لا يزال يستخدم SwiGLU في MLP. لا يزال يستخدم RoPE. قبل القاعدة. تضمينات مرتبطة بالوزن. نفس الخط الأساسي ككل Llama أو Mistral.

المشكلة: ممثل مجلس الشيوخ بدلاً من مجلس الإدارة

من المرحلة 10 · 14 تعرف أن GQA تقلص من cache KV عن طريق تقاسم K و V عبر مجموعات من رؤوس Q. الاهتمام المتسلسل متعدد الرأس (MLA) يذهب أبعد: يتم ضغط K و V في تمثيل متسلسل منخفض الرتبة المشتركة (ال kv_lora_rankيحتفظ مخزن KV فقط بالـ المتخفي عادةً 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 (شكل لاما 3 70B، 8 رؤوس كيف، رأس ضيق 128) سوف تدفع:

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

MLA هو أصغر 4x من الجهاز التخزينية GQA نمط Llama-3-70B في سياق 128k.

التنازل: يضيف MLA خطوة إزالة الضغط لكل حساب انتباه (لإنسان). الحساب الإضافي صغير مقارنة مع عرض النطاق المُخزن. الفوز الصافي لإستنتاج السياق الطويل.

التوجيه: توازن الحمل الخالي من الخسائر المساعدة

يقوم جهاز توجيهات MoE بتحديد خبراء أعلى مستوى معالجة كل رمز. يقوم جهاز توجيه ساذج بتركيز الكثير من العمل على عدد قليل من الخبراء ، تارك الآخرين عفويًا. الإصلاح القياسي: إضافة مصطلح خسارة مساعد يعاقب عدم توازن الحمل. هذا يعمل ولكن يدهور قليلا أداء المهام الرئيسية.

يقدم DeepSeek-V3 مخططًا غير مساعدٍ من الخسائر. يتم إضافة شروط التحيز لكل خبير إلى تسجيلات الجهاز التوجيه، والتي يتم تعديلها أثناء التدريب بقاعدة بسيطة: إذا كان الخبير eيزداد الحمل، ينخفضbias_eإذا كان الحمل أقل من اللازم، فرفعها، لا يوجد مدة ضائعة إضافية، التدريب يبقى نظيفاً، الحمل الخبير يبقى متوازناً.

تأثير على الخسارة الرئيسية: لا يمكن قياسها. تأثير على بنية MoE: نظيف، لا وجود لمعيار فائض الخسارة المعاونة للتنسيق.

المهارات المتعددة: تدريب أكثر كثافة + مساعدة مجانية

من المرحلة 10 · 18 تعرف أن DeepSeek-V3 يضيف D=1 MTP module الذي يتوقع وضعيتين من الوهم أمامها. عند الاستنتاج، يتم إعادة تدوين الوحدة المدربة كمسودة تشخيص التكهنات مع قبول 80٪ +. في التدريب، يتم مراقبة كل حالة مخفية على أهداف D+1 = 2، مما يوفر إشارة كثيفة.

المعلمات: 14B فوق 671B الرئيسية. التكلفة العامة: 2.1%.

التدريب: DualPipe

من المرحلة 10 · 19 تعرف أن DualPipe هو خط أنابيب ثنائي الاتجاه الذي يتداخل مع قطع للأمام والخلفية مع الاتصالات عبر العقدة كل إلى كل. عند مقياس DeepSeek-V3 2,048-H800, فإنه يسترد حوالي 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: تستخدم الكتل الثلاثة الأولى MLP كثيفة من الحجم 18432. 58 الباقي استخدام MoE.
  • num_attention_heads=128: 128 رأس استفسار
  • kv_lora_rank=512: يتم ضغط K و V إلى هذا الأبعاد الخفية و يتم إزالة الضغط لكل رأس.
  • num_experts=256, num_experts_per_tok=8كل كتلة من وزارة الطاقة لديها 256 خبراً، طرق أفضل 8.
  • shared_experts=1: فوق 256 خبيرًا مدمرًا، يقوم خبير دائمًا بمساهمة كل رمز. فكر في ذلك ك"قاع كثيف" يضمن الحصول على شيء موثوق به كل رمز.
  • moe_intermediate_size=2048: حجم مخفي لكل خبير من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين من المختبرين.

المحاسبة المعلمية

الحساب الكامل يعيش فيcode/main.pyالعنوان:

  • إدراج: vocab hidden = 129280 7168 = ~0.93B. . .
  • أول 3 كتلة كثيفة: الاهتمام مع MLA (~144M لكل كتلة) + MLP كثيفة (~260M لكل كتلة) + المعايير. حوالي 1.2B إجمالي.
  • 58 كتلة MOE: الاهتمام مع MLA (~ 144M) + 256 خبير كل (30M كل) + 1 خبير مشترك (30M) + المعيار. إجمالي ~ 7.95B لكل كتلة، بما في ذلك جميع الخبراء. 461B إجمالي 58 كتلة MOE.
  • وحدات MTP: 14B

إجمالي كبير: ~476B للمهندسة المعمارية الأساسية + 14B MTP + بشكل واضح عدد 671B المنشور يعطي معايير هيكلية إضافية (مضغوطات التحيز ، ومكونات متخصصة محددة ، وتوسيع الخبراء المشترك ، إلخ). الرقم الذي نكرره في الحاسبة هو في حدود 3-5% من المنشور يأتي الديلتا من وثائق تقرير المحاسبة الدقيقة DeepSeek في إضافة القسم 2 لها.

المعلمات النشطة لكل خطة:

  • الاهتمام: 144 م لكل طبقة * 61 = 8.8 ب (كل الطبقات النار).
  • MLP نشطة: أول 3 طبقات كثيفة (3 260M = 780M) ، 58 طبقة MoE نشطة كل منها مع 8 توجيه + 1 مشاركة + توجيه التكلفة العلوية. لكل طبقة نشطة MLP: ~260M. إجمالي: 3 260M + 58 * 260M = ~15.9B.
  • إدراج + المعايير: 1.2B.
  • إجمالي النشاط: حوالي 26B النواة + 14B MTP (مدرسة ولكن لا تعمل دائما عند الاستنتاج) ≈ 37B.

نسبة 671B / 37B

نسبة القلق 18x (الفقرات النشطة هي 5.5% من إجمالي). DeepSeek-V3 هو النموذج MoE الحدودي الأكثر فقراً الذي أرسل وزناً مفتوحاً. Mixtral 8x7B عند نسبة 13/47 (28%) كثافة أكبر بكثير. Llama 4 Maverick عند نسبة 17B/400B (4.25%) مقارنة. الرهان DeepSeek: على نطاق الحدودي ، أكثر خبراء مع نسبة تفعيل أقل ينتج جودة أفضل لكل FLOP نشط.

حيث يجلس DeepSeek-V3

ModelTotalActiveRatioAttentionNovel ideas
Llama 3 70B70B70B100%GQA 64/8—
Llama 4 Maverick400B17B4.25%GQA—
Mixtral 8x22B141B39B27%GQA—
DeepSeek V3671B37B5.5%MLA 512MLA + MTP + aux-free + DualPipe
Qwen 2.5 72B72B72B100%GQA 64/8YaRN extension

التالي: R1، V4

DeepSeek-R1 (2025) هو تدريب التفكير على العمود الفقري V3. R1 يستخدم نفس الهندسة المعمارية. ما تغير هو وصفة ما بعد التدريب (RL على نطاق واسع على المهام المثبتة) ، وليس الهندسة المعمارية قبل التدريب.

من المتوقع أن تحتفظ DeepSeek-V4 (إذا كانت تسير) بملا + MoE + MTP و تضيف DSA (DeepSeek Sparse Attention) ، خليفة لـ NSA من المرحلة 10 · 17.

استخدمها

code/main.pyهو جهاز حساب المعلمات المتخصص في شكل DeepSeek-V3. تشغيله، مقارنة إنتاجها بأرقام الورقة، واستخدمه على المتغيرات الفرضية (256 خبير مقابل 512, أعلى 8 مقابل أعلى-16, MLA رتبة 512 مقابل 1024).

ما الذي يجب أن ننظر إليه:

  • عدد المعلمات الإجمالية مقابل 671B المنشورة.
  • عدد المعلمات النشطة مقابل 37B المنشورة
  • كاش في إطار 128k مقارنة MLA vs GQA.
  • تفرق لكل طبقة لمعرفة أين يذهب ميزانية المعلمات في الواقع.

أرسله

هذا الدرس يُنتجoutputs/skill-deepseek-v3-reader.md. في ظل نموذج عائلة DeepSeek (V3 ، R1 ، أو أي فارق مستقبلي) ، فإنه ينتج قراءة معمارية مكون لكل مكون التي تسمى كل حقل من التكوين ، وتستخرج عدد المعلمات حسب المكونات ، وتحدد أي من الابتكارات الأربعة الخاصة ب DeepSeek يستخدم النموذج.

التمارين

  1. أركضcode/main.py- مقارنة تقدير مجموع معايير الحاسبة مع 671B المنشورة وتحديد من أين يأتي دلتا.
  1. تعديل الإعداد لاستخدام MLA رتبة 256 بدلا من 512. حساب حجم الاحتفاظ الاحتفاظية KV الناتجة في سياق 128k. ما هو النسبة المئوية للخفض الذي يشتري، وبأي تكلفة للعبيرية لكل رأس؟
  1. مقارنة DeepSeek-V3 (256 خبير، أعلى 8) توجيه إلى خيار افتراضي (512 خبير، أعلى 8). تتزايد المعلمات الإجمالية؛ والمعايير النشطة تبقى نفسها. ما يشتري قدرة الخبراء الإضافية في النظرية، وما تكلفة في الاستنتاج؟
  1. اقرأ القسم 2.1 من التقرير الفني DeepSeek-V3 (arXiv:2412.19437) حول MLA. شرح في ثلاث جملات لماذا يمكن "امتصاص" ماتريسيات إزالة الضغط K و V في المتمول اللاحق لفعالية وقت الاستنتاج.
  1. تستخدم DeepSeek-V3 تدريب FP8 لمعظم العمليات. احسب مدخرات الذاكرة من FP8 مقابل BF16 لتخزين الوزن 671B. كيف يتقاطع هذا مع ميزانية تدريب 14.8T-الرموز؟

الشروط الرئيسية

TermWhat people sayWhat it actually means
MLA"Multi-Head Latent Attention"Compress K and V into a shared low-rank latent (kv_lora_rank, typically 512), decompress per head on-the-fly; KV cache stores only the latent
kv_lora_rank"MLA compression dim"The size of the shared latent for K and V; DeepSeek-V3 uses 512
First k dense layers"Early layers stay dense"The first few MoE-model layers skip the MoE router and run a dense MLP for stability
num_experts_per_tok"Top-k routing"How many routed experts fire per token; DeepSeek-V3 uses 8
Shared experts"Always-on experts"Experts that process every token regardless of routing; DeepSeek-V3 uses 1
Auxiliary-loss-free routing"Bias-adjusted load balance"Per-expert bias terms adjusted during training to keep expert load balanced without adding a loss term
MTP module"Extra prediction head"Transformer block predicting t+2 from h^(1) and E(t+1); denser training, free speculative-decoding draft
DualPipe"Bidirectional pipeline"Training schedule that overlaps forward/backward compute with cross-node all-to-all
Active parameter ratio"Sparsity"active_params / total_params; DeepSeek-V3 hits 5.5%
FP8 training"8-bit training"Training storage and many compute ops in FP8; roughly halves memory vs BF16 at a small quality cost

المزيد من القراءة

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.