Dense vs Sparse 모델 완전 정리: 연산, 메모리, 최적화까지 한눈에 비교

Bean·2025년 8월 5일
0

인공지능

목록 보기
103/123

🧠 Dense vs Sparse Model: 개념과 차이점 정리

딥러닝/머신러닝 모델은 그 연산 구조와 파라미터 표현 방식에 따라 크게 Dense Model(조밀 모델)Sparse Model(희소 모델)로 나눌 수 있습니다. 이 두 구조는 모델의 효율성, 성능, 하드웨어 활용도에 중요한 영향을 미칩니다.


✅ 1. Dense Model (조밀 모델)

📌 정의

모든 가중치(weight)와 연산이 비어있지 않고 연속적인(dense) 형태로 존재하는 구조입니다.
→ 대부분의 기존 모델(CNN, MLP, Transformer 등)이 해당됩니다.

⚙️ 주요 특징

  1. 파라미터 대부분이 유효

    • 거의 모든 weight가 0이 아니며, 학습과 추론에 적극적으로 참여
  2. 연산 패턴이 규칙적

    • Dense Matrix × Dense Matrix 형태
    • GPU/TPU에서 최적화 용이 (GEMM, Conv 연산)
  3. 메모리 사용량이 큼

    • 모든 weight를 저장하므로, 큰 모델은 메모리 부담 ↑
  4. 예시

    • GPT, BERT, ResNet, ViT 등 대부분의 기본 모델

✅ 2. Sparse Model (희소 모델)

📌 정의

모델의 파라미터나 활성화 값 중 대부분이 0이고, 0이 아닌 값만을 활용하여 연산하는 구조입니다.

🔧 Sparse를 만드는 방법

  • Pruning: 중요하지 않은 weight를 0으로 만들어 제거
  • Sparse Attention: 일부 key-query pair만 연산
  • Mixture of Experts (MoE): 일부 layer만 선택적으로 활성화

⚙️ 주요 특징

  1. 메모리/연산 효율 향상

    • 0인 값은 연산/저장을 생략할 수 있어 이론적 FLOPs 절감 가능
  2. 연산 패턴이 불규칙

    • Sparse Matrix 연산은 메모리 접근 비효율성 존재
    • 일부 GPU만 특정 sparsity 패턴을 최적화함 (ex: 2:4 structured sparsity)
  3. 모델 경량화

    • Mobile, Edge 디바이스에서 latency, memory 측면에서 유리
  4. 예시

    • Pruned ResNet
    • Sparse Transformer, Longformer
    • Switch Transformer (MoE 기반)

✅ 3. Dense vs Sparse 핵심 비교표

항목Dense ModelSparse Model
파라미터 구조대부분 유효 (0 아님)대부분 0 (희소)
연산 패턴규칙적 (GEMM, Conv 등 최적화 쉬움)불규칙 (Sparse 연산은 별도 최적화 필요)
메모리 사용량작음
연산 효율GPU/TPU에서 최대 효율하드웨어 최적화 여부에 따라 다름
예시GPT, BERT, ViT, ResNetPruned Net, Sparse Transformer, Switch MoE

🧾 정리 요약

  • Dense Model

    • 연산 구조가 간단하고 빠름
    • 하지만 메모리 요구량이 크고, 대규모 학습에 비용이 큼
  • Sparse Model

    • 메모리와 연산량을 줄일 수 있어 효율적
    • 하지만 불규칙한 구조 때문에 최적화된 하드웨어가 필요

profile
AI developer

0개의 댓글