SGLang, MiniMax-H3 무손실로 1.95배 가속

LMSYS 팀이 8월 27일 MiniMax-H3의 추론 성능 리포트를 공개했다. 테스트 환경은 NVIDIA H200 8장(각 141GB 메모리), SGLang Diffusion 프레임워크를 사용했다. 해상도 1344×768, 24FPS, 디노이징 50스텝으로 고정하고 5초·10초 두 가지 길이의 영상을 생성했으며, 비교 대상은 Diffusers였다.

결론은 두 단계로 나뉜다. 첫 번째는 군더더기 없는 수치다.

"SGLang의 밀집(dense) 무손실 경로는 어떤 근사도 없이 Diffusers보다 1.85~1.95배 빠르다. 같은 디노이징 연산량을, 더 빠른 런타임 위에서 처리한 것이다."

텍스트-투-비디오 애니메이션 파이프라인에서는 무손실 경로가 Diffusers보다 1.87~1.95배 빨랐고, 프레임 리스트-투-비디오 파이프라인에서는 1.91~1.95배 빨랐다. 두 파이프라인 모두 거의 두 배에 근접했고, SSIM은 정확히 1.0000——픽셀 단위로 완전히 동일했다.

3단 가속을 다 쌓아야 6배가 나온다

리포트는 가속 요인을 세 갈래로 나눴는데, 각각 성격이 다르다.

융합 연산자(Fused operators)는 순수한 엔지니어링이다. SGLang은 AdaLN 업데이트, 게이트형 잔차, SwiGLU 활성화, 3D RoPE가 적용된 QK RMSNorm을 하나의 커널로 합쳐 메모리 이동 횟수를 줄였다. 연산자 단위로 따로 테스트하면 2.00~12.16배까지 빨라지는데, 엔드투엔드로는 앞서 말한 1.95배로 귀결된다. 이 계층은 연산 결과를 전혀 바꾸지 않는다.

Cache-DiT부터는 근사가 시작된다. 인접한 디노이징 스텝 사이에서 캐시된 결과를 재사용하고, 잔차 차이가 임계값 아래면 재사용하는 방식이다. 보수적인 임계값은 0.04, 더 공격적인 "stride" 설정은 0.08이다. 보수적 설정에서는 두 파이프라인이 각각 2.65배, 2.99배를 기록했고 SSIM은 0.90, 0.94 선까지 떨어졌다.

SubBlock 희소 어텐션(sparse attention)이 가장 공격적이다. 블록 단위 희소 라우터가 10번째 스텝 이후부터 연산에 참여하는 KV 블록 수를 줄이며, 희소도는 0.75 또는 0.80으로 설정한다. Cache-DiT의 stride 설정과 함께 적용하면 텍스트-투-비디오는 4.90~5.72배, 프레임 리스트-투-비디오는 5.64~6.24배까지 올라간다.

6배 구간의 화질 대가

그 대가는 고스란히 SSIM 수치로 드러나며, 두 파이프라인의 결과가 크게 갈린다. 프레임 리스트-투-비디오는 비교적 잘 버틴다. 희소도 0.75에 stride를 더해도 10초 클립의 SSIM은 여전히 0.9202, 5초 클립도 0.8629를 유지한다. 반면 텍스트-투-비디오는 훨씬 크게 떨어져 같은 설정에서 0.7834, 0.7713에 그치고, 희소도를 0.80까지 올리면 0.7584까지 내려간다.

SSIM 0.76은 대략 어느 정도일까. 구조와 구도는 아직 남아 있지만, 텍스처·디테일·고주파 성분이 원본 출력과 어긋나기 시작해 확대해 보면 티가 나는 수준이다. 프레임 리스트-투-비디오의 낙폭이 작은 이유도 여기에 있다. 첫 프레임이나 키프레임 제약이 있어 모델이 이미 조건 프레임에 고정돼 있는 만큼, 희소화로 잃을 수 있는 자유도 자체가 적기 때문이다.

비용으로 환산하면 더 와닿는다. H200 8장 구성의 온디맨드 대여가는 시장가 기준 대략 장당 시간당 2~3달러 선으로, 장비 한 대를 한 시간 돌리면 20달러에 근접한다(클라우드 업체와 계약 조건에 따라 편차가 크므로 어디까지나 대략적인 추산이다). 무손실 경로가 1.95배 빠르다는 건 같은 한 시간에 거의 두 배 분량을 뽑아낼 수 있다는 뜻이고, 편당 비용은 절반을 살짝 넘는 수준까지 떨어진다. 이 절반은 화질을 전혀 희생하지 않고 그냥 얻는 몫이다. 그보다 높은 단계도 절약되는 금액 자체는 같지만, 그만큼 SSIM을 깎아서 얻는 것이므로 그 거래가 남는 장사인지는 그 영상을 납품용으로 쓰는지 선별용으로 쓰는지에 달려 있다.

이 데이터를 놓고 보면 실전 활용은 세 단계로 나누는 게 맞다. 완성본 출고에는 무손실 경로를 써서 공짜로 1.95배를 챙기고, 균형이 필요하면 Cache-DiT 보수적 설정으로 2.65~2.99배(SSIM 0.90 이상이면 대체로 용인할 만하다), 구도 선별이나 미리보기 용도로는 SubBlock 0.75 설정을 써서 "대략 알아볼 수 있는" 화질과 6배 속도를 맞바꾼다——어차피 선별이 끝나면 다시 본출력을 해야 하기 때문이다.

몇 가지 짚어둘 전제

리포트 스스로도 범위를 한정하고 있다. 이번에 테스트한 건 이 세 가지 가속 기법뿐이고, 양자화나 점진적 해상도 조정처럼 마찬가지로 흔히 쓰이는 손실 압축 기법은 포함되지 않았다. 측정 시간에는 서비스 기동, 워밍업, HTTP 폴링, 파일 다운로드가 빠져 있어 이 배수들은 순수하게 추론 구간만을 가리키며, 엔드투엔드 체감 속도는 이보다 낮아질 수 있다. SubBlock에는 전제 조건도 있다. 길고 비인과적인(non-causal) 어텐션에만 적용되고, BF16, head dimension 128, 시퀀스 길이 4096 이상이 조건이다. 실제 테스트 데이터는 8월 18일에 수집됐고 리포트 공개는 그로부터 9일 늦었다.

이를 H3의 타임라인에 겹쳐보면 시사점이 보인다. 모델 가중치는 7월 말에 공개됐고, 한 달 만에 서드파티 추론 스택이 무손실 경로를 거의 두 배 속도까지 끌어올렸다. 오픈 웨이트 모델의 진짜 가치는 공개 당일의 벤치마크보다, 가중치가 풀린 뒤 얼마나 많은 사람이 커널을 짜주느냐에 달려 있는 경우가 많다.

참고 출처: LMSYS 엔지니어링 블로그, CocoLoop, SGLang 프로젝트 문서. H200 8장, 1344×768, 24FPS, 디노이징 50스텝으로 동일하게 맞춘 구성에서 각 단계별 가속 배수와 SSIM 수치를 대조했다.