Phase 10: LLMs from Scratch

डीपसीक-वी3 वास्तुकला पैदल

चरण 10 · पाठ 14 में प्रत्येक खुले मॉडल के मोड़ पर छह वास्तुकला के बटन का नाम दिया गया है। डीपसेक-वी 3 (दिसंबर 2024, 671 बी पैरामीटर कुल, 37 बी सक्रिय) सभी छह को बदल देता है और चार और जोड़ता हैः मल्टी-हेड लटेंट ध्यान, सहायक-हानि-मुक्त लोड संतुलन, मल्टी-टोकन भविष्यवाणी, और डुअलपाइप प्रशिक्षण। यह पाठ DeepSeek-V3 की वास्तुकला को ऊपर से नीचे तक पढ़ता है और प्रकाशित कॉन्फ़िग से प्रत्येक पैरामीटर गिनती प्राप्त करता है। अंत तक आप बता सकते हैं कि 671B/37B अनुपात सही शर्त क्यों है और क्यों विधायक + MoE एक साथ सीमा पर अकेले किसी को हराते हैं।

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

सीखने के लक्ष्य

  • डीपसेक-वी3 कॉन्फ़िग को ऊपर से नीचे तक पढ़ें और प्रत्येक फ़ील्ड को छह जीपीटी-2 बटन और चार डीपसेक-विशिष्ट जोड़ों के संदर्भ में समझाएं।
  • कुल पैरामीटर संख्या (671B), सक्रिय पैरामीटर संख्या (37B) और प्रत्येक में योगदान देने वाले घटकों को व्युत्पन्न करें।
  • 128k संदर्भ में MLA के KV कैश पदचिह्न की गणना करें और GQA के साथ एक ही सक्रिय-पेरम घने मॉडल के साथ तुलना करें।
  • चार डीपसेक विशिष्ट नवाचारों (एमएलए, एमटीपी, सहायक हानि मुक्त रूटिंग, डुअलपाइप) का उल्लेख करें और प्रत्येक वास्तुकला/शिक्षण स्टैक के किस हिस्से का नाम दें।

समस्या

डीपसेक-वी3 पहला फ्रंटियर ओपन मॉडल है जिसकी आर्किटेक्चर लामा परिवार से काफी अलग है। Llama 3 405B "GPT-2 के साथ छह घुमावदार बटन". डीपसेक-वी 3 है GPT-2 के साथ सभी छह बटन और चार अधिक. Llama 3 कॉन्फ़िग को पढ़ना DeepSeek कॉन्फ़िग को पढ़ने के लिए एक वार्मअप है, लेकिन गहरी संरचना ध्यान ब्लॉक का आकार, रूटिंग तर्क, प्रशिक्षण समय उद्देश्य अलग है कि आपको एक अलग पैदल यात्रा की आवश्यकता है।

इसे सीखने का लाभः डीपसेक-वी 3 के ओपन-वेट रिलीज़ ने खुला मॉडल में "सीमा क्षमता" का क्या अर्थ है, यह बदल दिया। वास्तुकला 2026 प्रशिक्षण रन की कई नकल कर रही है। इसे समझना सीमा LLM प्रशिक्षण या निष्कर्ष को छूने वाली किसी भी भूमिका के लिए टेबल दांव है।

अवधारणा

अपरिवर्तित कोर, फिर से

डीपसेक-वी 3 अभी भी ऑटोरेग्रेसिव है। यह अभी भी डिकोडर ब्लॉकों को ढेर करता है। प्रत्येक ब्लॉक में अभी भी ध्यान प्लस एमएलपी प्लस दो आरएमएसनॉर्म्स हैं। यह अभी भी एमएलपी में स्विल्यू का उपयोग करता है। यह अभी भी रोपीई का उपयोग करता है। पूर्व-नॉर्म। वजन-बंद एम्बेडमेंट। प्रत्येक लामा या मिस्ट्रल के समान बेसलाइन।

मोड़ः जीक्यूए के बजाय विधायक

