Kỹ thuật Xen kẽ FFMA SASS của DeepGEMM Mang lại Hiệu suất Tăng hơn 10% cho Các Phép Toán Ma Trận FP8

BigGo Editorial Team
Kỹ thuật Xen kẽ FFMA SASS của DeepGEMM Mang lại Hiệu suất Tăng hơn 10% cho Các Phép Toán Ma Trận FP8

Thư viện DeepGEMM mới phát hành của DeepSeek AI đã thu hút sự chú ý của cộng đồng kỹ thuật với các kỹ thuật tối ưu hóa đổi mới cho các phép toán ma trận FP8. Mặc dù thư viện cung cấp một số cải tiến hiệu suất cho Phép Nhân Ma Trận Tổng quát (GEMMs), chính kỹ thuật xen kẽ FFMA SASS đã đặc biệt gây ấn tượng với các chuyên gia kỹ thuật, mang lại hiệu suất tăng vượt quá 10% trong một số trường hợp.

Bí quyết Đằng sau Kỹ thuật Xen kẽ FFMA SASS

Đội ngũ DeepGEMM đã phát hiện ra một cải tiến hiệu suất trong các kernel CUTLASS FP8 giữa các phiên bản trình biên dịch NVCC 12.2 và 12.3. Thông qua việc phân tích cẩn thận mã SASS (Streaming Assembly) đã biên dịch, họ xác định rằng một bit cụ thể trong các lệnh FADD đang được lật theo một mẫu xen kẽ. Bit này điều khiển chức năng nhường (yield), về cơ bản cho phép warp hiện tại nhường quyền thực thi, tiềm năng nâng cao tính song song cấp warp bằng cách cho phép các warp khác hoạt động.

Dựa trên khám phá này, đội ngũ đã phát triển một script để sửa đổi các lệnh FFMA (Fused Floating-point Multiply-Add) trong tệp nhị phân đã biên dịch. Họ không chỉ thao tác bit nhường mà còn lật bit tái sử dụng, vì các thanh ghi không thể được tái sử dụng nếu warp được nhường. Sự sửa đổi nhỏ này tạo ra nhiều cơ hội hơn để chồng chéo các lệnh Matrix Multiply-Accumulate (MMA) với các lệnh FFMA thăng cấp, dẫn đến những cải tiến hiệu suất đáng kể.

Tôi phải nói rằng điều này thực sự đáng kinh ngạc.

Tối ưu hóa Chuyên biệt cho Cơ sở Hạ tầng AI Quan trọng

Cuộc thảo luận cộng đồng nhấn mạnh rằng mặc dù những tối ưu hóa hiệu suất như vậy là điển hình trong toán học ma trận khi hiệu suất là yếu tố quan trọng, chúng vẫn chưa được áp dụng rộng rãi cho vấn đề cụ thể này bởi các công ty AI khác. Như một người bình luận đã lưu ý, hầu hết các đơn vị trong lĩnh vực AI đều phụ thuộc vào các hoạt động GEMM hiệu suất cao nhưng thường chỉ sử dụng các triển khai tiêu chuẩn như CUTLASS hoặc cuBLAS thay vì tận dụng các tính năng chưa được ghi nhận.

Mức độ tối ưu hóa này cho thấy các công ty AI sẵn sàng nỗ lực đến mức nào để tận dụng tối đa hiệu suất từ các cụm GPU đắt tiền. Ngay cả việc cải thiện hiệu suất 10% cũng có thể chuyển thành khoản tiết kiệm chi phí đáng kể khi hoạt động ở quy mô lớn. Như cuộc thảo luận chỉ ra, những lợi ích như vậy có thể tiềm năng chi trả lương cho nhiều nhân viên khi các công ty đang đầu tư hàng trăm triệu vào cơ sở hạ tầng GPU.

Các Tính Năng và Yêu Cầu Chính của DeepGEMM

  • Cải Thiện Hiệu Suất: Tăng tốc lên đến 2.7 lần so với triển khai tối ưu của CUTLASS 3.6

  • Kỹ Thuật Tối Ưu Hóa:

    • Chuyên biệt hóa warp bền vững
    • Các tính năng TMA (Tensor Memory Accelerator) của Hopper
    • Bộ lập lịch khối thống nhất với kỹ thuật rasterization
    • Thiết kế JIT hoàn toàn
    • Kích thước khối không căn chỉnh
    • Xen kẽ FFMA SASS
  • Yêu Cầu Phần Cứng:

    • GPU kiến trúc Hopper với hỗ trợ sm_90a
    • Python 3.8+
    • CUDA 12.3+ (khuyến nghị 12.8+)
    • PyTorch 2.1+
    • CUTLASS 3.6+

Tác động đến Ngành và Khả năng Tiếp cận

Việc phát hành mã nguồn mở của DeepGEMM dường như được định vị chiến lược để mang lại lợi ích cho toàn ngành, đặc biệt là các nhà cung cấp lớn hơn phục vụ các mô hình AI. Thư viện yêu cầu GPU kiến trúc Hopper (với hỗ trợ sm_90a) và được thiết kế đặc biệt cho các kịch bản như trong DeepSeek-V3, hỗ trợ cả GEMM nhóm thông thường và Mix-of-Experts (MoE).

Một số thành viên cộng đồng đã thử nghiệm thư viện trên phần cứng tiêu dùng như RTX 5080, gặp phải các hạn chế liên quan đến dung lượng bộ nhớ chia sẻ. Thư viện được thiết kế rõ ràng cho các tensor core NVIDIA Hopper, khiến nó chủ yếu phù hợp với cơ sở hạ tầng AI cấp doanh nghiệp hơn là các ứng dụng tiêu dùng.

Độ sâu kỹ thuật của DeepGEMM nhấn mạnh sự tinh vi ngày càng tăng trong tối ưu hóa cơ sở hạ tầng AI. Khi các mô hình AI tiếp tục phát triển về kích thước và độ phức tạp, những tối ưu hóa nhỏ này ở cấp độ lệnh phần cứng trở nên ngày càng có giá trị đối với các tổ chức đang mở rộng giới hạn của những gì có thể thực hiện được với phần cứng hiện tại.

Tham khảo: DeepGEMM: clean and efficient FP8 GEMM kernels with fine-grained scaling