어제는 오픈소스 주간의 셋째 날, DeepSeek이 DeepGEMM 오픈소스 라이브러리를 공식 출시했습니다.
이는 밀집 및 MoE 모델을 위해 특별히 설계된 FP8 GEMM 연산 라이브러리로, DeepSeek-V3/R1과 같은 MoE FP8 양자화 모델의 학습 및 추론을 강력하게 지원합니다.
DeepGEMM 은 NVIDIA Hopper 아키텍처 GPU(H100, H200, H800 등)에 대해 깊이 최적화되었습니다.
주요 특징은 간결한 코드(핵심 부분은 약 300줄에 불과)이면서도 뛰어난 성능을 발휘하여, 다양한 행렬 형태에서 전문가가 튜닝한 라이브러리와 맞먹거나 그 이상의 성능을 낼 수 있다는 점입니다.
고성능 AI 컴퓨팅 서비스를 제공하는 클라우드 플랫폼으로서, Novita AI는 많은 MoE FP8 양자화 모델(예: DeepSeek FP8 버전)을 배포했습니다.
DeepGEMM 기술을 더 잘 활용하고 이러한 모델의 추론 효율성을 높이기 위해, Novita AI는 DeepGEMM이 출시되자마자 포괄적인 성능 테스트를 진행했습니다.
구체적인 테스트 데이터를 살펴보기 전에, 먼저 몇 가지 관련 기본 개념을 숙지해 보겠습니다.
GEMM이란 무엇인가?
GEMM(General Matrix Multiplication)은 딥러닝에서 가장 기본적이면서 중요한 연산자이며, GEMM 최적화는 고성능 AI 컴퓨팅의 핵심입니다.
DeepGEMM은 딥러닝의 주요 GEMM 연산을 가속화하기 위해 특별히 설계된 오픈소스 라이브러리로, GEMM 연산 효율성을 향상시켜 AI 시스템의 전반적인 성능을 높입니다.
DeepGEMM의 독특한 장점
CUTLASS나 CuTe와 같은 성숙된 템플릿 라이브러리와 달리, DeepGEMM은 경량 설계 방식을 채택합니다. 모든 GPU와 연산 시나리오에 대한 광범위한 호환성을 목표로 하지 않고, Hopper 아키텍처의 FP8 연산 능력을 최대한 활용하는 데 집중하며, DeepSeek R1 및 V3와 같은 대형 모델에서 일반적으로 사용되는 행렬 형태에 대해 세심한 최적화를 수행합니다.
DeepGEMM의 기술 혁신
DeepGEMM은 다음 네 가지 핵심 기술 혁신을 통해 성능 돌파구를 마련했습니다.
- JIT(Just-In-Time) 컴파일
전통적인 방법은 CUDA 코드를 호출하기 전에 미리 컴파일해야 하지만, DeepGEMM의 JIT 기술은 런타임에 컴파일 과정을 숨겨 수동 컴파일이 필요 없습니다.
개발자는 복잡한 Python 인터페이스를 만들 필요 없이, 몇 줄의 코드만으로 기능을 구현할 수 있어 개발 과정이 간소화됩니다.
- 연산 및 전송 중첩 최적화
DeepGEMM은 데이터 전송과 연산 작업을 동시에 수행하여 Hopper 아키텍처의 TMA(Tensor Memory Accelerator) 기능을 완전히 활용함으로써 데이터 전송 효율성을 더욱 최적화합니다. 또한 DeepGEMM은 저수준 PTX 명령어를 사용하여 극한의 성능을 달성합니다.
- 임의의 행렬 크기 지원
전통적인 GEMM 구현은 행렬 크기가 2의 거듭제곱(예: 128, 256)이어야 하지만, DeepGEMM은 정렬되지 않은 블록 크기의 행렬을 지원합니다. 이 기능은 메모리 낭비를 방지하고 전체 연산 효율성을 향상시킵니다.
- FFMA SASS 명령어 수준 최적화
FFMA 명령어의 yield 및 reuse 비트를 수정하여 MMA 명령어와 승격 FFMA 명령어를 중첩할 수 있는 기회를 더 많이 만들어, 기본 아키텍처에 대한 이해가 제한적이더라도 특정 시나리오에서 10% 이상의 성능 향상을 가져옵니다.
Novita AI 직접 평가: DeepGEMM의 범용성
MoE 모델의 추론 시나리오에서 Novita AI는 H100 및 H200 GPU에서 DeepGEMM의 세부 성능 테스트를 수행하고, 결과를 공식 H800 벤치마크 데이터와 비교했습니다.
먼저, DeepGEMM 성능에 영향을 미치는 H100, H200, H800 GPU의 주요 하드웨어 매개변수를 요약했습니다.
| **메트릭 ** | H100 SXM | H200 SXM | H800 SXM |
|---|---|---|---|
| FP8 연산 성능 | 3958 TFLOPS | 3958 TFLOPS | 3958 TFLOPS |
| 메모리 대역폭 | 3.35 TB/s | 4.8 TB/s | 3.35 TB/s |
MoE 모델: 연속 저장 레이아웃을 사용한 그룹화된 GEMM (학습 순전파, 추론 프리필)
연속 저장 레이아웃을 사용하는 MoE 네트워크에서는 H100, H200, H800(공식) 간의 성능 차이가 미미합니다.
아래 그림은 메모리 대역폭 사용률 비교 테스트를 보여줍니다. 연산 병목 및 세 GPU의 유사한 FP8 연산 성능으로 인해 성능에 큰 차이가 없습니다.

