비전공자도 이해할 수 있는 AI 지식4 -GPU가 인공지능을 완성하다-

1. 무어의 법칙 -시간이 지나면서 반도체의 성능은 계속 증가-

 

1989년 얀 르쿤이 신경망으로 우편번호를 인식하려고 했을 때 고작 10개의 숫자를 인식하기 위해 모델을 학습하는데만 거의 3일이 걸렸다.

 

당시 신경망 구조는 지금과 크게 다르지 않았고 성능 또한 뛰어났지만 시스템만큼은 지금과는 큰 차이가 있었다.

 

인텔의 공동 창업자 고든 무어는 1965년 무어의 법칙을 내놓았다. 

 

반도체 집적회로의 성능은 2년마다 2배씩 증가한다는 것으로 이 법칙은 오랫동안 컴퓨터 발전사에 통용되어온다.

 

얀 르쿤의 1989년 신경망 첫 실험과 2021년의 시스템 사이에 약 32년간의 시간차이가 있었는데, 단순 무어의 법칙에 의해 65536배의 성능 증가가 있었다.

 

3일이 걸렸던 학습 과정을 2021년에는 4초만에 끝낼 수 있었다는 소리

 

이와 같이 시스템의 발전은 딥러닝이 급속도로 발전하는 데 큰 역할을 했다.

 

이뿐만이 아니라 전혀 예상하지 못했던 분야에서 또 다른 시스템이 인공지능의 폭발적인 성장에 기여했다.

 

미국의 GPU 제조업체인 엔비디아가 1998년 리바 TNT라는 그래픽 카드를 출시했다.

 

당시 3dfx 부두 시리즈가 대세였지만 폭발적인 성능으로 리바 TNT는 게이머들의 마음을 사로잡았다. 

 

멈추지 않고 1999년 지포스 그래픽 카드를 출시하면서 "세계 최초의 GPU(Graphic Processing Unit)"라고 홍보하면서 사실상 이 시장을 독주하면서 지금에 이르게 되었다.

 

3D 가속 카드라고도 불리는 이 회사에서 만드는 게임 그래픽 카드는, 도대체 인공지능과 무슨 관련이 있을까?

 

 

2. 게임 그래픽 카드는 어떻게 동작할까

 

3차원 그래픽을 표현하기 위해 먼저 3차원 공간에 좌표를 설정

 

이 공간에 점을 찍고 직선으로 이으면 기본적인 도형 형태가 드러난다.

 

그 다음에는 도형의 내부를 채운다.

 

마치 컬러링 북에 색을 칠하는 과정과 비슷하다.

 

그런데 칠해야 할 지점이 수백만 개는 되고, 초당 수백 번은 새로 그려야한다. 아무리 빨리 칠한다고 해도 적지 않은 시간이 소요된다.

 

하지만 이 과정을 차례대로 진행할 필요가 있을까?

 

붓 하나는 왼쪽을 칠하고, 다른 붓 하나는 오른쪽을 칠하는 식으로, 혹은 붓 한두개만 쓰는 것보다 붓을 여러개 한꺼번에 사용해서 칠한다면 훨씬 더 빨리 끝날 것이다.

 

게임 그래픽 카드는 이처럼 바로 수천 개의 붓을 한꺼번에 손에 쥐여주는 역할을 한다.

 

대신 빠르게 칠할 수 있는 붓은 아니다. 하나하나만 놓고 보면 빠르게 칠하기 어려운 저렴한 붓이지만

 

수천 개를 한꺼번에 칠할 수 있으니 전체적으로는 색칠 작업을 훨씬 더 빨리 끝낼 수 있게 된다.

 

 

3. CPU와 GPU

 

컴퓨터의 두뇌가 CPU이면 게임 그래픽 카드의 두뇌는 GPU이다.

 

CPU가 성능이 좋은 비싼 코어를 몇 개 장착한 구조라면 GPU는 상대적으로 성능이 떨어지는 저렴한 코어를 엄청나게 많이 꽂아둔 형태이다.

 

 

