DeepSeekMã nguồn mở第三弹:V3/R1训练推理关键秘籍

robot
Đang tạo bản tóm tắt

Nguồn: Vật lý lượng tử

Vào ngày thứ ba của Tuần lễ nguồn mở, DeepSeek đã tiết lộ "sức mạnh" đằng sau suy luận đào tạo V3 / R1 -

DeepGEMM:một thư viện FP8 GEMM (phép nhân ma trận chung) hỗ trợ phép nhân ma trận dense và MoE hỗn hợp.

!

Chúng ta hãy tìm hiểu một cách đơn giản về GEMM trước.

GEMM, hay Phép nhân ma trận tổng quát, là một phép toán cơ bản trong đại số tuyến tính, một "vị khách thường xuyên" trong điện toán khoa học, học máy, học sâu và các lĩnh vực khác, và là cốt lõi của nhiều tác vụ tính toán hiệu suất cao.

Tuy nhiên, do lượng tính toán thường lớn, nên việc tối ưu hiệu suất của GEMM là một điểm quan trọng.

Và DeepGEMM được phát hành mở mã nguồn lần này bởi DeepSeek vẫn giữ nguyên đặc điểm "hiệu suất cao + chi phí thấp", điểm nổi bật như sau:

Hiệu suất cao: Trên GPU kiến trúc Hopper, DeepGEMM có khả năng đạt được hiệu suất lên đến 1350+ FP8 TFLOPS. ** Đơn giản **: Logic cốt lõi chỉ khoảng 300 dòng mã, nhưng hiệu suất tốt hơn so với hạt nhân do chuyên gia điều chỉnh. Biên dịch đúng lúc (JIT): Biên dịch hoàn toàn đúng lúc, có nghĩa là nó có thể tự động tạo mã được tối ưu hóa trong thời gian chạy, thích ứng với các kích thước phần cứng và ma trận khác nhau.

  • Không phụ thuộc:Thư viện này được thiết kế rất nhẹ nhàng, không có mối quan hệ phức tạp, giúp việc triển khai và sử dụng trở nên đơn giản.
  • Hỗ trợ nhiều loại bố trí ma trận:Hỗ trợ bố trí ma trận dày đặc và hai loại bố trí MoE, điều này giúp nó có thể phù hợp với các kịch bản ứng dụng khác nhau, bao gồm nhưng không giới hạn ở mô hình chuyên gia kết hợp trong học sâu.

Đơn giản, DeepGEMM chủ yếu được sử dụng để tăng tốc các phép tính ma trận trong học sâu, đặc biệt là trong việc huấn luyện và suy luận mô hình quy mô lớn, nó đặc biệt phù hợp với các tình huống cần tài nguyên tính toán hiệu quả, có thể cải thiện đáng kể hiệu suất tính toán.

Rất nhiều người dùng mạng đều đồng tình với việc mã nguồn mở lần này, một số người đã so sánh DeepGEMM với siêu anh hùng trong thế giới toán học, cho rằng nó nhanh hơn cả máy tính, mạnh mẽ hơn cả phương trình đa thức.

Có người đã so sánh việc phát hành DeepGEMM với việc ổn định trạng thái lượng tử đến một hiện thực mới, ca ngợi việc biên dịch ngay lập tức của nó sạch sẽ và nhanh chóng.

!

Tất nhiên...... cũng có người bắt đầu lo lắng về cổ phiếu Nvidia trên tay mình......

Hiểu rõ hơn về DeepGEMM

DeepGEMM là một thư viện được tạo ra đặc biệt để thực hiện phép nhân ma trận tổng quát FP8 súc tích và hiệu quả, nó cũng có khả năng tỷ lệ cỡ hạt tinh tế, thiết kế này xuất phát từ DeepSeek V3.

Nó có thể xử lý cả phép nhân ma trận thông thường và hỗ trợ phép nhân ma trận chung của MoE nhóm.

Thư viện được viết bằng CUDA và không cần phải biên dịch tại thời điểm cài đặt, vì nó biên dịch tất cả các chương trình hạt nhân trong thời gian chạy thông qua mô-đun biên dịch just-in-time (JIT) nhẹ.

Hiện tại, DeepGEMM chỉ hỗ trợ Hopper Tensor Core của NVIDIA.

Để giải quyết vấn đề lõi tenxơ FP8 không đủ chính xác để tính toán tích lũy, nó áp dụng phương pháp tích lũy hai giai đoạn (tăng cường) của lõi CUDA.

Mặc dù DeepGEMM vay mượn một số ý tưởng từ CUTLASS và CuTe, nhưng nó không quá phụ thuộc vào các mẫu hoặc phép toán đại số của chúng.

Thay vào đó, thư viện được thiết kế ngắn gọn, chỉ với một chức năng hạt nhân cốt lõi và khoảng 300 dòng mã.

Điều này khiến nó trở thành một nguồn tài nguyên ngắn gọn và dễ hiểu, thuận tiện cho mọi người học về phép nhân ma trận FP8 dưới kiến trúc Hopper và công nghệ tối ưu hóa.

