열가소성 폴리우레탄(Thermoplastic Polyurethane)에 대한 내용은 폴리우레탄 문서 참고하십시오.
알파고 실물
1. 개요
Tensor Processing Unit구글에서 2016년 5월에 발표한 머신러닝을 위해 설계된 ASIC이다. 대규모 행렬 연산에 특화되어 있다. #
TPU의 설계는 구글이 브로드컴과 공동[1]으로 수행하고 있다.
1.1. 텐서의 의미
자세한 내용은 텐서 문서 참고하십시오.2. 소프트웨어
TPU를 위한 소프트웨어로는 구글에서 오픈소스로 공개한 TensorFlow 공식 웹사이트가 있다 PyTorch에서는 PyTorch/XLA로 TPU에서 작업을 수행할 수 있다. JAX를 사용할 수도 있다. 이들 라이브러리에서 작성된 모델은 XLA 그래프로 변환된 후 TPU 실행 파일로 컴파일, 실행된다.3. 사용
Google Cloud Platform의 Cloud TPU를 통해 이용할 수 있다. Colab에서는 무료로 TPU v2-8을 이용할 수 있고, Kaggle에서는 TPU v3-8을 이용할 수 있다.현재 소비자가 구할 수 있는 TPU는 Edge TPU 기반의 제품인 코랄 보드로[2] 일체형 보드에서 부터 PCIe/M.2 카드까지 다양한 폼펙터로 제공된다. 다만 구글이 데이터센터용으로 쓰는 TPU가 아닌 저전력 버전 기반이라 성능은 다르다. 또한 텐서플로 라이트를 지원한다는 게 특징.
NVIDIA도 GeForce 20부터 TPU와 비슷한 기능을 하는 Tensor Core를 일반 제품군에도 내장하기 시작했다. 용도는 다름아닌 레이트레이싱과 DLSS 안티에일리어싱 보조용.
AMD도 Instinct MI100부터 비슷한 기능의 Matrix Core을 내장하기 시작했다. 다만 이쪽은 일반 제품군에는 내장되지 않는 중. RDNA 3의 RX 7000번대부터는 내장될 수도 있다는 관측이 있었고, 실제로 비슷한 역할인 AI 매트릭스 액셀러레이터가 내장되었다.
2023년 모건 스탠리가 발간한 리포트 등 각종 통계에 의하면 NVIDIA의 최신 칩셋인 A100 주요 고객 리스트에 구글은 없다. # 이를 통해 딥러닝 관련 워크로드 수행 분야에서는 TPU가 이미 엔비디아의 역할을 대부분 대체했다고 추정해볼 수 있다. 다만 구글 클라우드 플랫폼의 데이터센터에는 엔비디아의 칩셋이 상당수 쓰이고 있으니 분야 혼동에 주의할 필요가 있다.
3.1. TPU Research Cloud(TRC)
TRC를 사용하면 연구 결과를 공유하는 조건으로 1달간 무료로 TPU를 사용할 수 있다. # 신청하면 수 시간 내로 승인 메일이 오고, 추가로 내용을 제출하면 주어진 제공량을 Cloud TPU에서 무료로 사용할 수 있다. TRC 팀에 문의하면 더 긴 기간이나 더 많은 제공량을 사용할 수도 있다.4. 성능
CPU와 GPU는 기본적으로 폰노이만 구조의 프로세서이므로 메모리 접근에 폰노이만 병목이 발생한다. TPU는 행렬 연산을 목적으로 설계되었기에 여러 누산기가 직접 연결된 시스톨릭 배열 아키텍처를 사용한다. 따라서 TPU는 행렬 연산 중 메모리 엑세스가 필요하지 않고, 적은 전력 소비로 높은 성능을 달성할 수 있다. # 이 외에도 bfloat16 자료형으로 메모리를 절약하고 성능을 개선한다.또한 TPU는 TPU Pod로 쉽게 확장되도록 설계되었다. TPU Pod는 서로 고속으로 연결된 TPU 기기의 모음으로, 이를 통해 TPU를 사용한 학습을 선형적으로 확장할 수 있다. 실제로 구글은 50,944개의 TPU v5e 칩으로 학습을 실행하기도 했다. #
5. 제품
v1 | v2 | v3 | Edge v1 | v4 | v5e | v5p | v6e | |
공개 | 2016년 | 2017년 | 2018년 | 2018년 | 2021년 | 2023년 | 2023년 | 2024년 |
공정 | 28nm | 16nm | 16nm | 7nm[3] | 5nm | 5nm | 4nm | |
크기 | 331mm2 | <625mm2 | <700mm2 | <400mm2 | 350mm2 | 700mm2 | 790mm2 | |
클럭 | 700MHz | 700MHz | 940MHz | 1050MHz | 1750MHz | 2040MHz | 2060MHz | |
메모리 | 8GiB DDR3 | 16GiB HBM | 32GiB HBM | 32GiB HBM | 16 GiB HBM | 95GiB HBM | 32GiB HBM | |
메모리 대역폭 | 34GB/s | 600GB/s | 900GB/s | 1,200GB/s | 819 GB/s | 2765 GB/s | 1640 GB/s | |
소비전력 | 75W | 280W | 220W | 2W | 170W | 미공개 | 미공개 | 미공개 |
초당 연산 성능 (int8) | 23 TOPs | 92 TOPs | 246 TOPs | 4 TOPs | 550 TOPs | 393 TOPs | 918 TOPs | 1836 TOPs |
초당 연산 성능 (bfloat16) | 11.5 TFLOPs | 46 TFLOPs | 123 TFLOPs | 2 TFLOPs | 275 TFLOPs | 197 TFLOPs | 459 TFLOPs | 918 TFLOPs |
TOPS/W | 0.31 | 0.16 | 0.56 | 2 | 1.62 | 미공개 | 미공개 | 미공개 |
-
TPUv1
Google I/O 2016에서 소개되었다. Norm Jouppi에 따르면 뉴럴 네트워크 연산에 대해 TPU는 최신 CPU및 GPU보다 15~30배 빠르며, 전성비는 30~80배 향상되었다고 한다. -
TPUv2
2017년 12월 초, Jeff Dean 과 Chris Ying에 의해 발표되었다. 구글의 머신러닝 시스템 워크샵에서 설명된 바에 따르면, TPU 2.0은 600 GB/S의 메모리 대역폭과 최대성능 45 TFLOPS의 칩 4개를 연결해 최대 180 TFLOPS의 성능을 발휘할 수 있다. -
TPUv3
2018년 5월 초, 순다르 피차이는 Google I/O 개발자 컨퍼런스 기조 연설에서 TPU의 세 번째 버전을 공개하였다. 이전제품보다 8배 빨라졌으며, 수랭식으로 냉각된다. TPU 3.0의 포드는 100 PFLOPS 이상의 성능을 낼 수 있다고 주장한다. -
TPUv4
2021 Google I/O에 공개된 TPU. 한 포드에 4,096개의 V4 칩이 있으며 각 포드는 10개의 연결이 있다. PaLM 언어 모델에서 5,400억 매개변수를 학습하는 데에 걸린 1,200시간 동안 6,144개의 v4 칩이 쓰였다고 알려져 있다. -
EDGEv1
소형, 저전력 플랫폼용 ML가속기. 텐서플로 라이트와 같이 사용할수 있으며 데이터센터 용이 아닌 일반 상용제품으로 현재 소비자가 구할수 있는 유일한 구글제 TPU제품이다.[4] 현존하는 인공지능 칩중에서 가장 뛰어난 소비전력 대비 연산능력을 보여주는 가성비 칩이다. -
TPUv5
2023년 스펙이 공개되었다. 효율성이 높은 v5e와 더 높은 성능과 확장성을 가진 v5p로 나뉜다. -
6세대(트릴리움, Trillium)
2024년 5월 발표되었다. v5e보다 칩당 4.7배 향상된 성능을 제공하고 HBM 용량과 대역폭, ICI 대역폭이 2배로 증가했다. 2024년 말에 출시될 예정이다. #
6. 관련 문서
[1]
2023년 9월 구글이 브로드컴과의 TPU 설계 협력 계약을 종료한다는 루머가 돌자 브로드컴의 주가가 급락하기도 했으나 구글은 브로드컴과의 협력이 계속된다고 발표했다.
#
[2]
구글과 관계된 회사에서 제품화 했기 때문에 보통 구글 코랄 보드라고 부른다.
[3]
TSMC
[4]
이 때문에 일부 서드파티 업체들은 Coral TPU를 M.2로 해서 병렬로 연결하는 식으로 상용 TPU제품을 만들어다 팔기도 했다.