2020년에 나온 엔비디아의 게임 그래픽 카드인 RTX3080은 이런 코어를 8700개 가지고 있다.

 

인텔의 최신 CPU인 코어 i7 프로세서의 코어가 8개인 것에 비하면 엄청난 차이가 있다.

 

코어 각각의 성능은 떨어지지만 개수 차이가 워낙 많이 나서 GPU는 전체 작업을 더 빨리 처리할 수 있게된다.

 

이를 병렬연산이라고 하는데 하나하나가 빠르지는 않지만 많은 작업을 동시에 진행하므로 결과적으로는 더 빨리 처리할 수 있게 된다.

 

 

4. 엔비디아, CUDA 발표

 

2004년 엔비디아는 게임뿐만 아니라 다양한 분야에서 GPU를 활용하도록 CUDA(Compute Unified Device Architecture) 플랫폼을 발표했다.

 

마이크로소프트의 DirectX 이후 윈도우 게임 시대의 포문을 열렸듯이 엔비디아의 CUDA 이후 GPU를 이용한 병렬연산의 시대가 열렸다.

 

CUDA 이후 병렬연산이 필요한 대부분의 과학 계산에는 엔비디아의 GPU가 이용되었다.

 

사실상 경쟁자가 없었으며 엔비디아의 독점이 시작되었다.

 

GPU는 엔비디아만 만들 수 있는 것은 아니지만, 엔비디아가 독점하는 이유 중 하나가 CUDA의 존재때문이다.

 

모든 딥러닝 라이브러리가 사실상 CUDA를 우선으로 지원하면서 CUDA의 지원 또한 매우 강력하므로 CUDA를 지원하지 않는 다른 회사의 GPU는 사용하기 어렵다.

 

마치 모든 게임이 윈도우를 지원하고, 윈도우에는 DirectX가 있어서 윈도우 OS를 사용할 수 밖에 없는 것과 비슷하다.

 

처음부터 인공지능에 GPU가 활용된 것은 아니다.

 

초기에는 과학자들이 주로 사용하는 기초 과학 계산 도구였지만 인공지능 연구자가 인공신경망이 대규모의 병렬연산에 적합한 구조라는 것을 발견하면서 GPU가 활용되기 시작했다.

 

인공 신경망은 단순히 수많은 노드 간의 단순 계산이 반복되는 구조였으며 이는 단순 계산을 한꺼번에 많이 처리하는 GPU의 특징과 잘 맞아떨어졌죠

 

2009년 스탠퍼드대학교에서 인공 신경망에 GPU를 도입한 논문을 처음 발표했다.

 

icml09-LargeScaleUnsupervisedDeepLearningGPU.pdf (stanford.edu)

 

이 논문에서 매개변수가 1억개 일때 GPU를 사용했더니 70배나 빠르게 학습할 수 있었다고 한다.

 

이후 너나 할 것없이 인공 신경망에 GPU를 빠르게 도입하였다.

 

그 후 2012년에 힌튼 교수팀이 이미지넷 대회에서 GPU로 인공 신경망을 구현하면서 압도적인 성과를 거두게 되었다.

 

그 후 GPU는 딥러닝의 핵심 하드웨어로 급부상하였다.

 

엔비디아는 GPU 하나만으로 반도체, 스마트폰, 가전제품등 다양한 사업을 수행하는 삼성전자의 시가총액을 훨씬 뛰어넘고 있다.

 

누군가는 게임 그래픽 카드만으로 삼성전자를 뛰어넘다니, 게임 시장이 크긴 크나보네라고 생각할 수 있지만, 지금 엔비디아는 딥러닝, 블록체인을 위한 핵심 하드웨어를 공급하는 회사로 더 유명하다.

 

 

 

 

 

 

 

 

 

 

 

 

 

TAGS.

Comments