चरण 10 · 14 से आप जानते हैं कि GQA Q सिर के समूहों में K और V को साझा करके KV कैश को छोटा करता है। मल्टी-हेड लटेंट ध्यान (MLA) आगे जाता हैः K और V को एक साझा निम्न-रैंक लटेंट प्रतिनिधित्व (the kv_lora_rankKV कैश केवल लटेंट को संग्रहीत करता है, आमतौर पर 512 फ्लोट्स प्रति टोकन प्रति परत, 8 x 128 = 1024 फ्लोट्स नहीं।

128k संदर्भ में, एमएलए के साथ डीपसेक-वी 3 (एक साझा लटेंट c^{KV}प्रति टोकन प्रति परत; K और V दोनों इस लटेंट से ऊपर-प्रक्षेपण के माध्यम से प्राप्त होते हैं जो बाद के matmul में अवशोषित किया जा सकता है):

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 सिर, सिर dim 128) भुगतान करेगाः

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

एमएलए 128k संदर्भ पर Llama-3-70B शैली GQA कैश से 4 गुना छोटा है।

समझौताः एमएलए प्रति ध्यान गणना (प्रति सिर) के लिए एक डिकॉम्प्रेशन चरण जोड़ता है। सहेजे गए बैंडविड्थ की तुलना में अतिरिक्त गणना छोटी होती है। लंबी-संदर्भ निष्कर्ष के लिए शुद्ध जीत।

मार्गः सहायक-हानि-मुक्त भार संतुलन

MoE राउटर तय करते हैं कि कौन से शीर्ष-के विशेषज्ञ प्रत्येक टोकन को संसाधित करते हैं। एक भोले राउटर कुछ विशेषज्ञों पर बहुत अधिक काम केंद्रित करता है, दूसरों को निष्क्रिय छोड़ देता है। मानक फिक्सः एक सहायक हानि शब्द जोड़ें जो लोड असंतुलन को दंडित करता है। यह काम करता है लेकिन मुख्य कार्य प्रदर्शन को थोड़ा कम करता है।

डीपसेक-वी3 एक सहायक-हानि-मुक्त योजना पेश करता है। राउटर लॉजिट में प्रति विशेषज्ञ पूर्वाग्रह शब्द जोड़े जाते हैं, जो प्रशिक्षण के दौरान एक सरल नियम द्वारा समायोजित किए जाते हैंः यदि विशेषज्ञ eअतिभारित है, घटता है bias_eयदि यह कम लोड है, तो इसे बढ़ाएं। अतिरिक्त हानि अवधि नहीं है। प्रशिक्षण साफ रहता है। विशेषज्ञ लोड संतुलित रहता है।

मुख्य हानि पर प्रभावः कोई मापने योग्य नहीं। MoE वास्तुकला पर प्रभावः क्लीनर, कोई सहायक हानि हाइपरमैटर ट्यून करने के लिए नहीं।

एमटीपीः अधिक घने प्रशिक्षण + मुक्त ड्राफ्ट

चरण 10 · 18 से आप जानते हैं कि डीपसेक-वी 3 डी = 1 एमटीपी मॉड्यूल जोड़ता है जो टोकन की दो स्थितियों की भविष्यवाणी करता है। निष्कर्ष पर, प्रशिक्षित मॉड्यूल को 80% + स्वीकृति के साथ एक अनुमानात्मक-डिकोडिंग ड्राफ्ट के रूप में पुनः उपयोग किया जाता है। प्रशिक्षण में, प्रत्येक छिपे हुए राज्य की निगरानी डी + 1 = 2 लक्ष्यों पर की जाती है, जिससे एक अधिक घने संकेत प्रदान होता है।

पैरामीटरः 671B मुख्य के ऊपर 14B। ओवरहेडः 2.1%.

प्रशिक्षणः डुअलपाइप

चरण 10 · 19 से आप जानते हैं कि डुअलपाइप एक द्वि-दिशात्मक पाइपलाइन है जो क्रॉस-नोड ऑल-टू-ऑल कम्युनिकेशंस के साथ आगे और पीछे के टुकड़ों पर ओवरलैप करती है। डीपसेक-वी 3 के 2,048-एच 800 पैमाने पर, यह लगभग 245k जीपीयू-घंटे पुनर्प्राप्त करता है जो 1 एफ 1 बी पाइपलाइन बुलबुले से खो दिया होगा।

