TPU (Tensor Processing Unit): Google 의 ML ASIC
TPU, Tensor Processing Unit, Google TPU, TPU pod
정의
TPU (Tensor Processing Unit) 는 Google 이 딥러닝 워크로드용으로 만든 ASIC (application-specific IC). 2015 년 v1 (추론용), 2017 년 v2 (학습 지원) 발표.
핵심 아키텍처
Systolic Array
Systolic Array 를 이용한 대규모 병렬 행렬곱. TPU v4 는 128×128 행렬곱 유닛.
- 데이터가 배열을 통과하며 곱셈-누산
- 캐시/DRAM 접근 최소화 → 에너지 효율 극대화
bfloat16
FP32 exponent + FP16 mantissa. 학습 안정성 유지하며 대역폭 절반.
세대
| 세대 | 년도 | 특징 |
|---|---|---|
| v1 | 2015 | 추론 전용, INT8 |
| v2 | 2017 | 학습 지원, HBM |
| v3 | 2018 | 액체 냉각 |
| v4 | 2021 | 4096 chip pod, OCS 상호연결 |
| v5e / v5p | 2023 | 비용/성능 두 트랙 |
| Trillium (v6) | 2024 | 5x 컴퓨트 vs v5e |
TPU Pod
여러 TPU 를 고속 인터커넥트로 묶은 단위. v4 는 최대 4096 칩 pod, exaflops 급 컴퓨트.
사용
- Google Cloud TPU:
gcloud compute tpus - JAX + XLA: 표준 스택
- TensorFlow / PyTorch/XLA: 지원
GPU 와 비교
| 항목 | GPU | TPU |
|---|---|---|
| 유연성 | 높음 (그래픽, HPC, ML) | ML 특화 |
| 소프트웨어 | CUDA 광범위 | XLA 중심 |
| 병렬 방식 | SIMT | Systolic array |
| 지연시간 | 낮음 | 배치 대기 |
| 접근성 | 광범위 (AWS, on-prem) | GCP 만 |
참고
이 글의 용어 (4개)
- 분산 학습ml
- 정의 분산 학습 (Distributed Training) 은 한 또는 에 들어가지 않는 큰 모델을 여러 가속기에 나눠서 학습시키는 기법. 현대 LLM (Llama 405B, GP…
- GPU: 그래픽/ML 병렬 프로세서ml
- 정의 GPU (Graphics Processing Unit) 는 원래 그래픽 렌더링용이었지만, massively parallel 아키텍처가 딥러닝과 HPC 에도 이상적. NVID…
- NPU (Neural Processing Unit): 엣지 AI 칩ml
- 정의 NPU (Neural Processing Unit) 는 모바일/엣지 디바이스용 저전력 AI 가속기. 스마트폰, 노트북, IoT 에 내장. 특징 - 저전력: 배터리 구동 (수…
- Systolic Arrayml
- 정의 Systolic Array 는 격자 형태로 배치된 다수의 Processing Element (PE) 가, 입력 데이터가 박동(systolic)처럼 격자를 가로질러 흐르는 동…
💬 댓글