Tensor Processing Unit(TPU)는 Google이 신경망 머신러닝을 위해 개발한 신경 처리 장치(NPU) 주문형 집적 회로(ASIC)이다. TPU는 범용 프로세서보다 줄당 더 많은 입출력 연산을 처리하도록 설계되었으며, 높은 볼륨의 저정밀도 연산(예: 8비트)을 처리하는 데 적합하고, 래스터화나 텍스처 매핑을 위한 하드웨어가 없다. Google은 2015년부터 내부적으로 TPU를 사용하기 시작했으며, 2018년에는 클라우드 인프라를 통해 제3자 사용을 가능하게 하고 더 작은 버전의 칩을 판매하기 시작했다. 현재 Google Cloud는 주로 TPU 시스템 판매에서 제품 수익을 창출하고 있다.
TPU는 TensorFlow, JAX, PyTorch 프레임워크를 지원한다. TPU는 특히 합성곱 신경망(CNN)에 적합하며, GPU는 일부 완전 연결 신경망에 이점이 있고, CPU는 순환 신경망(RNN)에 이점이 있을 수 있다. 대규모 언어 모델을 위한 트랜스포머 기반 신경망 워크플로우에서 TPU는 추론에, GPU는 훈련에 자주 사용된다.
역사
2013년, Google은 Amir Salek을 영입하여 회사 데이터센터를 위한 맞춤형 실리콘 개발 역량을 구축했다. Google 기술 인프라 및 Google Cloud의 맞춤형 실리콘 창립자이자 책임자로서 Salek은 Google의 첫 생산 칩인 원래 TPU, 업계 최초의 생산용 딥러닝 훈련 칩인 TPUv2, TPUv3, TPUv4, Edge-TPU, 그리고 VCU, IPU, OpenTitan을 포함한 추가 실리콘 제품 개발을 이끌었다.
원래 TPU 엔지니어 중 한 명이자 나중에 Groq의 창립자가 된 Jonathan Ross에 따르면, Google 내 세 개의 별도 그룹이 AI 가속기를 개발 중이었으며, 시스톨릭 배열인 TPU가 최종적으로 선택된 설계였다. TPU는 WARP를 포함한 시스톨릭 배열 시스템과 계보를 공유한다. Norman P. Jouppi는 Google의 TPU 개발에서 기술 리더이자 수석 아키텍트를 맡아, 첫 TPU를 단 15개월 만에 생산에 신속하게 설계, 검증, 배포했다. 2017년 44회 국제 컴퓨터 아키텍처 심포지엄(ISCA 2017)에서 발표된 획기적인 논문 "In-Datacenter Performance Analysis of a Tensor Processing Unit"의 주 저자로서 Jouppi는 TPU가 당시 CPU 및 GPU보다 15-30배 높은 성능과 30-80배 높은 와트당 성능을 달성했음을 입증했다.
텐서 처리 장치는 2016년 5월 Google I/O 컨퍼런스에서 발표되었으며, 당시 회사는 TPU가 데이터센터 내부에서 1년 이상 사용되었다고 밝혔다. 2017년 Google의 논문은 1990년대에 구축된 유사한 아키텍처의 이전 시스톨릭 행렬 곱셈기를 인용했다. 이 칩은 신경망과 같은 머신러닝 애플리케이션에 사용되는 기호 수학 라이브러리인 Google의 TensorFlow 프레임워크를 위해 특별히 설계되었다. 그러나 2017년 현재 Google은 다른 유형의 머신러닝에는 여전히 CPU와 GPU를 사용했다.
Google의 TPU는 독점적이다. 일부 모델은 상업적으로 이용 가능하며, 2018년 2월 12일 The New York Times는 Google이 "클라우드 컴퓨팅 서비스를 통해 다른 회사가 해당 칩에 대한 액세스를 구매할 수 있도록 허용할 것"이라고 보도했다. Google은 TPU가 AlphaGo 대 이세돌 인간 대 기계 바둑 시리즈와, 게임 규칙만으로 체스, 쇼기, 바둑 프로그램을 생성하고 해당 게임의 선두 프로그램을 이긴 AlphaZero 시스템에 사용되었다고 밝혔다. Google은 또한 Google Street View 텍스트 처리에 TPU를 사용했으며, Street View 데이터베이스의 모든 텍스트를 5일 미만 만에 찾을 수 있었다. Google Photos에서 개별 TPU는 하루에 1억 장 이상의 사진을 처리할 수 있다. 또한 Google이 검색 결과를 제공하는 데 사용하는 RankBrain에도 사용된다.
Google은 Google Cloud Platform의 일부인 Cloud TPU 서비스와 노트북 기반 서비스인 Kaggle 및 Colaboratory를 통해 제3자에게 TPU 액세스를 제공한다. Broadcom은 TPU의 공동 개발자로서 Google의 아키텍처와 사양을 제조 가능한 실리콘으로 변환한다. SerDes 고속 인터페이스와 같은 독점 기술을 제공하고, ASIC 설계를 감독하며, 대만 반도체 제조 회사(TSMC)와 같은 제3자 파운드리를 통해 칩 제조 및 패키징을 관리하며, 프로그램 시작 이후 모든 세대를 포괄한다.
2025년 9월, Google은 Crusoe 및 CoreWeave를 포함한 여러 "네오클라우드"와 데이터센터에 TPU를 배포하는 것에 대해 논의 중이었다. 2025년 11월, Meta는 AI 데이터센터에 TPU를 배포하기 위해 Google과 논의 중이었다.
제품
1세대 TPU
1세대 TPU는 PCIe 3.0 버스를 통해 호스트 프로세서에 의해 CISC 명령으로 구동되는 8비트 행렬 곱셈 엔진이다. 28nm 공정으로 제조되며 다이 크기는 ≤ 331 mm2이다. 클록 속도는 700MHz이고 열 설계 전력은 28-40W이다. 28MiB의 온칩 메모리와 256×256 시스톨릭 배열의 8비트 곱셈기 결과를 취하는 4MiB의 32비트 누산기가 있다. TPU 패키지 내에는 34GB/s 대역폭을 제공하는 8GiB의 듀얼 채널 2133MHz DDR3 SDRAM이 있다. 명령은 호스트로/에서 데이터를 전송하고, 행렬 곱셈 또는 합성곱을 수행하며, 활성화 함수를 적용한다.
2세대 TPU
2세대 TPU는 2017년 5월에 발표되었다. Google은 1세대 TPU 설계가 메모리 대역폭에 의해 제한되었으며, 2세대 설계에서 16GB의 고대역폭 메모리를 사용하여 대역폭을 600GB/s로, 성능을 45테라플롭스로 증가시켰다고 밝혔다. 그런 다음 TPU는 180테라플롭스 성능의 4칩 모듈로 배열된다. 그런 다음 이 모듈 64개가 11.5페타플롭스 성능의 256칩 포드로 조립된다. 특히 1세대 TPU가 정수로 제한된 반면, 2세대 TPU는 부동 소수점으로도 계산할 수 있으며, Google Brain이 발명한 bfloat16 형식을 도입했다. 이로 인해 2세대 TPU는 머신러닝 모델의 훈련과 추론 모두에 유용하다. Google은 이러한 2세대 TPU가 TensorFlow 애플리케이션에서 사용할 수 있도록 Google Compute Engine에서 제공될 것이라고 밝혔다.
3세대 TPU
3세대 TPU는 2018년 5월 8일에 발표되었다. Google은 프로세서 자체가 2세대 TPU보다 두 배 강력하며, 이전 세대보다 4배 많은 칩을 가진 포드에 배포될 것이라고 발표했다. 이로 인해 포드당 성능이 8배 증가한다. 3세대 TPU는 bfloat16을 지원하며 훈련과 추론 모두를 위해 설계되었다. Google Cloud TPU 서비스를 통해 제공된다.
아키텍처 및 설계
TPU는 신경망 연산의 기본이 되는 행렬 곱셈의 효율적인 실행을 가능하게 하는 곱셈기 시스톨릭 배열을 중심으로 구축되었다. 데이터가 배열을 통해 리드미컬하게 흐르는 시스톨릭 배열 설계는 빈번한 메모리 액세스 필요성을 줄이고 에너지 효율을 향상시킨다. 1세대 TPU는 8비트 정밀도로 작동하지만, 이후 세대는 훈련을 위해 bfloat16을 지원한다. Norman Jouppi에 따르면 TPU는 데이터센터 랙의 하드 드라이브 슬롯에 맞을 수 있는 방열판 어셈블리에 장착된다.
응용 및 영향
TPU는 검색(RankBrain), Google Photos, Street View를 포함한 다양한 Google 서비스에 사용되었다. 또한 AlphaGo 및 AlphaZero 시스템에도 사용되었다. Google Cloud를 통한 TPU의 가용성은 제3자 개발자와 연구자가 자체 머신러닝 워크로드를 가속화할 수 있게 했다. TPU 개발은 다른 회사가 Groq 및 AWS Trainium과 같은 자체 AI 가속기를 개발하는 등 더 넓은 AI 하드웨어 환경에도 영향을 미쳤다.