🧠 Accelerator

희소 연산 하드웨어

개요

희소 연산 하드웨어(Sparsity Hardware)는 딥 러닝 모델의 가중치나 활성값에서 0이 아닌 값만 골라 연산을 수행하는 하드웨어 가속 기술이다. 대규모 언어 모델(LLM)의 파라미터 수가 수백억에서 수조 개로 증가하면서, 모델의 상당 부분을 희소화(sparse)하여 연산량과 메모리 사용량을 줄이는 것이 주요 최적화 전략으로 부상했다. 희소 연산 하드웨어는 이러한 소프트웨어 수준의 희소화 기법을 실제로 가속할 수 있는 물리적 유닛을 의미한다.

현대 AI 가속기는 밀도 높은 행렬 연산에 최적화되어 있으나, 희소 행렬의 경우 0 값을 계산하는 것은 에너지와 사이클을 낭비하는 것이 된다. 희소 연산 하드웨어는 0 값을 건너뛰고 유효한 원소만 골라 연산함으로써, 이론적인 연산 속도와 메모리 대역폭 효율을 크게 높일 수 있다. NVIDIA Ampere 아키텍처 이후 구조적 희소성(Structured Sparsity) 지원이 하드웨어 수준에서 본격화되었으며, AMD CDNA3, 커스텀 ASIC 등 다양한 플랫폼에서 희소 연산 가속 기능이 도입되고 있다.

핵심 개념

희소성의 분류

Sparsity Taxonomy

희소성은 크게 구조적 희소성(Structured Sparsity)과 비구조적 희소성(Unstructured Sparsity)으로 분류된다. 두 유형은 하드웨어 구현 방식과 가속 효율에서 근본적인 차이가 있다.

구분 구조적 희소성 비구조적 희소성
정의 정해진 패턴에 따라 0이 위치 무작위 위치에 0이 분포
예시 N:M 희소성, 블록 희소성 랜덤 프루닝
하드웨어 구현 용이 어려움
압축률 보통 (50~75%) 높음 (70~95%)
가속 효율 높음 (하드웨어 네이티브 지원) 낮음 (소프트웨어 처리)
정밀도 손실 보통 보통

구조적 희소성(Structured Sparsity):
- N:M 희소성: 연속된 M개 원소 중 N개만 0이 아닌 값으로 고정
- 2:4 희소성: 4개 중 2개가 0인 패턴 (NVIDIA Ampere 이후 채택)
- 블록 희소성: 고정된 크기의 블록 단위로 희소성 적용
- 하드웨어에서 인덱싱 오버헤드가 작아 높은 가속 효율 달성

비구조적 희소성(Unstructured Sparsity):
- 무작위 위치에 0이 분포하므로 인덱싱 복잡도가 높음
- 소프트웨어 수준에서 CSR/CSC/COO 등 희소 행렬 형식으로 표현
- 하드웨어 가속이 어려워 일반적으로 GPU에서 소프트웨어 처리
- 더 높은 압축률을 달성할 수 있으나 실제 성능 이득은 제한적

N:M 희소성 패턴

N:M Sparsity Pattern

N:M 희소성은 현대 AI 가속기에서 가장 널리 사용되는 구조적 희소성 패턴이다. 연속된 M개 원소 중 정확히 N개만 0이 아닌 값을 가지도록 제약을 둔다.

2:4 희소성 상세:
- 4개 연속 원소 중 2개는 0, 2개는 유효 값
- 메모리 저장 시 유효 값과 위치 정보를 함께 압축하며, 메타데이터는 구현마다 다르지만 전체 오버헤드는 작다
- 연산 시 유효 값에 대해서만 곱셈-누산을 수행하므로 이론적으로 2배의 수학 처리량 이득을 기대할 수 있다
- NVIDIA Ampere A100부터 Sparse Tensor Core로 하드웨어 지원

희소성 도입 방법:
- Magnitude Pruning: 절대값이 가장 작은 가중치를 0으로 변환
- Movement Pruning: 학습 중 가중치 변화량이 작은 것을 제거
- Structured Magnitude Pruning: N:M 제약 하에서 절대값 기반 제거
- Gradual Pruning: 학습 과정에서 서서히 희소성 비율을 높임

희소 행렬 표현 방식

형식 설명 장점 단점
CSR Compressed Sparse Row, 행 단위 압축 범용적, 행 접근 최적화 열 접근 비효율
CSC Compressed Sparse Column, 열 단위 압축 열 접근 최적화 행 접근 비효율
COO Coordinate, (행, 열, 값) 튜플 간단한 구현 오버헤드 큼
ELL ELLPACK, 고정 열 수 하드웨어 친화적 비균일 희소성 비효율
HYB CSR+ELL 혼합 균형 잡힌 성능 구현 복잡도

