DNN accelerator 6

google TPU 논문 리뷰: In-Datacenter Performance Analysis of a Tensor Processing Unit (3)

2편에서는 아래 구성에서의 3을 다루었고, 이번 3편에서는 4.performance에 대해 설명을 해볼 것이다. 1. TPU origin : TPU 왜 만들게 되었는지 2. TPU architecture : TPU의 구성 및 동작 원리 3. CPU, GPU, TPU 연산량, 구조 비교 4. performance : CPU, GPU와 비교한 TPU의 성능 Performance benchmark를 위해 datacenter의 95%의 workload를 나타내는 오늘날(당시에) 유명한 NN(nueral network, 인공신경망)의 3종류를 2개씩 총 6개의 NN모델을 예시로 들었다. 3종류의 NN은 MLP, LSTM(RNN의 일종), CNN이고, 각 모델의 정보는 다음과 같다. 당시에 CNN의 연산을 가속하는..

DNN accelerator 2021.08.12

google TPU 논문 리뷰: In-Datacenter Performance Analysis of a Tensor Processing Unit (2)

1편에서는 아래 구성에서의 1-2를 다루었고, 이번 3편에서는 3. CPU, GPU, TPU 연산량, 구조 비교에 대해 설명을 해볼 것이다. 1. TPU origin : TPU 왜 만들게 되었는지 2. TPU architecture : TPU의 구성 및 동작 원리 3. CPU, GPU, TPU 연산량, 구조 비교 4. performance : CPU, GPU와 비교한 TPU의 성능 CPU, GPU, TPU 비교 이 부분은 논문에는 없는 내용이다. 이 논문을 읽으면서 '그래서 TPU가 CPU랑 GPU와 두드러지게 다른 점이 뭐지?'라는 궁금증이 들어 구글 블로그를 참고하여 궁금증을 해소하였다. 이 부분에서는 CPU, GPU, TPU를 연산, 구조 측면에서 비교하였다. 1. 연산량 비교 CPU는 한 cloc..

DNN accelerator 2021.08.12

google TPU 논문 리뷰: In-Datacenter Performance Analysis of a Tensor Processing Unit (1) - TPU 구조 및 명령어

구글이 2017년에 발표한 TPU 논문 리뷰를 해보려고 한다. 이 논문은 첫번째 버전의 TPU에 대한 설명을 다루고 있고, 현재에는 TPU는 4번째 버전까지 발표되었다. 해당 논문과 구글 블로그의 글을 참고하여 논문을 정리하였다. 다음과 같은 구성으로 글을 써보려고 한다. 1. TPU origin : TPU 왜 만들게 되었는지 2. TPU architecture : TPU의 구성 및 동작 원리 3. CPU, GPU, TPU 연산량, 구조 비교 4. performance : CPU, GPU와 비교한 TPU의 성능 TPU Origin 논문에서 최근(2013년 기준)에 DNN 모델들이 요구하는 datacenter의 연산량이 매우 증가했다고 한다. 예를 들어 하루에 3분씩 사람들이 음성 검색을 한다면 (구글의)..

DNN accelerator 2021.08.12

Efficient Processing of Deep Neural Networks - HW for DNN Processing: Systolic array

CNN model의 inception module, shortcut module등과 같은 다양한 방법을 사용하여 더 높은 정확성과 연산량을 줄이려고 하였다. 그러나, ResNet의 MAC의 개수를 보면 필요로 하는 연산량이 매-우 많다. 이런 연산을 처리하기 위해서는 많은 자원이 필요하고, 좋은 자원이 있어도 에너지 소모량도 방대하며 실행되는데 걸리는 시간도 오래걸린다. 이런 문제들을 줄이기 위한 노력이 하드웨어적으로 이루어지고 있는데, 이번 부분에서는 이에 대해 이야기 해보려고 한다. data reuse 데이터를 읽어올때 반드시 DRAM을 거쳐서 오게 되는데, DRAM에 접근하는 것은 오랜 시간과 많은 에너지를 사용하므로 최대한 DRAM에서 데이터를 읽어오거나 쓰는 일을 줄여야한다. 즉, DRAM에서 ..

DNN accelerator 2021.08.12

Efficient Processing of Deep Neural Networks - DNN(2): CNN

이번글 'Efficient Processing of Deep Neural Networks - DNN(2)'에서 다룰 내용은 다음과 같다. DNN의 종류 유명한 CNN 모델 DNN의 종류 DNN을 크게 두 종류로 나눌 수 있다. feedforward neural network: input 부분에서 output 부분까지 연속적으로 이전레이어의 output 값을 받아서 계산하고.. 이를 한 방향으로 연산을 진행한다. recurrent network와 달리 순서가 있는 입력에 대해서 순서를 고려하지 않고 출력해준다. 예를 들어 input1, 2, 3순서대로 입력이 들어왔다면 출력은 output1,3,2와 같이 순서와 관련 없이 출력될 수 있다. 이미지가 어떤 물체를 포함하고 있을 확률과 같은 일을 할 수 있다...

DNN accelerator 2021.08.11

Efficient Processing of Deep Neural Networks - DNN(1): DNN 기본 개념

'Efficient Processing of Deep Neural Networks' 글들은 Efficient Processing of Deep Neural Networks: A Tutorial and Survey 논문을 정리한 글들이다. 이 논문은 흔히 NPU, TPU로 알고 있는 DNN 가속기와 관련된 논문들을 모아 정리해놓은 survey 논문이며 효율적인 DNN을 위한 소프트웨어적인 노력과 하드웨어적인 노력을 다룬다. 전자 부분을 'DNN' 게시글에, 후자 부분을 'HW for DNN Processing' 게시글에 포함시킬 예정이다. 이번글 'Efficient Processing of Deep Neural Networks - DNN(1)'에서 다룰 내용은 다음과 같다. AI 종류 추론, 학습 적용 A..

DNN accelerator 2021.07.25