Google TPU v2 (Tensor Processing Unit 제2세대), 훈련 및 추론 AI 작업 가속화로 v1 대비 크게 향상된 성능.
구글은 Hot Chips 2017에서 자체 개발한 최초의 TPU(Tensor Processor Unit)와 클라우드 TPU, 즉 TPU v2에 대한 세부 사항을 공유했다. 구글은 프로세서 개발 속도의 둔화에 실망하여 스컹크웍스(skunkworks)급 프로젝트로 자체 ASIC를 설계했다. 구글은 무어의 법칙이 둔화 단계에 있거나 곧 퇴출될 것이라고 믿었으며, 2006년경 전류 누설 증가로 인해 데나드 스케일링(Dennard scaling)이 이미 만료되었기 때문에 최신 프로세서에서 막대한 클럭 주파수 증가를 더 이상 기대하지 않았다. 사용자 기반이 매일 성장하는 가운데, 시중에서 구매 가능한 대규모 가격 인하와 막대한 성능 향상 혜택이 없자, 구글은 데이터 센터 규모가 확대되는 것을 피하기 위해 프로세서 설계 분야에 뛰어들었다.
추론 전용으로 설계된 첫 세대 TPU는 최대 45 TFLOPS의 성능을 제공하는 256x256x8b 혼합 곱셈 유닛(MXU)을 갖춘 단일 코어를 특징으로 했다. "빠르게 실행하고 가위질을 하라(go fast and run with scissors)"라는 테마 아래 2013년에 설계가 시작되어, 14개월 후 공개되기 전에 1년간 배포된 끝에 구글 데이터 센터에서 데뷔했다. 이 TPU는 부하 상태에서 40W의 전력을 소모하며 700MHz로 동작하는 28nm ASIC 위에 구축되었다. 엔지니어들은 기존 인프라와의 하위 호환성을 유지하기 위해 TPU를 표준 3.5인치 서버 HDD 베이 크기에 맞게 설계하고 커스텀 PCIe 3.0 x16 커넥터를 통해 백플레인에 연결하도록 했다. 이 ASIC은 자체 분기 처리기를 사용하지 않고 호스트가 명령어를 공급하도록 하여 코드를 최소화했으며, TPU는 단 11개의 명령어만 지원했고 그중 5개만 워크로드 실행에 사용되었다. 또한 256x256 매트릭스 곱셈 유닛은 클럭 사이클당 수십만 개의 연산을 처리했다.
구글의 클라우드 TPU는 훈련 및 추론 워크로드를 모두 지원하며 각각 128x128x32b MXU 하나씩을 탑재한 듀얼 코어로 상당한 진보를 이루었다. 각 클라우드 TPU 보드는 단일 마더보드 위에 4개의 ASIC과 64GB의 HBM을 갖추고 있어 2,400 GBps의 메모리 대역폭을 제공하며, 보드당 최대 180 TFLOPS를 생성했다. 구글은 단일 '팟(pod)' 내에 64개의 클라우드 TPU를 배치하여 최대 11.5 petaFLOPS의 컴퓨팅 성능과 4TB의 HBM을 활용했다. 이 ASIC들은 대형 히트싱크와 보드 가장자리에 위치한 8개의 네트워킹 커넥터가 있는 마더보드 위에 탑재되었으며, 이는 인텔의 Omni-Path와 IBM의 BlueLink로 널리 알려져 있다.
구글은 Google Cloud Platform을 통해 클라우드 TPU 서비스를 대중에게 제공하기 시작했으며, 각 가상 머신 인스턴스에는 하나의 TPU가 첨부되어 제공되었다. 또한 회사는 최고 연구진들에게 천 개 이상의 장치를 기부하기도 했다. 클라우드 TPU는 TensorFlow로 프로그래밍할 수 있어 채택 속도를 높이는 데 기여했다. 구글은 이 프로세서들이 첫 세대 모델보다 50% 더 많은 성능을 제공한다고 주장했지만, 회사 측에서는 아직 효율성 측정치를 제공하지 않았다.