क्षेत्र द्वारा क्षेत्र

यहाँ है 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पहले तीन ब्लॉक में 18432 के घने MLP का उपयोग किया जाता है। शेष 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प्रत्येक विशेषज्ञ के MLP छिपे हुए आकार की तुलना में छोटा है क्योंकि उनमें से 256 हैं।

पैरामीटर लेखांकन

पूरी गणना में रहता है code/main.py. शीर्षक:

  • सम्मिलित करनाः vocab hidden = 129280 7168 = ~0.93B. .
  • पहले 3 घने ब्लॉकः ध्यान MLA (~144M प्रति ब्लॉक) + घने MLP (~260M प्रति ब्लॉक) + मानदंडों के साथ। लगभग 1.2B कुल।
  • 58 एमओई ब्लॉकः एमएलए (~144 एम) + 256 विशेषज्ञ प्रत्येक (30 एम) + 1 साझा विशेषज्ञ (30 एम) + मानक। कुल ~ 7.95 बी प्रति ब्लॉक, सभी विशेषज्ञों सहित। 58 एमओई ब्लॉक के लिए कुल 461 बी।
  • एमटीपी मॉड्यूलः 14बी।

कुल मिलाकरः ~476B कोर आर्किटेक्चर + 14B MTP + स्पष्ट रूप से प्रकाशित 671B संख्या अतिरिक्त संरचनात्मक मापदंडों (अवशिष्टता टेंसर, विशेषज्ञ-विशिष्ट घटक, साझा विशेषज्ञ स्केलिंग, आदि) के लिए जिम्मेदार है। हम कैलकुलेटर में पुनः प्रस्तुत संख्या प्रकाशित के 3-5% के भीतर है डेल्टा अपने अनुभाग 2 अनुलग्नक में बारीक-बीजा लेखांकन के रिपोर्ट दस्तावेजों से आता है।

आगे प्रति सक्रिय पैरामीटरः

  • ध्यान देंः प्रति परत 144M * 61 = 8.8B (सभी परतों में आग) ।
  • एमएलपी सक्रियः पहले 3 परतें घने (3 260M = 780M), 58 एमओई परतें प्रत्येक सक्रिय 8 रूटेड + 1 साझा + रूटिंग ओवरहेड के साथ। प्रति परत सक्रिय एमएलपीः ~260M। कुलः 3 260M + 58 * 260M = ~15.9B।
  • एम्बेडिंग + मानदंडः 1.2B.
  • कुल सक्रिय: लगभग 26B कोर + 14B एमटीपी (प्रशिक्षित लेकिन हमेशा निष्कर्ष पर नहीं चलाया जाता है) ≈ 37B।

671B / 37B अनुपात

18x स्पायरसिटी रेश्यो (सक्रिय पैरामेट्स कुल का 5.5% हैं) । डीपसेक-वी 3 सबसे स्पायर फ्रंटियर एमओई मॉडल है जिसने खुले वजन भेजे हैं। 13/47 (28%) के अनुपात में मिक्स्ट्रल 8x7बी बहुत अधिक घने है। 17B/400B (4.25%) के अनुपात में लैमा 4 मैवरिक तुलनात्मक है। डीपसेक शर्तः फ्रंटियर पैमाने पर, कम सक्रियता अनुपात के साथ अधिक विशेषज्ञ प्रति सक्रिय-एफएलओपी बेहतर गुणवत्ता का उत्पादन करते हैं।

जहां डीपसेक-वी3 बैठता है

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

डीपसेक-आर1 (2025) V3 रीढ़ की हड्डी पर तर्क-शिक्षण रन है। आर1 उसी वास्तुकला का उपयोग करता है। जो बदल गया है वह है प्रशिक्षण के बाद की नुस्खा (जांच योग्य कार्यों पर बड़े पैमाने पर आरएल), पूर्व-शिक्षण वास्तुकला नहीं।

