Celty: 효율적인 이중 희소(Dual-Sparse) LLM 추론을 위한 SpMspV GPU 커널 및 SIMT 공동 설계
요약
LLM 추론 시 가중치와 활성화의 이중 희소성을 효율적으로 처리하기 위한 Celty 시스템을 제안합니다. RLC-CSC 포맷과 Sparse SIMT 마이크로아키텍처를 공동 설계하여 메모리 액세스를 최적화하고 추론 속도를 대폭 향상했습니다.
핵심 포인트
- 가중치와 활성화의 이중 희소성을 활용한 spMspV 워크로드 최적화
- RLC-CSC 포맷 도입을 통한 압축된 가중치 열의 벡터화된 로딩 구현
- 파이프라인화된 RLC 디코더를 포함한 Sparse SIMT 마이크로아키텍처 설계
- cuBLAS 대비 최대 2.8배, Sparse SIMT 코어 사용 시 최대 5.3배 속도 향상
대규모 언어 모델 (LLMs)은 추론 비용을 줄이기 위해 희소성 (sparsity)에 점점 더 의존하고 있지만, 대부분의 이전 연구는 가중치 (weight) 또는 활성화 (activation) 중 하나의 희소성 소스만을 대상으로 하며 배치 방식의 다중 사용자 추론 (batched multi-user inference)에 최적화되어 있습니다. 비정형 가중치 프루닝 (unstructured weight pruning)과 런타임 활성화 희소성 (runtime activation sparsity)을 결합한 이중 희소성 (Dual-sparsity)은 단일 사용자 디코딩 (single-user decoding) 시 모델 크기, 정확도, 지연 시간 (latency) 사이에서 매력적인 절충안을 제공하지만, 기존 GPU 커널이 제대로 처리하지 못하는 희소 행렬-희소 벡터 (spMspV) 워크로드로 구성됩니다. 우리는 LLM 추론에서 효율적인 spMspV를 위해 공동 설계된 희소 포맷, GPU 커널 및 SIMT 마이크로아키텍처인 Celty를 제안합니다. 커널 수준에서 Celty는 압축된 가중치 열의 벡터화된 로딩을 가능하게 하는 RLC-CSC (Run-Length Compressed CSC) 포맷을 도입하며, 두 가지 희소성 소스를 모두 활용하여 불필요한 메모리 액세스를 건너뛰고, 분산된 부분 곱 누적 (scattered partial-product accumulation)을 위해 공유 메모리 (shared memory)를 사용합니다. 마이크로아키텍처 수준에서 Celty Sparse SIMT 코어는 파이프라인화된 RLC 디코더를 통합하여 소프트웨어 수준의 인덱스 재구성 (index reconstruction)을 제거하고, 데이터 레이아웃 변경 없이 동일한 RLC-CSC 포맷에서 직접 작동하며 충돌 없는 누적 (conflict-free accumulation)을 위해 로컬 레지스터 파일 (local register files)을 재사용합니다. Celty GPU 커널은 cuBLAS 대비 최대 2.8배, Flash-LLM 대비 2.4배의 속도 향상을 달성합니다. Sparse SIMT 코어를 사용할 경우, 70% 이중 희소성 조건에서 cuBLAS 대비 최대 5.3배의 속도 향상에 도달합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기