AI 칩의 연산 성능은 단순히 MAC(Multiply-Accumulate) 유닛의 수로 결정되지 않는다.
실제 성능은 데이터가 연산 유닛까지 얼마나 빠르고 효율적으로 도달하느냐에 따라 크게 좌우된다.
이 흐름을 설계하는 것이 바로 데이터플로우(Dataflow) 아키텍처이며,
AI 칩 최적화를 위한 핵심 설계 포인트다.
이번 글에서는 AI 칩 아키텍처에서의 주요 데이터플로우 유형과
각 구조별 장단점, 응용 전략을 구체적으로 설명한다.
1. 데이터플로우란?
데이터플로우는 AI 연산에서 입력 데이터, 가중치, 출력 결과가 연산 유닛(MAC Array)을 어떻게 통과하고 재사용되는지를 정의하는 구조다.
이 구조에 따라 다음이 결정된다:
항목영향 요소
메모리 액세스량 | DRAM 접근 횟수 최소화 가능 여부 |
데이터 재사용률 | 동일 데이터 반복 사용 → 에너지 절감 |
연산 유닛 활용률 | MAC 유닛 Idle 최소화 |
병렬 처리 효율 | 채널, 피처맵 단위 병렬성 극대화 |
2. 대표적인 데이터플로우 유형
▶ 1) Weight Stationary (WS)
- 가중치 고정 → 입력과 출력만 교환
- Weight를 SRAM에 고정해 DRAM 액세스를 줄임
- CNN에서 필터 재사용 시 효과적
장점: DRAM 전력 소모 감소
단점: 입력/출력 재전송 필요
▶ 2) Output Stationary (OS)
- 출력 피처맵 위치에 결과를 누적 저장
- 동일 위치 연산 반복 시 효과적
- Write-back 최소화 → 결과를 로컬에서 완성
장점: MAC 결과 저장에 효율
단점: 입력/가중치 교환 비용 존재
▶ 3) No Local Reuse (NLR)
- 로컬 데이터 재사용 최소
- 고정된 입력/가중치 경로 없이 단순 흐름
- 복잡도는 낮지만 에너지 소모가 큼
장점: 하드웨어 단순
단점: DRAM 대역폭 소모 큼
▶ 4) Row Stationary (RS)
- CNN 연산에서 가장 널리 사용됨
- 입력/가중치/출력 모두에서 최대 재사용 설계
- Systolic Array 구조와 높은 연계성
장점: 균형 잡힌 접근 방식
단점: 설계 복잡도 증가
3. 데이터플로우 선택 시 고려 요소
고려 항목설명
연산 유형 | CNN, MLP, Transformer 등 모델별 특징 |
데이터 스파시티(Sparsity) | 제로 필터 제거 가능 여부 |
하드웨어 구조 | MAC 배치, SRAM 용량, 버퍼 구성 |
메모리 계층 구조 | DRAM ↔ SRAM ↔ Register 간 병목 최소화 |
데이터 크기 | Batch size, 채널 수, 커널 사이즈 등 |
4. 실제 적용 예시
칩주요 데이터플로우특이점
Google TPU v1 | Weight Stationary | 2D Systolic Array 구조, Inference 전용 |
Eyeriss (MIT) | Row Stationary | 고효율 CNN 실행 구조 |
Samsung NPU | Output Stationary 기반 | 멀티 클러스터 구조 |
Habana Gaudi | Weight + Output Hybrid | BERT, GPT 등 대형 모델 대응 |
5. 연산 최적화를 위한 추가 전략
▶ Data Tiling
- 전체 연산을 작은 블록(Tile) 단위로 분할
- 로컬 메모리 활용 극대화
- 배치 간 독립성 유지
▶ Loop Unrolling / Fusion
- 연산 루프를 병렬화하거나 병합
- MAC 유닛 파이프라인화 가능
- HW 동작 타이밍과 병렬도 조율
▶ Quantization-aware Scheduling
- INT8/INT4 연산 시 타이밍 최적화 필요
- Mixed Precision 연산에 대응한 데이터플로우 유연화
6. 마무리하며
AI 칩의 성능과 전력 효율은 데이터가 어떻게 흐르는지를 설계하는 능력에서 결정된다.
모든 MAC 유닛을 100% 활용하기 위해선 연산 중심이 아닌 데이터 흐름 중심의 설계 사고방식이 필요하다.
다음 편에서는 이 데이터 흐름을 실제 뒷받침하는 구조인
온칩 메모리 계층(버퍼, SRAM, DRAM) 설계 전략을 집중적으로 다룬다.