डीपसेक-वी 4 (यदि यह जहाज करता है) के एमएलए + एमओई + एमटीपी रखने और डीएसए (डीपसेक स्परस ध्यान) जोड़ने की उम्मीद है, जो एनएसए के उत्तराधिकारी है चरण 10 · 17 से। वंश स्थिर हैः वास्तुकला स्तर के नवाचार जमा होते हैं; प्रत्येक संस्करण अतिरिक्त बटन बदलता है।

इसका प्रयोग करें

code/main.pyयह डीपसेक-वी 3 के आकार के लिए विशेष पैरामीटर कैलकुलेटर है। इसे चलाएं, पेपर के नंबरों के साथ इसका आउटपुट तुलना करें, और इसे परिकल्पनात्मक संस्करणों (256 विशेषज्ञ बनाम 512, शीर्ष-8 बनाम शीर्ष-16, एमएलए रैंक 512 बनाम 1024) पर उपयोग करें।

क्या देखना हैः

  • कुल पैरामीटर संख्या बनाम प्रकाशित 671B।
  • सक्रिय पैरामीटर गिनती बनाम प्रकाशित 37B।
  • 128k संदर्भ में KV कैश MLA बनाम GQA तुलना।
  • प्रति परत टूटने के लिए देखने के लिए जहां पैरामीटर बजट वास्तव में चला जाता है.

इसे भेजें

यह सबक हमें फल देता हैoutputs/skill-deepseek-v3-reader.md. एक डीपसेक परिवार मॉडल (V3, R1 या किसी भी भविष्य के संस्करण) को देखते हुए, यह एक घटक-दर-कम्पोनेन्ट वास्तुकला रीडिंग का उत्पादन करता है जो कॉन्फ़िग के प्रत्येक क्षेत्र का नाम देता है, घटक द्वारा पैरामीटर गिनती का व्युत्पन्न करता है, और यह पहचानता है कि मॉडल द्वारा उपयोग किए जाने वाले चार डीपसेक-विशिष्ट नवाचारों में से कौन सा है।

व्यायाम

  1. दौड़ेंcode/main.py. कैलकुलेटर के कुल पैरामीटर अनुमान की तुलना प्रकाशित 671B से करें और पता लगाएं कि डेल्टा कहां से आता है। पेपर के खंड 2 में पूर्ण विवरण है।
  1. MLA रैंक 256 का उपयोग करने के लिए कॉन्फ़िग को संशोधित करें। 512 के बजाय। 128k संदर्भ में परिणामी KV कैश आकार की गणना करें। यह किस प्रतिशत में कमी खरीदता है, और प्रति-हेड अभिव्यक्तिशीलता की लागत पर क्या है?
  1. डीपसेक-वी3 (256 विशेषज्ञ, शीर्ष-8) के रूटिंग की तुलना एक परिकल्पनात्मक (512 विशेषज्ञ, शीर्ष-8) संस्करण के साथ करें। कुल मापदंड बढ़ते हैं; सक्रिय मापदंड समान रहते हैं। अतिरिक्त विशेषज्ञ क्षमता सिद्धांत रूप में क्या खरीदती है, और निष्कर्ष पर इसकी लागत क्या है?
  1. एमएलए पर डीपसेक-वी3 तकनीकी रिपोर्ट (आरएक्सआईवीः 2412.19437) के खंड 2.1 को पढ़ें। तीन वाक्य में समझाएं कि निष्कर्ष-समय दक्षता के लिए के और वी डिकॉम्प्रेशन मैट्रिक्स को बाद के मैटमुल में क्यों "अब्सॉब" किया जा सकता है।
  1. डीपसेक-वी3 अधिकांश संचालन के लिए एफपी8 प्रशिक्षण का उपयोग करता है। 671 बी वजन को संग्रहीत करने के लिए एफपी8 बनाम बीएफ16 की मेमोरी बचत की गणना करें। यह 14.8 टी-टोकन प्रशिक्षण बजट के साथ कैसे पार करता है?

प्रमुख शर्तें

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.