DeepSeekSumber Terbuka seri ketiga: Panduan Kunci Pelatihan V3/R1 untuk Berpikir Logis

robot
Pembuatan abstrak sedang berlangsung

Sumber: Quantum Bit

Hari ketiga Pekan Sumber Terbuka, DeepSeek telah mengungkapkan 'kekuatan' di balik pelatihan inferensi V3/R1.

DeepGEMM:sebuah perpustakaan FP8 GEMM (General Matrix Multiplication), mendukung operasi perkalian matriks padat dan campuran pakar (MoE).

!

Mari kita terlebih dahulu memahami dengan singkat tentang GEMM.

GEMM, atau General Matrix Multiplication, adalah operasi dasar dalam aljabar linear, dan sering muncul dalam komputasi ilmiah, pembelajaran mesin, dan bidang deep learning, serta merupakan inti dari banyak tugas komputasi berkinerja tinggi.

Namun karena volume komputasinya seringkali besar, optimisasi kinerja GEMM adalah sangat penting.

Namun, DeepSeek kali ini telah secara terbuka merilis DeepGEMM, yang tetap mempertahankan karakteristik "kinerja tinggi + biaya rendah", dengan sorotan sebagai berikut:

Performa Tinggi: Pada GPU arsitektur Hopper, DeepGEMM mampu mencapai performa hingga 1350+ TFLOPS FP8.

  • Kesederhanaan : Meskipun hanya sekitar 300 baris kode inti, kinerjanya lebih baik dari inti yang dioptimalkan oleh ahli.
  • Just In Time Compilation (JIT): Mengadopsi metode kompilasi langsung pada waktu yang tepat, yang berarti dapat menghasilkan kode yang dioptimalkan secara dinamis saat berjalan, sehingga dapat menyesuaikan dengan perangkat keras dan ukuran matriks yang berbeda.
  • Tidak Bergantung Berat:Pustaka ini dirancang sangat ringan, tanpa hubungan ketergantungan yang rumit, sehingga dapat membuat implementasi dan penggunaan menjadi sederhana.
  • Dukungan untuk Berbagai Tata Letak Matriks:Dukungan untuk tata letak matriks padat dan dua tata letak MoE, ini membuatnya dapat beradaptasi dengan berbagai skenario aplikasi, termasuk namun tidak terbatas pada model pakar campuran dalam pembelajaran mendalam.

Secara sederhana, DeepGEMM utamanya digunakan untuk mempercepat operasi matriks dalam pembelajaran mendalam, terutama dalam pelatihan dan inferensi model berskala besar, ini sangat cocok untuk skenario yang memerlukan sumber daya komputasi yang efisien, dan dapat signifikan meningkatkan efisiensi perhitungan.

Banyak pengguna internet sangat mendukung sumber terbuka kali ini, ada yang menyamakan DeepGEMM dengan pahlawan matematika, menganggapnya lebih cepat dari kalkulator super, lebih kuat dari persamaan polinomial.

Beberapa orang juga membandingkan peluncuran DeepGEMM dengan stabilisasi keadaan kuantum ke realitas baru, memuji kompilasi langsungnya yang bersih dan tajam.

Tentu saja...... Ada juga yang mulai khawatir tentang saham Nvidia di tangan mereka......

!

Memahami DeepGEMM secara Mendalam

DeepGEMM adalah pustaka yang dibuat khusus untuk FP8 Universal Matrix Multiplication (GEMMs) yang sederhana dan efisien dengan penskalaan berbutir halus, yang berasal dari DeepSeek V3.

Ini dapat menangani perkalian matriks umum biasa, serta mendukung perkalian matriks umum dalam kelompok MoE.

Pustaka ini ditulis dengan CUDA, tidak perlu dikompilasi saat menginstal karena akan mengkompilasi semua program inti saat berjalan melalui modul kompilasi instan (JIT) yang ringan.

Saat ini, DeepGEMM hanya mendukung inti tensor Hopper dari NVIDIA.

Untuk mengatasi masalah bahwa inti tensor FP8 tidak cukup akurat untuk menghitung akumulasi, ia mengadopsi metode akumulasi dua tahap (meningkatkan) inti CUDA.

Meskipun DeepGEMM mengambil beberapa konsep dari CUTLASS dan CuTe, namun tidak terlalu bergantung pada template atau operasi aljabar mereka.

Sebaliknya, pustaka ini dirancang dengan sangat sederhana, hanya memiliki satu fungsi inti dalam inti, dengan sekitar 300 baris kode.

Hal ini membuatnya menjadi sumber daya yang ringkas dan mudah dipahami, memudahkan orang untuk belajar perkalian matriks FP8 di bawah arsitektur Hopper dan teknik optimasi.

