Jerry's Log

TPU

contents

TPU (Tensor Processing Unit) 는 구글이 자체 텐서플로우(TensorFlow) 소프트웨어를 사용하는 신경망 머신러닝을 위해 특별히 개발한 AI 가속기 주문형 반도체(ASIC)입니다.

CPU가 범용적인 "팔방미인"이고 GPU가 원래 그래픽을 위한 병렬 처리 엔진이라면, TPU는 행렬 곱셈(Matrix Multiplication) 이라는 단 하나의 특정 수학 연산을 위해 설계된 전문 계산기입니다.


1. 기원과 목적


2. 아키텍처: 시스톨릭 어레이 (Systolic Array) 🫀

TPU의 비결은 아키텍처, 특히 시스톨릭 어레이(Systolic Array) 에 있습니다.

CPU vs. GPU vs. TPU 아키텍처


3. 정밀도: bfloat16 (Brain Floating Point)

표준 과학 컴퓨팅은 높은 정밀도를 위해 FP32(32비트 부동 소수점)를 사용합니다. 하지만 신경망은 실제로 완벽한 정밀도가 필요하지 않습니다. 속도와 효율성이 더 중요합니다.

TPU는 bfloat16이라는 새로운 형식을 도입했습니다.

왜 이것이 기발할까요?

  1. 32비트 숫자의 동적 범위를 유지하므로 숫자가 쉽게 언더플로우/오버플로우되지 않습니다.
  2. FP32의 메모리 대역폭을 절반만 사용합니다.
  3. 곱셈기(Multiplier) 회로를 실리콘에 더 작고 저렴하게 구축할 수 있습니다.
  4. 변환이 쉽습니다. FP32 숫자에서 마지막 16비트를 잘라내기만 하면 됩니다.

4. TPU의 세대

구글은 TPU 하드웨어를 빠르게 반복해서 개선하고 있습니다.


5. TPU Pod: 슈퍼컴퓨터 🏙️

TPU 칩 하나만 사용하는 경우는 드뭅니다. 이들은 TPU Pod로 서로 연결됩니다.


6. 언제 TPU vs. GPU를 사용해야 할까?

특징 GPU (NVIDIA H100/A100) TPU (Google Cloud TPU)
유연성 높음. 불규칙한 계산, 커스텀 CUDA 커널, 게임, 렌더링에 좋음. 낮음. 행렬 연산과 밀집 벡터 처리에 특화됨.
처리량 높음. 하지만 순수 와트당 행렬 연산에서는 보통 TPU보다 낮음. 극도로 높음. 대규모 행렬 곱셈에서 타의 추종을 불허함.
메모리 고대역폭 메모리 (HBM). 고대역폭 메모리 (HBM), 종종 더 긴밀하게 통합됨.
생태계 보편적 (어디서나 실행). CUDA가 업계 표준. 구글 클라우드 독점. JAX, TensorFlow, PyTorch(XLA 경유)와 가장 잘 작동함.
적합한 용도 새로운 아키텍처 연구, 소규모 모델, 비표준 계층. 대규모 표준 모델(Transformer, CNN)의 대규모 학습.

요약

TPU는 AI 시대에 전문화가 일반화를 이긴다는 구글의 베팅입니다. 범용 컴퓨팅 기능을 제거하고 bfloat16 행렬 수학의 시스톨릭 흐름에 전적으로 집중함으로써, ChatGPT 경쟁자(Gemini), 검색, Waymo 자율 주행 자동차와 같은 현대 AI 서비스를 구동하는 프로세서를 만들어냈습니다.

references