4 poin oleh xguru 2025-02-27 | Belum ada komentar. | Bagikan ke WhatsApp
  • Strategi dan kode yang digunakan di DeepSeek V3/R1
    • DualPipe: algoritme paralelisasi pipeline dua arah untuk overlap komputasi-komunikasi
    • EPLB: penyeimbang beban Expert-Parallel
    • Profile-Data: analisis overlap komputasi-komunikasi melalui profiling data dari infrastruktur DeepSeek

DualPipe

  • DualPipe adalah algoritme paralel pipeline dua arah inovatif yang diperkenalkan dalam DeepSeek-V3 Technical Report
  • Berfungsi mengurangi pipeline bubble dengan melakukan overlap penuh antara tahap komputasi-komunikasi forward dan backward
  • Informasi overlap komputasi-komunikasi yang lebih detail dapat dilihat di profile data

Expert Parallelism Load Balancer (EPLB)

  • Dalam Expert Parallelism (EP), expert yang berbeda dialokasikan ke masing-masing GPU
  • Namun, karena beban kerja tiap expert bisa berbeda, penting untuk menjaga keseimbangan beban antar-GPU
  • Di DeepSeek-V3, strategi redundant experts digunakan untuk mereplikasi expert dengan beban tinggi, lalu menempatkannya secara efisien ke GPU agar beban tetap seimbang
  • Selain itu, dengan memanfaatkan group-limited expert routing, expert dari grup yang sama ditempatkan sebisa mungkin pada node yang sama sehingga transfer data antar-node dapat diminimalkan
  • Agar lebih mudah direproduksi dan diterapkan, algoritme penyeimbangan beban EP disediakan sebagai open source di eplb.py
    • Algoritme ini menghitung rencana replikasi dan penempatan expert yang seimbang berdasarkan beban expert yang diperkirakan
    • Namun, metode spesifik untuk memprediksi beban expert berada di luar cakupan repositori tersebut, dan umumnya digunakan pendekatan moving average berbasis statistik historis
  • Algoritme penyeimbangan beban menyediakan dua kebijakan, masing-masing digunakan dalam situasi yang berbeda.
    • Hierarchical Load Balancing
      • Jika jumlah node server dapat membagi jumlah grup expert, kebijakan hierarchical load balancing digunakan untuk mengoptimalkan group-limited expert routing
      • Pertama, grup expert ditempatkan secara merata ke node untuk menyeimbangkan beban antar-node
      • Setelah itu, expert direplikasi di dalam masing-masing node
      • Terakhir, expert yang telah direplikasi ditempatkan ke GPU individual untuk menyeimbangkan beban antar-GPU
      • Kebijakan ini dapat digunakan pada tahap prefilling yang memiliki skala expert parallelism kecil
    • Global Load Balancing
      • Dalam kasus lainnya, kebijakan global load balancing digunakan untuk mereplikasi expert secara global tanpa memedulikan grup expert, lalu menempatkannya ke GPU individual
      • Kebijakan ini cocok untuk tahap decoding dengan skala expert parallelism besar.

Profiling Data dari DeepSeek Infra

  • DeepSeek membuka profiling data dari framework pelatihan dan inferensinya agar komunitas dapat lebih memahami strategi overlap komunikasi-komputasi dan detail implementasi level rendah
  • Profiling data ini dikumpulkan menggunakan PyTorch Profiler, dan setelah diunduh dapat divisualisasikan melalui chrome://tracing di Chrome atau edge://tracing di Edge
  • Selain itu, dalam eksperimen tersebut profiling dilakukan dengan mensimulasikan strategi routing MoE yang seimbang
  • Pelatihan (Training)
    • Data profil pelatihan menunjukkan strategi overlap chunk forward dan backward di DualPipe
    • Setiap chunk mencakup 4 layer MoE (Mixture of Experts) dan memiliki konfigurasi paralel yang sesuai dengan pengaturan pre-training DeepSeek-V3:
  • Inferensi (Inference)
    • Prefilling
      • Pada tahap ini digunakan dua micro-batch untuk melakukan overlap antara komputasi dan komunikasi all-to-all
      • Selain itu, beban operasi attention dibagi seimbang di antara dua micro-batch sehingga prompt yang sama dapat dibagi ke beberapa micro-batch
    • Decoding
      • Pada decoding juga, seperti pada prefilling, digunakan dua micro-batch untuk overlap komputasi dan komunikasi all-to-all
      • Namun, pada decoding komunikasi all-to-all tidak menggunakan GPU SMsetelah mengirim pesan RDMA, GPU SM dibebaskan, lalu sistem bekerja dengan menunggu komunikasi selesai setelah komputasi selesai
      • Informasi implementasi all-to-all yang lebih detail dapat dilihat di DeepEP

Edisi ke-4 dari 5 open source yang dirilis sebagai DeepSeek Open Infra

Belum ada komentar.

Belum ada komentar.