본문 바로가기
Daily/김인턴의 하루

TPU 텐서처리장치

by HANNI하니 2020. 10. 13.

1. 정의

Tensor Processing Unit

텐서 처리 장치

구글에서 발표한 데이터 분석 및 딥러닝용 하드웨어.

ASIC(Application-Specific-Integrated Circuits)로서 머신러닝 작업 부하를 빠르게 처리하는 데 사용된다.

GPU의 10배 이상 빠르다.

 

(버전 3개)

TPU 1.0

TPU 2.0

TPU 3.0

 

(구글 논문)

drive.google.com/file/d/0Bx4hafXDDq2EMzRNcy1vSUxtcEk/view

 

 

2. 내부 구조

노란색 : 실제 계산이 일어나는 로직

-> TPU에서 가장 핵심적인 부분!

-> Matrix Multiply Unit은 65536(=256*256)개의 곱셈기로 이루어져 있으며 각각의 곱셈기는 8-bit 정수 2개를 곱해 16-bit 결과를 만들어 낸다. Matrix Multiply Unit 아래쪽에는 하나의 entry당 256개의 32-bit 레지스터를 가진 4096-entry Accumulator가 있는데 각 32-bit 레지스터는 세로방향을 따라 위치한 256개의 곱셈기가 계산한 16-bit 결과 값 256개를 누적하는데 사용된다. Accumulator의 4096개의 entry 중 어디에 계산 값이 누적될지는 TPU의 Matrix Multiply / Convolve 명령어가 포함된 accumulator address 필드에 의해서 결정된다.

Accumulator의 결과는 Activation 유닛과 Normalize/Pool 유닛을 걸쳐 Unified Buffer에 저장이 되는데, 계산된 값이 중간 결과일 경우 다시 Matrix Multiply Unit의 입력으로 보내지며 최종 결과일 경우 Host Interface와 PCle 인터페이스를 거쳐 CPU의 메인메모리에 저장되게 된다.

 

하늘색 : 계산에 필요한 입/출력값 및 wieght들을 DDR3 메모리와 TPU사이에서 옮기거나 중간결과를 임시로 저장하는 부분

빨간색 : 명령어 수행을 위한 제어로직

초록색 : TPU 외부와 연결되는 DDR3 메모리와 PCle 인터페이스

출처 "In-Datacenter Performance Analysis of a Tensor Processing Unit", ISCA, 2017

 

 

3. 사용

행렬 연산이 주를 이루는 모델 (백터/행렬 연산의 병렬 처리에 특화되어 있다. 넘사벽급의 전성비를 자랑한다. 비결은 8비트 정수 연산을 활용하는 것이다. 같은 비트라도 정수 연산이 부동 소수점 연산보다 더 빠르기 때문이다.)

기본 학습 루프 내에 커스텀 TensorFlow 작업이 없는 모델

몇 주 또는 몇 달간 학습시키는 모델

효과적인 배치 크기가 매우 큰 대형, 초대형 모델

 

On the main menu, click Runtime and select Change runtime type. Set "TPU" as the hardware accelerator. 
Click Runtime again and select Runtime > Run All. You can also run the cells manually with Shift-ENTER.

 

 


 

 

cloud.google.com/tpu/docs/tpus?hl=ko#advantages_of_tpus

 

Cloud 텐서 처리 장치(TPU)  |  Google Cloud

TPU(텐서 처리 장치)는 Google에서 맞춤 개발한 ASIC(Application-Specific Integrated Circuits)로서 머신러닝 작업 부하를 빠르게 처리하는 데 사용됩니다. TPU는 Google이 머신러닝 분야에서 쌓은 심화된 경험과

cloud.google.com

namu.wiki/w/TPU

 

TPU - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권�

namu.wiki

donghyun53.net/%ea%b5%ac%ea%b8%80-tpu-%eb%93%a4%ec%97%ac%eb%b3%b4%ea%b8%b0/

 

구글 TPU 들여보기 - 골수공돌이의 탐구실

올해 4월초 구글에서 개발한 TPU(Tensor Processing Unit)와 관련된 ISCA 논문이 공개됐습니다. TPU는 딥러닝의 inferencing에 특화된 가속기로 2013년에 개발이 시작되어 2015년 부터 구글의 데이터센터에서 실

donghyun53.net

출처 "https://venturebeat.com/2017/04/05/google-opens-up-about-its-tpu-chips-for-ai/"

'Daily > 김인턴의 하루' 카테고리의 다른 글

라벨링툴 - labelme & labelImg  (0) 2020.10.23
NVIDIA Jetson Nano  (2) 2020.10.20
DeepLab 딥랩  (0) 2020.10.13
COCO Dataset  (0) 2020.10.12
DLL 파일  (0) 2020.10.12

댓글