Solusi software AI kustom untuk bisnis Anda. Lihat Layanan →

Kirim AI

DeepSeek AI: DeepGEMM – Pustaka GEMM FP8 Berperforma Tinggi untuk GPU NVIDIA Hopper

DeepGEMM adalah pustaka open source dari DeepSeek AI yang mengoptimalkan perkalian matriks FP8 untuk GPU NVIDIA Hopper. Dengan fitur seperti kompilasi JIT dan dukungan GEMM berkelompok, pustaka ini mencapai performa hingga 1550 TFLOPS pada GPU H800, menjadikannya solusi ideal untuk pengembang AI yang bekerja dengan model besar.

0
1
DeepSeek AI: DeepGEMM – Pustaka GEMM FP8 Berperforma Tinggi untuk GPU NVIDIA Hopper

Nama: DeepGEMM

Website/Sumber Utama: https://github.com/deepseek-ai/DeepGEMM

Fungsi Utama: Pustaka untuk perkalian matriks umum FP8 (GEMM) yang efisien dengan penskalaan detail halus.

Tipe: Pustaka Open Source

Cocok Untuk: Pengembang AI dan peneliti yang bekerja dengan model besar pada GPU NVIDIA Hopper

Model Harga/Lisensi: Open Source (MIT) Lihat Detail Lisensi

Highlight Utama: Mencapai performa lebih tinggi daripada pustaka teroptimasi lainnya dengan kode yang sederhana dan jelas

Apa Itu DeepGEMM?

DeepGEMM adalah pustaka yang dikembangkan oleh DeepSeek AI untuk perkalian matriks umum FP8 (GEMM) yang bersih dan efisien dengan penskalaan detail halus. Pustaka ini dirancang khusus untuk mendukung baik operasi GEMM normal maupun operasi GEMM berkelompok model Mixture-of-Experts (MoE). Ditulis dalam CUDA, DeepGEMM menggunakan kompilasi Just-In-Time (JIT) saat runtime, sehingga tidak memerlukan kompilasi saat instalasi.

Pustaka ini secara khusus mengoptimalkan performa pada tensor core NVIDIA Hopper, mengatasi masalah akumulasi tensor core FP8 yang tidak presisi dengan menggunakan teknik akumulasi dua tingkat (promosi) berbasis CUDA-core. DeepGEMM mampu mencapai performa hingga 1550 TFLOPS pada GPU H800.

Fitur Utama / Andalan

(Disimpulkan dari eksplorasi halaman repository)

Kompilasi Just-In-Time (JIT)

  • Deskripsi: Semua kernel dikompilasi saat runtime menggunakan modul JIT yang ringan, tanpa perlu kompilasi saat instalasi.
  • Manfaat/Contoh: Bentuk matriks GEMM, ukuran blok, dan jumlah tahap pipeline diperlakukan sebagai konstanta waktu kompilasi, menghemat register dan memungkinkan optimasi lebih lanjut oleh compiler.
  • Info Lebih Lanjut: Pelajari Lebih Lanjut

Dukungan GEMM Berkelompok (Grouped GEMM)

  • Deskripsi: Mendukung GEMM berkelompok khusus untuk model MoE, dengan pengelompokan hanya pada sumbu M sementara N dan K tetap.
  • Manfaat/Contoh: Menyediakan dua format: Tata Letak Kontinu (untuk pelatihan dan inferensi prefilling) dan Tata Letak Bertopeng (untuk inferensi decoding).
  • Info Lebih Lanjut: Pelajari Lebih Lanjut

FFMA SASS Interleaving

  • Deskripsi: Teknik optimasi yang memodifikasi instruksi FFMA dalam biner terkompilasi dengan pola interleaving.
  • Manfaat/Contoh: Meningkatkan performa hingga 10%+ pada beberapa kasus dengan menciptakan lebih banyak peluang untuk tumpang tindih instruksi MMA dengan instruksi promosi FFMA.
  • Info Lebih Lanjut: Pelajari Lebih Lanjut

Dukungan Fitur TMA Hopper

  • Deskripsi: Memanfaatkan fitur Tensor Memory Accelerator (TMA) dari arsitektur Hopper untuk pergerakan data yang lebih cepat dan asinkron.
  • Manfaat/Contoh: Menggunakan TMA untuk beban LHS, faktor penskalaan LHS, dan matriks RHS, serta penyimpanan matriks output, multicast TMA, dan prefetching deskriptor TMA.
  • Info Lebih Lanjut: Pelajari Lebih Lanjut

Kelebihan (Pros)

(Disimpulkan dari berbagai halaman)

  • Performa tinggi mencapai hingga 1550 TFLOPS pada GPU H800, melampaui pustaka teroptimasi seperti CUTLASS hingga 2.7x
  • Desain kode yang bersih dan sederhana dengan hanya sekitar 300 baris kode inti, memudahkan pemahaman dan ekstensi
  • Tidak memerlukan kompilasi saat instalasi, mempercepat proses pengembangan
  • Dukungan spesifik untuk operasi GEMM pada model MoE, baik dengan tata letak kontinu maupun bertopeng
  • Optimasi khusus untuk performa pada GPU NVIDIA Hopper dengan pemanfaatan fitur TMA

Kekurangan (Cons) / Batasan

(Disimpulkan dari eksplorasi)

  • Hanya mendukung GPU dengan arsitektur NVIDIA Hopper (sm_90a)
  • Hanya mendukung format NT (LHS non-transposed dan RHS transposed)
  • Memerlukan faktor penskalaan LHS yang disejajarkan dengan TMA dan ditranspos
  • Batasan pada bentuk N dan K pada beberapa konfigurasi
  • Fungsi utilitas PyTorch yang disediakan mungkin menghasilkan performa yang lebih lambat

Harga / Lisensi

(Dicari secara aktif dari tautan Pricing/License)

Model: Open Source

Lisensi: MIT Lihat File Lisensi

Persyaratan Sistem

(Berdasarkan dokumentasi)

  • GPU dengan arsitektur Hopper, harus mendukung sm_90a
  • Python 3.8 atau lebih tinggi
  • CUDA 12.3 atau lebih tinggi (sangat direkomendasikan 12.8+ untuk performa terbaik)
  • PyTorch 2.1 atau lebih tinggi
  • CUTLASS 3.6 atau lebih tinggi (dapat dikloning menggunakan Git submodule)

Contoh Penerapan & Observasi

(Berdasarkan dokumentasi dan penelusuran)

  • Digunakan dalam model DeepSeek-V3 untuk operasi GEMM FP8 dengan penskalaan detail halus
  • Cocok untuk model inferensi dan pelatihan yang membutuhkan performa tinggi pada operasi matriks FP8
  • Sangat efektif untuk model Mixture-of-Experts (MoE) dengan variasi jumlah token per ahli
  • Dokumentasi lengkap dan contoh penggunaan tersedia di repository
  • Pengembangan aktif dengan roadmap fitur yang jelas di sini
Arya AnggaraA
DITULIS OLEH

Arya Anggara

AI Enthusiast 🚀 | Software Engineer focused on developing AI-based solutions.

Tanggapan (0 )