ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CPU와 GPU, TPU를 아시나요?
    카테고리 없음 2020. 7. 4. 21:04

    1. CPU, GPU, TPU란 무엇인가?

     

    CPU : 마이크로프로세서 혹은 중앙처리장치라 부르며 흔히 컴퓨터에서 데이터를 처리하는 장치로 사용되며 요즘은 다양한 기계제품(밥솥, 세탁기 등)에서도 제어용 장치로 사용됩니다.

     

    GPU : 그래픽 카드의 핵심부품으로 1990년도에는 단순히 cpu의 연산결과를 그림이나 글로 보여주는 역할이었지만 시대가 발전하여 멀티미디어 콘텐츠 활용에 주목받기 시작했습니다. 3D 그래픽의 다양한 효과(입체감, 광원 등)CPU 혼자서는 처리하기 힘들기 때문에 그래픽 연산 처리를 위해 개발되었습니다.

     

    TPU : google2016년에 발표한 데이터 분석 및 딥러닝용 하드웨어입니다. 처음 나왔을 당시에는 학습된 런닝머신을 활용하여 연산을 진행했지만 더 발전하여 스스로 학습 및 실행을 가능할 정도로 발전하였습니다.

     

    2. CPU, GPU, TPU의 차이점?

     

    CPU GPU TPU 순으로 발전한 만큼 CPU를 기준으로 GPUTPU를 각각 비교하겠습니다.

     

    과거에 CPUGPU는 수행하는 역할이 구분되었습니다. CPU는 연산처리 GPU는 그래픽 처리의 역할을 진행하였지만 최근에는 그래픽 작업 외의 일에도 GPU의 처리 능력을 보태는 ‘GPGPU’ 기술이 발전하고 있습니다. 그래도 CPUGPU보다 성능이 떨어지는 것은 아니며 둘의 성능은 동일합니다.

     

    CPUGPU 모두 연산으로 답을 도출하는 기능을 수행하는데 진행처리 방식에서 둘의 차이점을 볼 수 있습니다. CPU는 데이터 처리를 직렬(순차적)방식으로 처리하며 내부의 절반 이상이 캐시로 채워져 있기 때문에 GPU에 비해 상대적으로 ALU가 차지할 수 있는 공간이 적습니다. 그래서 CPU는 문서 작성 등 일상 생활의 작업을 빠르게 수행하는데 설계됩니다.

     

    반면 GPU는 병렬 방식에 특화된 구조를 가져 캐시의 비중이 크지 않고 연산을 담당하는 ALU의 개수가 많습니다. 1개의 코어에 수백~수천개의 ALU가 장착되어 GPUCPU보다 시간이 많이 걸리는 3D그래픽 작업을 빠르게 수행할 수 있습니다.

     

    최근에는 GPU의 병렬처리를 딥러닝에 적용하였는데 이를 이용하면 CPU를 통한 데이터 처리보다 빠르기 때문에 GPU를 연구하는 추세입니다. 하지만 진행하는 내용에 따라 처리속도가 CPU가 빠를 수 있고 GPU가 빠를 수 있기 때문에 항상 상황에 맞게 조합하여 사용해야합니다.

     

    TPU는 벡터/행렬연산의 병렬처리에 특화되었습니다. 8비트의 정수 연산을 통해 모델의 실행 그리고 학습과정에도 사용할 것이라 추정되고 있습니다. 추정인 이유는 구글에서 하드웨어를 판매하지 않으며 특허조차 내지 않아 정보공개를 하지 않고 있어 TPU에 대한 자세한 정보를 알기는 어렵기 때문입니다.

     

    하지만 우리가 잘 알고있는 알파고에서도 TPU를 통해 구현했다고 하며 구글에서 발표한 논문에 의하면 특정 제한된 조건에서는 GPU보다 10배 이상 빠른 속도를 보인다고 합니다. TPUGPU에 비해 훨씬 많은 연산력을 자랑하며 18년 기준에는 3세대 모델링을 발표하며 성능이 8배나 증가했다는 것을 알렸다고 합니다.

     

     

Designed by Tistory.