하드웨어

구글이 개발한 클라우드 전용 프로세서, TPU란?


  • 우예진 기자
    • 기사
    • 프린트하기
    • 크게
    • 작게

    입력 : 2018-07-09 11:27:55

    ▲ © 구글 클라우드 전용 프로세서 TPU

    구글이 자체 개발한 기계 학습에 특화된 프로세서 TPU(Tensor Processing Unit). TPU는 딥러닝을 고속화하기 위해서 클라우드 서비스용으로 개발된 프로세서. 구글은 구글 서치, 구글 트랜스레이트, 구글 포토 등의 서비스에 활용 중이다. 

    한편, 구글은 2018년 6월 27일, 클라우드 서비스인 구글 클라우드 플랫폼(GCP)에서 TPU을 유저가 직접 활용할 수 있는 클라우드 TPU를 제공하기 시작했다. 1TPU을 시간 당 6.5달러에 이용 가능한 것. 갑자기 멈춰서도 상관없다면 별도의 요금 체계(Preemptive Pricing)를 활용하면 시간 당 1.95달러에도 사용 가능하다.

    클라우드 TPU는 원래 구글이 개발한 오픈 소스 기계 학습 라이브러리 텐저플로우(TensorFlow)를 통해서만 이용할 수 있다. 고속의 데이터 처리를 저렴한 가격에 이용할 수 있는 점이 특징이다.

    1세대 TPU v1은 2013년 개발되어 2015년부터 운용되기 시작되었다. 이 시점에서는 기계 학습 측면에 특화되었다. TPU v2는 2017년 도입되었다. 1유닛당 180TFLOPS의 연산 능력을 발휘했다. 2018년 5월 구글 I/O에서는 수냉식인 3세대 TPU 3.0이 발표되었다. 연산 능력은 1유닛당 100PFLOPS으로 비약적으로 발전했다.

    구글 클라우드팀은 CPU, GPU 같은 범용 프로세서와 딥 러닝에 특화된 TPU의 차이를 2가지 포인트로 설명한다.

    하나의 핵심은 연산 정밀도를 희생해 32비트가 아닌 8/16비트의 연산기를 기본으로 하고 있다. 범용 프로세서에서는 32비트 연산이 주류지만, 딥 러닝에서 진행되는 행렬 연산에서는 그만큼의 정밀도가 요구되지 않는다. 기계 학습 추론에서는 8비트가 최적이다. 이 때문에 TPU v1에서는 8비트 연산기를 6만5536개 탑재한 구성이다. 소비 전력도 1유닛 당 40W.

    TPU v2에서는 16비트 연산기를 3만2768개 탑재한 프로세서를 1유닛에 4개 탑재했다. 학습 훈련에는 16비트가 필요하며 16비트화로 인해 2세대 TPU는 학습과 추론 모두에게 장점을 갖게 되었다.

    두 번째 핵심은 대규모 행렬 연산 파이프라인의 실현이다. 범용 프로세서에서는 연산 사이에 메모리 읽기가 발생한다. 행렬 연산에서는 이것이 병목이 된다. TPU에서는 연산 결과를 연산 회로 내에서 직접 전달하도록 함으로써 메모리의 읽기를 대폭 줄임과 동시에 집약도를 높이고 전력 소비를 줄였다.


    베타뉴스 우예진 기자 (w9502@betanews.net)
    Copyrights ⓒ BetaNews.net