하드웨어 수준에서는 ELL 형식이나 블록 기반 표현이 더 적합하다. N:M 희소성은 고정된 패턴이므로 별도의 인덱스 표현 없이 하드웨어에서 직접 해석할 수 있다.

비교/분석

주요 가속기 희소성 지원 비교

Sparsity Hardware Comparison
가속기 제조사 희소성 유형 지원 비율 가속 배율 비고
A100 Tensor Core NVIDIA 2:4 구조적 50% 2x Sparse Tensor Core
H100 Tensor Core NVIDIA 2:4 구조적 50% 2x Transformer Engine 통합
H200 Tensor Core NVIDIA 2:4 구조적 50% 2x HBM3e로 희소 행렬 대역폭 강화
MI300X Matrix Core AMD 구조적 50% 이론상 2x CDNA3 아키텍처, 공식 자료에서 fine-grained sparsity 지원 명시
Cerebras WSE-3 Cerebras 구조적 50% 2x 대규모 온칩 메모리로 희소 인덱싱 효율화

희소성 기법 비교

기법 메모리 절감 연산 절감 정밀도 영향 하드웨어 의존성
2:4 구조적 희소성 50% 50% 낮음 NVIDIA Ampere+
블록 희소성 (128x1) ~50% ~50% 보통 커스텀 ASIC
비구조적 희소성 (70%) 70% 70% 중간 소프트웨어 처리
양자화 + 희소성 75%+ 75%+ 높음 NVIDIA Hopper+

동작 원리

Sparse Tensor Core 동작

Sparse Tensor Core Operation

NVIDIA Sparse Tensor Core는 2:4 희소성 패턴을 하드웨어 수준에서 직접 처리한다. 동작 흐름은 다음과 같다:

1단계 — 가중치 압축:
- 학습 완료 후 2:4 희소성 적용 (Magnitude Pruning)
- 4개 원소 중 절대값 작은 2개를 0으로 설정
- 유효 값과 소량의 메타데이터를 압축하여 저장

2단계 — 인덱스 디코딩:
- Sparse Tensor Core가 인덱스를 읽어 유효 원소의 위치 파악
- Dense Tensor Core와 동일한 메모리 버스 사용
- 메타데이터 오버헤드는 작지만, 실제 구현에서는 압축 포맷과 커널 제약을 함께 고려해야 함

3단계 — 희소 곱셈-누산:
- 유효한 원소 2개에 대해 곱셈-누산 수행
- 0 값에 대한 곱셈은 하드웨어에서 자동으로 건너뜀
- 이론적으로는 동일한 연산 경로에서 2배 처리량을 기대할 수 있지만, 실제 속도 향상은 레이어 형태와 커널 구현에 따라 더 낮을 수 있다

4단계 — 결과 출력:
- Dense 연산과 동일한 형태의 출력 생성
- 소프트웨어 수준에서 추가 처리 불필요

메모리 접근 패턴

희소 연산에서 메모리 접근 패턴은 성능에 결정적인 영향을 미친다. 2:4 희소성은 가중치 입력을 압축해 전달량을 줄이는 동시에 유효 연산 수를 절반으로 낮추므로, 메모리와 연산이 모두 병목인 구간에서 특히 효과적이다.

Dense vs Sparse 메모리 사용량:

항목 Dense 2:4 Sparse 절감률
가중치 저장 (FP16) 2N bytes 약 N bytes + 소량 메타데이터 약 50%
활성값 저장 N bytes N bytes (동일) 0%
곱셈-누산 연산 N ops N/2 ops 50%
가중치 입력 전달량 2N bytes 약 N bytes + 소량 메타데이터 약 50%

희소성의 주요 이득은 유효 연산 수 절감과 가중치 입력 압축에 있다. 다만 활성값과 메타데이터 처리 비용은 그대로 남아 있으므로, 실제 시스템 이득은 커널 구현과 레이어별 형태에 따라 이론치보다 낮게 나타날 수 있다.

희소성 도입 파이프라인

단계 설명 도구/방법
사전 학습 Dense 모델 학습 일반 학습 파이프라인
희소화 가중치 제거 Magnitude/Movement Pruning
미세 조정 희소 모델 재학습 Knowledge Distillation
커널 변환 Sparse Tensor Core용 변환 NVIDIA AMMO, TensorRT
추론 실행 희소 가속 추론 Sparse CUDA Kernel