Mặc dù thiết kế nhẹ nhàng, nhưng hiệu suất của DeepGEMM có thể tương đương hoặc vượt trội so với các thư viện tinh chỉnh chuyên gia của nhiều hình dạng ma trận.

Vậy hiệu suất cụ thể như thế nào?

Nhóm nghiên cứu đã sử dụng NVCC 12.8 trên H800 để kiểm tra tất cả các hình dạng có thể được sử dụng trong suy luận DeepSeek-V3 / R1 (bao gồm đệm trước và giải mã, nhưng không có song song tensor).

Bức tranh dưới đây thể hiện hiệu suất của DeepGEMM thông thường được sử dụng cho mô hình mật độ cao:

Theo kết quả thử nghiệm, hiệu suất tính toán DeepGEMM có thể đạt tới 1358 TFLOPS và băng thông bộ nhớ có thể đạt tới 2668 GB / s.

Về tỷ lệ tăng tốc, nó có thể lên đến 2.7x so với việc triển khai tối ưu hóa dựa trên CUTLASS 3.6.

Tiếp tục xem xem hiệu suất của DeepGEMM hỗ trợ mô hình MoE với bố trí liên tục (contiguous layout):

!

Và hiệu suất hỗ trợ bố trí mặt nạ của mô hình MoE như sau:

!

Làm thế nào để sử dụng?

Để sử dụng DeepGEMM, trước tiên cần lưu ý một số mục phụ thuộc, bao gồm:

  • Phải hỗ trợ GPU kiến trúc Hopper, sm_90a.
  • Python 3.8 và cao hơn.
  • CUDA 12.3 trở lên (khuyến nghị 12.8).
  • PyTorch 2.1及以上。
  • CUTLASS 3.6 trở lên

Mã phát triển như sau:

# Submodule must be clonedgit clone --recursive git@github.com:deepseek-ai/DeepGEMM.git# Tạo liên kết tượng trưng cho thư mục bên thứ ba (CUTLASS và CuTe) bao gồm thư mục python setup.py develop# Test JIT compilationpython tests/test_jit.py# Kiểm tra tất cả các triển khai GEMM (bình thường, nhóm liên tục và nhóm được che giấu)python tests/test_core.py

Mã cài đặt như sau:

cài đặt python setup.py

Sau các bước trên, bạn có thể nhập sâu_gemm vào dự án Python của mình.

Trong mặt giao diện, đối với DeepGEMM thông thường, bạn có thể gọi hàm deep_gemm.gemm_fp8_fp8_bf16_nt, hỗ trợ định dạng NT (không chuyển vị LHS và chuyển vị RHS).

Đối với các DeepGEMM được nhóm, m_grouped_gemm_fp8_fp8_bf16_nt_contiguous trong trường hợp bố cục liên tục. Trong trường hợp bố trí mặt nạ, nó là m_grouped_gemm_fp8_fp8_bf16_nt_masked.

DeepGEMM cũng cung cấp các hàm công cụ để thiết lập số lượng SM tối đa, lấy kích thước căn chỉnh TMA; hỗ trợ biến môi trường như DG_NVCC_COMPILER, DG_JIT_DEBUG, v.v.

Ngoài ra, nhóm DeepSeek cũng cung cấp một số cách tối ưu hóa bao gồm:

  • Thiết kế JIT:Tất cả các nhân bản được biên dịch trong quá trình chạy, không cần biên dịch khi cài đặt; hỗ trợ lựa chọn độ lớn khối tối ưu và giai đoạn dòng chảy động. ** Chia tỷ lệ chi tiết **: Giải quyết vấn đề độ chính xác FP8 thông qua việc tích lũy hai lớp lõi CUDA; Hỗ trợ không cấp nguồn cho 2 kích thước khối để tối ưu hóa việc sử dụng SM.
  • FFMA SASS交错:Thay đổi vị trí yield và reuse của chỉ thị SASS để tăng hiệu suất.

!

Những người bạn quan tâm có thể nhấp vào liên kết GitHub ở cuối văn bản để xem chi tiết nha~

Một điều nữa

Cổ phiếu của Nvidia ...... những ngày này Tốt...... Tiếp tục giảm một lần nữa:

!

Tuy nhiên, vào sáng ngày 27 theo giờ Bắc Kinh, báo cáo kết quả kinh doanh của NVIDIA cho quý 4 năm tài chính 2025 cũng sắp được công bố, chúng ta có thể mong đợi xem nó sẽ thể hiện ra sao~

Xem bản gốc
Nội dung chỉ mang tính chất tham khảo, không phải là lời chào mời hay đề nghị. Không cung cấp tư vấn về đầu tư, thuế hoặc pháp lý. Xem Tuyên bố miễn trừ trách nhiệm để biết thêm thông tin về rủi ro.
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
0/400
Không có bình luận
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate.io
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)