1989년 얀 르쿤이 우편물의 손 글씨를 인식하는 컨볼루션 신경망을 소개했을 때, 10개의 숫자를 인식하기 위한 학습은 거의 3일이 걸렸다. 사양에 따라 다르겠지만 현재의 개인 노트북에서는 수 분이면 학습을 마칠 수 있다.
IBM의 ‘씽크패드 700’은 1992년 10월에 출시되자마자 곧 매진돼, 당시 미국 대통령이었던 부시조차 IBM CEO에게 개인적으로 부탁해서 구매한 일화로 유명했던 하이엔드급 노트북이었다. 씽크패드 700는 20MHz 클럭의 CPU를 탑재하고 기본 메모리가 4MB, 하드디스크가 120MB였는데, 2010년의 노트북들은 2GHz대의 클럭과 4GB의 기본 메모리, 500GB 이상의 하드디스크를 탑재하고 있었다. 기본 메모리만도 1,000배 정도 커졌지만, 아키텍쳐, 코어 수, 스레딩 기술과 캐시 크기 등의 모든 요소를 고려할 때 CPU의 연산 속도는 거의 5000배 가까이 빨라졌다고 본다.
이렇게 1990년대와 2010년대의 비교할 수 없을 만큼 향상된 컴퓨터 성능은 대용량 데이터 처리에 있어서 대단히 크고 긍정적인 영향을 줬다. 그것은 대용량의 데이터를 기반으로 알고리즘이 작동하는 머신러닝과 딥러닝 모델을 학습하고 훈련하는 데 필수적인 능력을 갖추게 해줄 수 있다는 의미였다.
이런 컴퓨팅 성능의 발전은 기울기 소실 문제의 완화에 어느 정도 도움이 됐다. 다른 한편으로 제한된 컴퓨팅 리소스로 인해 이론에 기반한 연구에 중점을 둘 수밖에 없었던 이전에 비해, 더 많은 연구자가 실제 학습 수행을 통한 연구를 수행할 수 있게 해 줬고 더 빨리 연구 결과를 확인할 수 있게 해 줬다. 특히 2006년에 구글과 아마존, 2008년에 마이크로소프트가 선보인 클라우드 서비스는 대규모 데이터의 처리와 분석을 위한 자원을 더욱 효과적으로 이용할 수 있게 해주며 딥러닝 모델을 구축하고 배포하는 데 큰 도움을 줬다.
하드웨어의 발전에서 빼놓을 수 없는 또 하나는 GPU다. GPU(Graphics Processing Unit)는 원래 컴퓨터에서 그래픽 연산을 빠르게 처리하도록 하는 연산 장치로, 게임 프로그램의 발전에 따라 기존에 CPU가 처리하던 3D 그래픽 처리를 전용으로 수행해 줄 수 있는 연산 장치의 요구가 높아지면서 발전했다.
컴퓨터 그래픽과 이미지 처리에 매우 효율적인 GPU는 고도의 병렬 처리 구조로 돼 있어서, 단순하지만 대규모인 행렬의 계산, 벡터 연산이 필요한 프로그램에서는 복잡한 연산 처리를 하는 CPU보다 더 높은 성능을 얻을 수 있다. 그래서 CPU를 몇명의 아주 똑똑한 수학자로, GPU를 기본 연산이 가능한 수천명의 중고등 학생으로 비유하기도 한다.
딥러닝 모델의 핵심 연산은 행렬 연산이며, 특히 신경망에서 가중치와 입력 데이터 간의 연산은 반복적인 행렬 연산으로 이뤄져 수백만에서 수조개로 이루어진 덧셈과 곱셈 등의 아주 간단한 수식 계산을 수천번 이상 하는 과정이다. 이는, 과거에는 불가능하다고 여길 정도의 연산량이었다. 그런데, GPU의 데이터 처리방식이 AI와 같은 대규모의 연산 처리에 적합하다는 것이 알려지면서 CPU가 맡았던 연산을 GPU에 사용해 시스템 전체의 연산 속도를 향상하는 GPGPU(General Purpose computing on GPU) 기술이 발전했다.
이전까지도 그래픽 프로세서나 GPU가 없었던 것은 아니지만, 신경망이 GPU의 도움을 받기 시작한 시점은 엔비디아가 세계 최초의 GPU라고 마케팅하며 출시한 ‘지포스(GeForce) 256’이 대중화된 1999년으로 볼 수 있다. 원래 CPU와 GPU는 서로 다른 목적의 용도를 갖고 있었다.
CPU가 컴퓨터 작업의 전반을 수행하는 반면, GPU는 디스플레이에 그림을 더 빨리 그려주는 그래픽 가속기로서의 목적으로만 사용됐다. 그런데 GPU를 프로그래밍하는 것이 가능해지면서, 다양한 시도를 해보는 연구자들에 의해 그래픽 가속기를 수학적 계산에 활용하는 작업이 이뤄졌다.
초기에는 경로 찾기나 생물학, 건축과 예술 등의 분야에 사용되는 보로노이 다이어그램(Voronoi diagram) 그리기 작업을 가속하기 위해 GPU를 활용했다. 이렇게 CPU의 연산을 GPU에게 맡겨 GPU가 범용 컴퓨팅에 직접 사용하는 것을 GPGPU라고 했다. 그 당시에 GPU 자원을 직접 접근하고 제어하는 방법으로 OpenGL이나 Direct3D와 같은 그래픽 API를 이용하는 방법이 있었지만, 그래픽 전문가가 아닌 사람들에게는 GPGPU의 활용은 상당히 어려운 작업이었다.
그런데 2003년 스탠포드대학교에서 ‘브룩GPU(BrookGPU)’라는 소프트웨어 개발 도구를 공개하면서 GPU 자원에 대한 접근이 크게 단순화됐고, 이는 일반 개발자들에게 GPGPU 개념 대중화에 큰 역할을 했다. 하지만 브룩GPU는 GPU 제조사가 직접 제공하는 개발 도구가 아니었기에 작업 부하의 최적화를 달성할 수 없었고, 특히 제조사가 게임 등의 최적화를 위해서 하드웨어나 소프트웨어 드라이버를 업데이트하면 호환성에 문제가 생길 수도 있었다.
다른 한편, 브룩GPU는 GPU 제조사이던 엔비디아나 ATI의 관심을 끌기에 충분했고, GPU의 활용 시장 확대의 가능성을 제시해 줄 수 있었다. 그래서 엔비디아는 GPU 기술을 바탕으로 브룩GPU 연구원들을 합류시켜, GPU를 그래픽 가속기만이 아닌 GPGPU로도 활용할 수 있는 API를 공급하며 하드웨어와 소프트웨어를 모두 공급하게 됐다. 그 API 소프트웨어가 쿠다(CUDA, Compute Unified Device Architecture)이며, 이런 설계 구조는 대용량 데이터를 병렬로 처리하는 알고리즘에서 CPU보다 더 효과적인 것으로 드러나며, GPU가 본격적으로 딥러닝 분야에 활용됐다.
신경망 학습에 GPU가 활용되며 딥러닝에 사용되는 복잡하고 수많은 행렬 연산에 드는 시간을 크게 단축해 줬다. 이는 당시 강력한 경쟁자였던 서포트 벡터 머신과 같은 다른 머신러닝과 동일한 데이터를 사용할 때, 신경망으로 충분히 경쟁할 수 있거나 더 나은 성능을 보여줄 수 있었다.
2005년에는 마이크로소프트 연구소의 개발자들이 음성인식 기술의 시제품에 GPU를 활용하는 아이디어를 시도했다. 2009년에는 스탠포드대의 앤드류 응 교수 팀이 GPU를 대규모 심층 신경망 비지도 학습에 도입, 듀얼 코어 CPU보다 최대 70배 빠른 학습을 할 수 있었다는 논문을 발표해 큰 관심을 받았다. 2011년에는 유르겐 쉬미트후버가 GPU를 활용한 병렬 컴퓨팅 환경에서 컨볼루션 신경망의 처리 속도를 극적으로 높여, 그간의 손글씨(MNIST) 인식 기록을 모두 깨뜨리는 강력한 성능을 보여줬다.
이렇게 신경망 연구자들 사이에서는 학습에 GPU를 활용하는 것에 대한 연구가 활발히 일어나고 있었지만, 전체적인 머신러닝 및 AI 연구계에서는 GPU의 활용이 상당히 제한적이었다. 그 사례로 2009년 제프리 힌튼 교수가 마이크로소프트에서 음성인식 프로젝트 자문을 할 때나 2010년 힌튼의 제자가 구글의 음성인식 프로젝트를 진행할 때 모두 GPU 구매 결정을 얻어내기까지 어느 정도 어려움을 겪었다.
그런데 이런 상황을 확실하게 뒤집고 딥러닝에서 GPU를 활용하는 것이 표준적인 방법으로 자리 잡게 하는 사건이 2012년에 일어났다. 2012년 이미지 인식 대회(ILSVRC)에서 GPU로 학습한 힌튼 교수 팀의 알렉스넷이 월등한 실력 차이로 우승한 것이다. 이후 딥러닝은 AI와 머신러닝 연구계에서 주류가 됐고, GPU는 딥러닝의 혁명적 변화를 일으킨 중요한 하나의 요소로 자리 잡게 됐다.
이미지 인식 대회와 알렉스넷에 관해서는 뒤에서 다시 이야기한다. 결국 1990년대부터 20여년간의 컴퓨터 하드웨어의 획기적인 발전과 GPU의 활용 범위 확장은 2010년대 딥러닝 활성화의 세번째 배경 요인이 됐다.
이렇게 20년간 발전해 온 알고리즘과 하드웨어 그리고 대규모 데이터의 확보는 2010년대 딥러닝이 산업 전 분야로부터 주목받고 활성화하게 된 큰 배경이 됐다. 이런 달라진 환경에서 딥러닝의 발전 가능성을 엿본 새로운 투자의 바람, 그에 따라 늘어난 사회적 관심과 연구 인력의 확대, 그리고 그런 환경에서 개발된 접근 가능한 딥러닝 도구의 대중화도 딥러닝 붐에 한몫했다.
이전까지의 DARPA를 포함한 정부 기관의 지원에 의존해 오며 정책 방향에 따라 큰 영향을 받은 AI 연구에 많은 기업과 투자자 그리고 민간이 시장에 참여하면서 좀 더 안정적이고 다양한 지원을 받을 수 있게 됐다. 2010년 이후 구글의 DNN 리서치와 딥마인드 인수와 함께 벤처 캐피털의 AI 분야 투자금도 대폭 증가했는데, 2010년부터 8년간 24배 가까이 증가했다.
애플의 시리 인수를 포함해 애플이 9억 달러를, 구글이 40억 달러, 페이스북이 10억 달러를 AI 스타트업 인수에 쓰면서 AI 연구자들과 스타트업의 증가도 엄청난 속도를 보였다. 또 텐서플로, 파이토치 같은 AI 프레임워크 공개와 파이썬 언어의 활용 등으로 일반인들조차 높은 수준의 딥러닝을 구현하기가 어렵지 않은 환경까지 조성되며, 딥러닝은 사회 전반적인 관심을 누리기 시작했다.
문병성 싸이텍 이사 moonux@gmail.com