실제 서비스에서는 프루닝만으로 끝나지 않고 커널 변환과 레이어별 검증이 중요하다. NVIDIA가 공개한 A100/cuSPARSELt 예시에서도 BERT-Large 계열 GEMM은 레이어에 따라 약 1.3x~1.6x 수준의 실측 가속을 보이며, 이는 이론적 2x와 실제 서빙 성능 사이에 차이가 있음을 보여준다.

장단점

장점

  1. 연산 효율 향상: 2:4 희소성으로 이론적 2배 연산 가속
  2. 메모리 용량 확대: 가중치 압축으로 동일 GPU에 더 큰 모델 적재 가능
  3. 추론 지연 시간 감소: 연산량 절감으로 응답 시간 단축
  4. 에너지 효율 개선: 곱셈-누산 연산 자체가 줄어들어 전력 소비 감소
  5. 기존 하드웨어 호환: NVIDIA Ampere 이상 GPU에서 소프트웨어 변경 없이 지원

단점

  1. 정밀도 손실: 희소화 과정에서 모델 성능 저하 발생 가능
  2. 희소성 비율 제한: 2:4 패턴은 50% 희소성으로 고정, 더 높은 희소성은 비구조적이어야 함
  3. 학습 오버헤드: 희소화 후 미세 조정에 추가 학습 비용 발생
  4. 도메인 의존성: 일부 워크로드에서는 희소성이 잘 작동하지 않음
  5. 커스텀 커널 필요: 최대 성능을 위해 Sparse Tensor Core 전용 커널 작성 필요

관련 기술

  • NVIDIA Sparse Tensor Core: Ampere 아키텍처부터 도입된 2:4 희소성 하드웨어 가속 유닛
  • TensorRT: NVIDIA 추론 최적화 도구, 희소성 자동 적용 지원
  • NVIDIA AMMO (Automatic Mixed-Precision and Model Optimization): 희소화/양자화 통합 도구
  • AMD CDNA3 MI300: AMD의 구조적 희소성 지원 Matrix Core
  • NVIDIA Hopper Transformer Engine: FP8 동적 정밀도 전환과 희소성 결합
  • NVIDIA Blackwell: FP4/FP6 지원과 함께 희소성 가속 강화
  • Lottery Ticket Hypothesis: 희소 서브넷이 동일 성능 달성 가능하다는 이론적 근거
  • Dynamic Sparsity (그리고 Neural Pruning): 학습 중 희소성 패턴을 동적으로 변경하는 기법

관련 문서

참고 문헌

  1. NVIDIA, "Training with Sparse Tensor Cores," NVIDIA Developer Blog, 2021
  2. NVIDIA, "A100 Tensor Core GPU Architecture," NVIDIA Whitepaper, 2020
  3. NVIDIA, "H100 Tensor Core GPU Architecture," NVIDIA Whitepaper, 2022
  4. M. Zhu et al., "Exploring the Benefits of Training with Sparse Weights," arXiv:2107.04589, 2021
  5. S. Han et al., "Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding," ICLR 2016
  6. T. Gale et al., "The State of Sparsity in Deep Neural Networks," arXiv:1902.09574, 2019
  7. AMD, "AMD Instinct MI300 Series Accelerators," AMD Product Page, 2024
  8. H. Peng et al., "Accelerating Natural Language Processing with Structured Sparsity," arXiv:2104.08340, 2021
  9. NVIDIA, "Exploiting NVIDIA Ampere Structured Sparsity with cuSPARSELt," NVIDIA Developer Blog, 2020

핵심 정리

희소 연산 하드웨어는 딥 러닝 추론에서 연산 효율과 메모리 사용량을 동시에 개선하는 핵심 기술이다. 구조적 희소성(특히 N:M 패턴)은 하드웨어 구현이 용이하여 현대 AI 가속기에서 표준적으로 지원되고 있다. NVIDIA Ampere 아키텍처 이후 Sparse Tensor Core는 2:4 희소성으로 이론적 2배의 수학 처리량 이득을 제공하며, AMD CDNA3와 같은 경쟁사들도 유사한 방향의 지원을 확대하고 있다. 희소성 기법은 양자화, 지식 증류, 모델 압축 등 다른 최적화 기법과 결합하여 추론 효율을 극대화할 수 있으나, 정밀도 손실과 학습 오버헤드, 그리고 이론치와 실측치의 차이를 함께 고려해야 한다. 앞으로의 AI 가속기는 비구조적 희소성이나 동적 희소성 패턴까지 하드웨어 수준에서 더 직접적으로 지원하는 방향으로 발전할 가능성이 크다.