TPU (In-Datacenter Performance Analysis...): 클라우드 데이터센터 환경에서 Systolic Array 구조와 거대한 Software-Managed On-Chip Memory를 사용하여 CPU/GPU 대비 압도적인 추론 속도(Inference Throughput)와 전력 효율(Energy Efficiency)을 증명한 구글의 상용 가속기 논문입니다.
ShiDianNao: 임베디드 센서 환경을 위해 모델 전체를 On-Chip SRAM에 올리고 PE 간 데이터 전달(Inter-PE Data Propagation)을 통해 Off-Chip DRAM Access를 아예 0으로 만들어버린 초저전력 가속기 설계입니다.
Minerva: 알고리즘부터 회로까지 엮은 Cross-layer Co-design을 통해 데이터 정밀도 축소(Quantization), 0에 가까운 연산 생략(Operation Pruning), 그리고 결함 허용(Fault Tolerance) 기반의 SRAM Voltage Scaling을 적용한 초저전력 프레임워크입니다.
Fused-Layer CNN Accelerators: 외부 메모리 대역폭(Memory Bandwidth) 병목을 뚫기 위해 연산 순서를 Pyramid-shaped Sliding Window 구조로 비틀어, 레이어 간 중간 데이터(Intermediate Feature Maps)를 칩 내부에 캐싱(On-chip Caching)하는 새로운 데이터플로우(Dataflow) 아키텍처입니다.
이 네 편의 논문은 시기상으로 딥러닝 가속기 연구가 폭발적으로 성장하던 초기~중기(2014~2017년 경)의 가장 중요한 이정표들입니다.
"The Memory Wall is the Ultimate Bottleneck" (메모리 장벽이 곧 한계다)
네 논문 모두 ALU(연산기)의 속도나 개수가 문제가 아니라, 데이터를 메모리에서 연산기까지 가져오는 비용(Data Movement Cost)이 시스템의 성능과 전력을 갉아먹는 주범이라는 동일한 결론에서 출발합니다.
TPU: 그래서 SRAM을 24MB나 때려 박고 소프트웨어로 데이터를 통제했습니다.
ShiDianNao: 그래서 아예 모델을 작게 만들고 DRAM을 끊어버렸습니다.
Fused-Layer: 그래서 DRAM을 가긴 가되, 그 횟수를 줄이려고 연산 순서를 피라미드로 꼬아버렸습니다.
Minerva: 그래서 메모리에 저장되는 데이터 크기(Quantization)와 횟수(Pruning)를 줄이고, 메모리 자체의 소모 전력(Voltage Scaling)을 깎아버렸습니다.
이 논문들은 타겟팅하는 체급(Scale)과 접근 방식(Approach)에서 뚜렷한 대비를 보입니다.
Cloud vs. Edge (서버용 vs 모바일용): TPU는 전력을 수십 와트(W) 이상 쓰더라도 처리량(Throughput)을 극대화해야 하는 Datacenter-scale입니다. 반면, 나머지 세 논문(ShiDianNao, Minerva, Fused-Layer)은 배터리로 동작해야 하는 밀리와트(mW) 단위의 Edge/IoT 환경을 타겟으로 합니다.
Hardware-Algorithm Co-design (소프트웨어-하드웨어 융합): 단순히 하드웨어 로직만 잘 짠다고 해결되지 않습니다. Fused-Layer는 컴파일러 단계에서 스케줄링을 바꿔야 하고, Minerva는 소프트웨어 모델의 오차 허용 범위(Intrinsic error variation)를 하드웨어 회로 설계의 기준으로 삼았습니다.
이 논문들이 제안한 아이디어들은 훌륭하지만, 모델이 점점 거대해지면서 한계에 부딪혔습니다. 따라서 이후 컴퓨터 아키텍처 학계의 연구 흐름은 다음 방향으로 진화했습니다.
Dataflow Optimization의 정점 (데이터플로우 최적화):
Sparsity Acceleration (희소성 가속기):
Processing-in-Memory (PIM) / Near-Data Processing (NDP):
Hardware-Aware Neural Architecture Search (HW-NAS):