아래 그림은 연산 성능 비교를 보여줍니다. 메모리 접근 병목에 도달하지 않았기 때문에 세 GPU의 성능에 유의미한 차이가 없습니다.

MoE 모델: 마스크 저장 레이아웃을 사용한 그룹화된 GEMM (추론 디코딩)
마스크 저장 레이아웃을 사용하는 MoE 네트워크에서는 H200이 최고의 성능을 보이며, H100과 H800의 차이는 매우 작습니다.
아래 그림은 메모리 대역폭 사용률 비교 테스트를 보여줍니다. 마스크 저장 레이아웃이 연속 저장 레이아웃보다 더 많은 메모리 대역폭을 소비하기 때문에 일부 시나리오에서 메모리 접근 병목에 도달하여 세 GPU 간 성능 차이가 발생합니다.

아래 그림은 연산 성능 비교 테스트로, 대역폭으로 인한 차이를 보여줍니다.

DeepGEMM vs. SGLang Triton 성능 비교
현재 주류 추론 프레임워크는 MoE 모듈에 대해 SGLang Triton 기반으로 개발된 그룹화된 GEMM 연산자를 사용합니다. H200 하드웨어 조건에서 DeepGEMM과 SGLang Triton의 성능 비교 테스트를 수행했습니다.
DeepGEMM은 연속 저장 레이아웃에서 특정 우위를 보이지만, 마스크 저장 레이아웃에서는 SGLang Triton이 더 나은 성능을 보입니다. 현재 SGLang Triton의 일부 연산자는 주로 마스크 저장 시나리오에 적용됩니다. 따라서 DeepGEMM이 추론 프레임워크에서 SGLang Triton을 대체하려면 추가 최적화가 필요합니다.
- 연속 저장 레이아웃(학습 순전파, 추론 프리필)을 사용하는 MoE 모델의 경우 DeepGEMM이 더 뚜렷한 장점을 보입니다.


- 마스크 저장 레이아웃(추론 디코딩)을 사용하는 MoE 모델의 경우 Triton이 더 우수한 성능을 보입니다.


결론
평가 결과는 DeepGEMM이 H100, H200, H800을 포함한 여러 GPU에서 상당한 성능 최적화 능력을 보여주며, 강력한 범용성을 입증했습니다.
Hopper 아키텍처에서 실행되는 MoE 시리즈 모델(예: DeepSeek V3 및 R1)의 경우, 추론 프레임워크에 DeepGEMM을 통합하여 기존 CUTLASS 버전의 그룹화된 GEMM을 대체하면 모델 추론에서 약 1.2배의 가속이 예상되어 전체 성능이 향상됩니다.
현재 DeepGEMM은 SGLang Triton을 완전히 대체할 수 없으며, 적용 범위를 확장하려면 추가 최적화가 필요합니다. 추론 디코딩에서는 SGLang Triton이 여전히 더 효율적이며, DeepGEMM은 학습 순전파 및 추론 프리필 단계에서 더 큰 장점을 보입니다.
Novita AI 는 개발자가 간단한 API를 사용하여 AI 모델을 쉽게 배포할 수 있도록 지원하는 AI 클라우드 플랫폼이며, 구축 및 확장을 위한 저렴하고 안정적인 GPU 클라우드도 제공합니다.

지금 $20 크레딧을 받고 DeepSeek 사용해보기!
