모델/시스템 최적화: 가속기 종류 – TPU
ㅁ 가속기 종류
ㅇ 정의:
– 가속기 종류는 인공지능 및 머신러닝 모델 학습·추론 속도를 높이기 위해 CPU 외의 특화된 하드웨어를 사용하는 분류를 의미함.
ㅇ 특징:
– GPU, TPU, FPGA 등 다양한 하드웨어가 존재하며, 각기 다른 연산 특화 구조를 가짐.
– 대규모 병렬 연산과 행렬 연산 처리에 최적화된 장치들이 많음.
ㅇ 적합한 경우:
– 대규모 데이터셋 처리, 딥러닝 학습/추론 속도 향상이 필요할 때.
ㅇ 시험 함정:
– GPU와 TPU의 차이점을 혼동하거나, FPGA의 프로그래머블 특성을 놓치는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “TPU는 대규모 행렬 연산에 특화되어 있다.”
– X: “TPU는 이미지 처리 전용으로만 설계되었다.”
================================
1. TPU
ㅇ 정의:
– TPU(Tensor Processing Unit)는 구글에서 개발한 머신러닝 전용 ASIC(Application-Specific Integrated Circuit)으로, 특히 딥러닝 연산에 최적화된 하드웨어.
ㅇ 특징:
– 대규모 행렬 연산을 빠르게 처리하기 위해 행렬 곱셈 유닛(MXU) 구조 채택.
– GPU보다 낮은 전력 소모로 높은 처리량(throughput) 제공.
– TensorFlow와의 최적화된 통합 지원.
ㅇ 적합한 경우:
– 대규모 딥러닝 학습 및 추론, 특히 CNN, RNN, Transformer 기반 모델.
– 구글 클라우드 환경에서 TPU 인스턴스를 활용하는 경우.
ㅇ 시험 함정:
– TPU를 GPU와 동일한 범용 그래픽 처리 장치로 오인.
– TPU가 모든 AI 프레임워크와 동일하게 호환된다고 착각.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “TPU는 TensorFlow와 최적화되어 대규모 딥러닝 연산에 적합하다.”
– X: “TPU는 범용 CPU보다 그래픽 처리 성능이 우수하다.”
ㅁ 추가 학습 내용
TPU 세대별 발전과 성능 지표
– TPU v1: 8비트 정수 연산에 최적화, 주로 추론용, 약 92 TeraOPS 성능, 메모리 대역폭 약 34GB/s
– TPU v2: 학습과 추론 모두 지원, bfloat16 지원, 약 45 TFLOPS, 메모리 대역폭 약 600GB/s, TPU Pod 구성 가능
– TPU v3: 냉각 효율 향상(액체 냉각), 약 90 TFLOPS, 메모리 대역폭 약 900GB/s, TPU Pod에서 수천 TFLOPS급 성능 제공
– TPU v4: 더 높은 연산 성능과 대역폭, 에너지 효율 개선, TPU Pod에서 엑사플롭스급 성능 가능
TPU Pod 개념
– 다수의 TPU 칩을 고속 네트워크로 연결한 대규모 병렬 처리 시스템
– 모델 학습 시 여러 TPU 코어가 동시에 연산을 수행해 학습 시간을 단축
– 구글 클라우드에서 TPU Pod를 임대해 대규모 학습 가능
구글 클라우드에서 TPU 사용 절차
1. 구글 클라우드 계정 생성 및 프로젝트 설정
2. TPU API 활성화
3. VM 인스턴스 생성 시 TPU 설정 추가
4. TensorFlow, JAX 등 TPU 지원 프레임워크 환경 구성
5. TPU 주소와 환경 변수 설정 후 학습 스크립트 실행
TPU의 정밀도 지원 범위와 성능 차이
– bfloat16: 부동소수점 16비트, 학습 시 메모리 절약 및 연산 속도 향상, FP32와 유사한 학습 안정성
– int8: 주로 추론에서 사용, 메모리 사용량과 연산 시간 대폭 감소
– FP32: 높은 정밀도, 속도와 메모리 효율은 낮음
TPU, GPU, FPGA 비교
TPU: 딥러닝 전용, 행렬 연산에 최적화, 높은 전력 효율, 범용성 낮음
GPU: 범용 병렬 처리에 강점, 다양한 연산 지원, 딥러닝과 그래픽 처리 모두 가능
FPGA: 하드웨어 구조를 재구성 가능, 특수 목적 최적화 가능, 개발 난이도 높음
TPU의 특정 연산 최적화
– CNN 합성곱 연산: 대규모 행렬 곱셈을 효율적으로 처리하는 매트릭스 멀티플라이 유닛(MMU) 구조로 최적화
– Transformer의 Attention 연산: 대규모 벡터·행렬 연산을 병렬로 처리, bfloat16으로 메모리 사용량 절감 및 처리 속도 향상