피드로 돌아가기
Dev.toAI/ML
원문 읽기
Matrix Multiplication 최적화를 위한 Systolic Array 기반 TPU 설계
TPUs vs GPUs: How Google's Tensor Processing Units Actually Work
AI 요약
Context
GPU의 범용적 병렬 처리 구조가 AI 추론 시 불필요한 Scheduling Logic 및 Branch Prediction으로 인한 자원 낭비를 초래함. 대규모 Neural Network의 핵심 연산인 Matrix Multiplication의 빈도를 분석하여 연산 효율을 극대화할 전용 하드웨어의 필요성이 대두됨.
Technical Solution
- 범용 연산 기능을 제거하고 Matrix Multiplication 전용으로 설계한 ASIC 구조 채택
- 데이터 이동을 최소화하기 위해 처리 요소(PE)가 그리드 형태로 연결된 Systolic Array 설계
- 메모리와의 빈번한 데이터 교환 대신 PE 간 리듬감 있게 데이터를 전달하는 Streaming 방식 도입
- 데이터 액세스 비용이 연산 비용보다 높은 Memory Wall 문제를 해결하기 위한 Large On-chip Buffer 및 High-bandwidth Memory 활용
- 개별 칩의 한계를 극복하기 위해 고속 Interconnect로 연결된 TPU Pods를 통한 분산 학습 확장성 확보
실천 포인트
- 워크로드의 패턴이 정형화된 경우 범용 프레임워크보다 특정 연산에 최적화된 전용 구조(Specialized Hardware) 검토 - 시스템 병목 지점이 Compute 성능인지 Memory Bandwidth인지 정밀하게 측정하여 최적화 방향 설정 - 데이터 이동 거리와 빈도를 줄이는 Data Locality 전략을 아키텍처 설계 단계에서 우선 고려