Meskipun dirancang dengan ringan, kinerja DeepGEMM dapat sebanding atau bahkan melebihi perpustakaan penyetelan pakar untuk berbagai bentuk matriks.

Jadi, bagaimana dengan kinerjanya secara spesifik?

Tim telah menguji semua bentuk yang mungkin digunakan dalam inferensi DeepSeek-V3/R1 di H800 menggunakan NVCC 12.8 (termasuk prapengisian dan dekoding, tetapi tanpa paralelisme tensor).

Gambar di bawah ini menunjukkan kinerja DeepGEMM biasa yang digunakan untuk model padat:

!

Dilihat dari hasil pengujian, kinerja komputasi DeepGEMM** mencapai 1358 TFLOPS yang tertinggi, dan lebar pita memori** mencapai 2668 GB/s yang tertinggi.

Dalam hal rasio akselerasi, bisa sampai 2,7x dibandingkan dengan implementasi yang dioptimalkan berdasarkan CUTLASS 3.6.

Mari kita lihat kinerja DeepGEMM untuk mendukung tata letak model MoE yang berdekatan:

Dan kinerja mendukung tata letak bertopeng model MoE adalah sebagai berikut:

!

Bagaimana cara menggunakan?

Untuk menggunakan DeepGEMM, ada beberapa dependensi yang harus diperhatikan, termasuk:

  • Harus mendukung GPU arsitektur Hopper, sm_90a.
  • Python 3.8 ke atas.
  • CUDA 12.3 ke atas (disarankan 12.8).
  • PyTorch 2.1 dan di atas.
  • CUTLASS 3.6 dan di atas

Kode pengembangan adalah sebagai berikut:

# Submodule must be clonedgit clone --recursive git@github.com:deepseek-ai/DeepGEMM.git# Membuat tautan simbolik untuk direktori pihak ketiga (CUTLASS dan CuTe) termasuk direktori python setup.py develop# Test JIT compilationpython tests/test_jit.py# Uji semua implementasi GEMM ( normal, berkelompok kontigu dan berkelompok tersembunyi ) python tests/test_core.py

Kode instalasi adalah sebagai berikut:

Python setup.py menginstal

Setelah langkah-langkah di atas, Anda dapat mengimpor deep_gemm ke dalam proyek Python Anda.

Dalam hal antarmuka, untuk DeepGEMM biasa, fungsi deep_gemm.gemm_fp8_fp8_bf16_nt dapat dipanggil, dan format NT (LHS yang tidak dialihkan dan RHS yang dialihkan) didukung.

Untuk DeepGEMM yang dikelompokkan, m_grouped_gemm_fp8_fp8_bf16_nt_contiguous dalam hal tata letak kontinu. Dalam hal tata letak topeng, itu adalah m \ _grouped \ _gemm \ _fp8 \ _fp8 \ _bf16 \ _nt \ _masked.

DeepGEMM juga menyediakan fungsi utilitas seperti mengatur jumlah maksimum SM dan mendapatkan ukuran penyelarasan TMA. Variabel lingkungan, seperti DG_NVCC_COMPILER, DG_JIT_DEBUG, dll., didukung.

Selain itu, tim DeepSeek juga menyediakan beberapa cara optimalisasi, termasuk:

JIT Design: Semua kernel dikompilasi saat runtime, tidak perlu dikompilasi pada waktu instalasi; Mendukung pemilihan dinamis ukuran blok dan tahap pipa yang optimal.

  • Skala Resolusi Fein : Menyelesaikan masalah presisi FP8 melalui akumulasi dua lapisan inti CUDA; mendukung ukuran blok non-pangkat dua, meningkatkan tingkat pemanfaatan SM. FFMA SASS Interleaved: Meningkatkan kinerja dengan memodifikasi bit hasil dan penggunaan kembali instruksi SASS.

Mitra yang tertarik dapat menyodok tautan GitHub di akhir artikel untuk melihat detailnya~

Satu Hal Lagi

Saham Nvidia ...... hari ini Sumur...... Terus jatuh lagi:

Namun pada dini hari tanggal 27 Juni, laporan kinerja kuartal keempat tahun keuangan 2025 dari NVIDIA juga akan segera dirilis. Kita bisa berharap untuk melihat kinerjanya~

Lihat Asli
Konten ini hanya untuk referensi, bukan ajakan atau tawaran. Tidak ada nasihat investasi, pajak, atau hukum yang diberikan. Lihat Penafian untuk pengungkapan risiko lebih lanjut.
  • Hadiah
  • Komentar
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate.io
Komunitas
Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)