• DeepSeek V3/R1 में उपयोग की गई strategies और code
    • DualPipe : computation-communication overlap के लिए bidirectional pipeline parallelization algorithm
    • EPLB: Expert-Parallel load balancer
    • Profile-Data: DeepSeek infrastructure की data profiling के जरिए computation-communication overlap का विश्लेषण

DualPipe

  • DualPipe एक innovative bidirectional pipeline parallel algorithm है, जिसे DeepSeek-V3 Technical Report में पेश किया गया था
  • यह forward और backward computation-communication stages को पूरी तरह overlap करके pipeline bubbles को कम करता है
  • computation-communication overlap के बारे में अधिक जानकारी profile data में देखी जा सकती है

Expert Parallelism Load Balancer (EPLB)

  • Expert Parallelism(EP) में अलग-अलग experts को प्रत्येक GPU पर assign किया जाता है
  • लेकिन experts के हिसाब से workload अलग हो सकता है, इसलिए GPUs के बीच load को संतुलित रखना महत्वपूर्ण है
  • DeepSeek-V3 में redundant experts strategy का उपयोग करके high-load experts की replicas बनाई जाती हैं, फिर उन्हें GPUs पर efficiently place करके load balance किया जाता है
  • साथ ही, group-limited expert routing का उपयोग करके एक ही group के experts को संभव हो तो उसी node पर रखा जाता है, ताकि nodes के बीच data transfer कम से कम हो
  • इसे reproduce और deploy करना आसान बनाने के लिए, eplb.py में EP load balancing algorithm को open source के रूप में उपलब्ध कराया गया है
    • यह algorithm expected expert load के आधार पर balanced expert replication और placement plan की गणना करता है
    • हालांकि, expert load को predict करने का specific method इस repository के दायरे से बाहर है, और आमतौर पर past statistics पर आधारित moving average method का उपयोग किया जाता है
  • Load balancing algorithm दो policies देता है, और हर policy अलग परिस्थिति में उपयोग होती है
    • Hierarchical Load Balancing
      • जब server nodes की संख्या expert groups की संख्या को divide कर सकती है, तब Hierarchical Load Balancing policy का उपयोग करके group-limited expert routing को optimize किया जाता है
      • पहले, expert groups को nodes पर समान रूप से रखा जाता है ताकि nodes के बीच load balance हो
      • इसके बाद, प्रत्येक node के भीतर experts की replication की जाती है
      • अंत में, replicated experts को individual GPUs पर place करके GPUs के बीच load balance किया जाता है
      • यह policy expert parallel scale के छोटे होने वाले prefilling चरण में उपयोग की जा सकती है
    • Global Load Balancing
      • अन्य स्थितियों में, Global Load Balancing policy का उपयोग करके expert groups की परवाह किए बिना global स्तर पर experts की replication की जाती है और उन्हें individual GPUs पर place किया जाता है
      • यह policy expert parallel scale के बड़े होने वाले decoding चरण के लिए उपयुक्त है

DeepSeek Infra की Profiling Data

  • DeepSeek ने अपने training और inference framework की profiling data सार्वजनिक की है, ताकि community communication-computation overlap strategies और low-level implementation details को बेहतर समझ सके
  • यह profiling data PyTorch Profiler का उपयोग करके एकत्र की गई थी, और download के बाद Chrome में chrome://tracing, तथा Edge में edge://tracing के माध्यम से visualize किया जा सकता है
  • साथ ही, experiment में balanced MoE routing strategy को simulate करके profiling की गई
  • Training
    • Training profile data, DualPipe में forward और backward chunks की overlap strategy दिखाती है
    • प्रत्येक chunk में 4 MoE (Mixture of Experts) layers शामिल हैं, और इसमें DeepSeek-V3 के pre-training setup से मेल खाने वाला parallel configuration है:
  • Inference
    • Prefilling
      • इस चरण में दो micro-batches का उपयोग करके computation और all-to-all communication को overlap किया जाता है
      • साथ ही, attention computation load को दो micro-batches के बीच संतुलित रूप से बांटा जाता है, ताकि एक ही prompt को कई micro-batches में विभाजित किया जा सके
    • Decoding
      • Decoding में भी prefilling की तरह दो micro-batches का उपयोग करके computation और all-to-all communication को overlap किया जाता है
      • लेकिन decoding में all-to-all communication GPU SM को occupy नहीं करतीRDMA messages भेजने के बाद GPU SM को मुक्त कर दिया जाता है, और computation समाप्त होने के बाद communication completion का इंतजार किया जाता है
      • अधिक विस्तृत all-to-all implementation जानकारी DeepEP में देखी जा सकती है

DeepSeek Open Infra के रूप में जारी किए जा रहे 5 open source प्रोजेक्ट्स में से चौथा

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.