딥러닝 임팩트가 온다

지난 2015년 개봉한 영화 채피(Chappie)는 인공지능을 탑재한 로봇 채피가 등장한다. 채피는 스스로 느끼고 생각하고 배운다. 영화 속에 등장하는 로봇은 인공지능의 미래를 보여주는 좋은 예 가운데 하나다. 인공지능이라는 개념이 등장한 건 오래됐다. 인공지능 자체는 지능적 컴퓨터 프로그램을 만드는 과학과 공학이다. 컴퓨터를 이용해 인간 기능을 이해하려는 것이다. 이런 인공지능을 개발하기 위한 기술 가운데 요즘 가장 주목받는 건 바로 딥러닝(deep learning). 구글이나 바이두, 페이스북 같은 IT 서비스 기업이 컴퓨터나 시스템에 인지 능력을 부여하려는 프로젝트에 딥러닝을 활용해 다양한 사례를 연구해 발표하고 있다. ◇ 딥러닝…자가학습이 시작됐다=딥러닝 적용 분야는 광범위하다. 이미지를 분류하거나 물체를 감지하고 위치나 움직임을 인식하기도 한다. 음성 인식과 번역, 자연어 처리 같은 음성 분야는 물론 자율주행 자동차 분야에서도 보행자 감지와 교통신호와 표지판 등을 인식하는 데 이용한다. 그 뿐 아니라 유방암 조직 체세포 분열을 감지하고 체적의 뇌 이미지 분할 등 의학 응용 분야, 심지어 전혀 사용할 것 같지 않은 보안 분야에서도 샌드박스를 활용한 알려지지 않은 위험 요인에 대한 감지와 학습에 딥러닝 기법을 이용한다. 딥러닝이란 인공지능을 구성하기 위한 인공신경망 ANN(Artificial Neural Networks)를 기반으로 해 컴퓨터에게 사람의 사고 방식을 가르치는 방법이다. 사람이 알려주지 않아도 컴퓨터가 스스로 사람처럼 학습하는 자가학습을 더한 인공지능 기술인 것. 딥러닝은 머신러닝의 일부라고 생각하면 된다. 머신러닝은 컴퓨터에게 사람이 직접 로직을 지시하지 않아도 데이터를 통해 컴퓨터가 학습하고 이를 통해 컴퓨터가 알아서 문제를 해결하도록 하는 걸 말한다. 머신러닝은 크게 2가지 방식을 활용해 시스템에 이런 지능을 부여한다. 지도학습(혹은 감독학습. Supervised Learning)과 비지도학습(또는 비감독학습. Unsupervised Learning)이 그것. 쉽게 말하자면 지도학습은 사람이 개입하는 것이고 비지도학습은 사람이 개입하지 않는 자율 학습이라고 생각하면 된다. 여기에서 딥러닝과 모집합 격인 머신러닝의 차이가 갈린다. 머신러닝은 원본 데이터에서 특징을 추출한 다음 분류기로 나눠 시스템이 판단할 수 있는 근거를 제공한다. 하지만 딥러닝은 훈련을 통해 이를 해결한다. 분류기에 사람이 개입하지 않는 자가 학습 결과를 알아서 분류하는 것이다. 비지도학습이나 딥러닝을 통한 자가 훈련에는 모두 엄청난 양의 데이터가 필요하다. 만일 시스템이 이미지를 알아서 인식하게 훈련시키는데 고래 사진을 상어로 인식한다면 딥러닝은 반복 교육을 통해 훈련을 반복한다. 사람의 뇌 신경망은 뉴런이라고 불리는 신경세포가 신호를 전달하는 과정을 거친다. 인공신경망은 이를 모방한 것이다. 앞서 언급한 ANN은 인공 뉴런이 학습을 통해 시냅스의 결합 세기를 변화시켜 문제 해결 능력을 갖게 하는 모델을 말한다. 이를 위해 반복 훈련을 하는 것이다. 딥러닝은 반복 훈련을 통해 내부에 복잡한 기능을 강화, 출력을 예측할 수 있게 된다. 여기에는 심층신경망 DNN(Deep Neural Network)를 통해 충분히 많은 데이터를 이용해 반복 학습을 하면서 원본 데이터에서 상세한 레벨별 특징을 추출해 효율적인 결론을 도출하기 위한 설계를 하게 된다. 덕분에 전통적인 머신러닝은 수작업을 이용해 이런 특징을 추출해야 했지만 딥러닝은 학습과 심층신경망 등을 통한 특징 추출로 계층별 특징을 스스로 이해하게 된다. 물론 심층신경망으로 예를 들어 이미지에 대한 훈련을 시키겠다면 1억 개에 달하는 이미지를 대상으로 10개 레이어로 이뤄진 아키텍처를 이용한다고 하면 훈련 알고리즘은 30엑사플롭스(ExaFlops), GPU를 써도 30일이 걸릴 만큼 방대한 처리가 필요하다. 이를 보완하는 게 바로 나선구조신경망 CNN(Convolutional Neural Network)다. 컴퓨터 시스템이 이미지를 이해하고 추상화된 정보를 추출하도록 하기 위한 것으로 인간의 시각령과 비슷하다고 생각하면 된다. 시각과 같은 계층적 구조를 지니고 있는 것. ◇ 알렉스넷이 보여준 딥러닝의 폭발력=이미지 경진 대회인 이미지넷을 예로 들면 CNN의 장점을 알 수 있다. 이미지넷은 카테고리 1,000개와 이미지 100만 개를 대상으로 이미지에 대한 정확도를 겨루는 대회다. 지난 2012년 기록적인 사건이 이 대회에서 발생했다. 딥러닝 기반으로 이미지 처리를 한 알렉스넷(Alexnet)이 등장, 정확도 84.7%를 기록한 것이다. 이전까지 10여 년 동안 정확도는 75%를 넘지 못했다는 점을 생각하면 딥러닝의 강점을 증명한 예라고 할 수 있다. 알렉스넷은 CNN을 이용해 DNN을 구현한 것이다. 알렉스넷은 당시 엔비디아의 GTX580 3GB 2대에 레이어 8개를 활용해 훈련시키는 데 5∼6일을 소요해 이 같은 결과를 끌어냈다. 알렉스넷은 딥러닝과 동시에 GPU의 역할에 대한 관심을 끌어 모으는 역할도 했다. 하드웨어 성능을 끌어올리면서 2014년에는 구글이 93% 정확도를 기록했고 2015년에는 마이크로소프트가 97%를 기록했다. 오류률로 따지면 인간의 5%를 컴퓨터가 이미 넘어선 것이다. 물론 레이어 수도 계속 늘어 구글은 100개, 마이크로소프트가 우승할 당시에는 152개까지 늘었다. 이렇게 딥러닝이 떠오르게 된 데에는 몇 가지 이유가 있다. 앞서 밝혔듯 딥러닝은 자가 훈련을 한다. 자가 훈련은 분류기를 통한 입력이 아닌 만큼 엄청난 빅데이터가 필수다. 알파고가 하루 100만 판씩 둔 이유도 이런 자가 훈련을 위해서다. 하지만 빅데이터는 많다. 페이스북에는 매일 350만 개에 달하는 이미지가 올라온다. 유튜브에는 분당 100시간에 이르는 영상이 올라오는 시대다. 또 이런 빅데이터를 충분히 끌어 올만한 네트워크 환경도 갖춰져 있다. 여기에 알렉스넷의 예처럼 GPU 컴퓨팅을 활용한 것도 한 몫 한다. GPU 컴퓨팅의 장점은 일단 예측 정확도가 더 좋을 수 있다는 점과 빠른 결과를 기대할 수 있다는 것, 공간 활용도가 높다. 저전력과 저비용도 빼놓을 수 없다. 예로 들면 구글 브레인(Google Brain) 같은 예전 CPU 서버의 경우 CPU 서버 1,000대에 코어는 1만 6,000개, 소비전력은 60만W를 소비하지만 가격대는 50억원대에 달한다. 반면 스탠포드대학 인공지능랩이 구성한 GPU 서버는 3대에 1만 8,432개 코어에 소비전력은 4,000W, 가격은 3,300만원대에 불과했다. ◇ 빅데이터·GPU·클라우드 ‘딥러닝의 3요소’=물론 딥러닝의 성격상 가격이나 전력 소비가 적어도 성능이 떨어지면 소용이 없다. 하지만 같은 이미지 훈련을 기준으로 CPU가 64개 기준으로 훈련에 64초가 걸린다면 GPU는 7.5초 가량에 해결할 수 있다고 한다. 같은 조건에서 CPU보다 8배 이상 성능 차이를 보인다는 것이다. 알파고의 경우 CPU는 개당 1초에 1,000회 이상 시뮬레이션을 하는 역할을 맡았다. 반면 실제 딥러닝을 이용해 바둑판 상태의 승률과 다음 착수 예측을 하는 역할을 한 건 GPU다. 엔비디아는 이런 장점을 앞세워 딥러닝을 위한 GPU 지원 인프라를 확대하고 있다. 하드웨어는 GPU 뿐 아니라 타이탄X GPU 4개를 갖춰 코어 수는 1만 2,000여 개를 갖춘 딥러닝용 솔루션인 디지츠 데브박스(Digits Devbox) 같은 제품도 공급한다. 그 뿐 아니라 GPU 가속에 가장 많이 사용되는 카페(Caffe)나 토치(Torch), 시애노(Theano) 등을 지원하는 GPU 가속 딥러닝 프레임워크인 디지츠(DIGITS), cuDNN, cuBLAS 같은 라이브러리, 병렬 프로그래밍 툴킷인 쿠다(Cuda), GPU 등이 그것이다. 디지츠는 물론 구글 텐서플로우나 음성인식용인 칼디(KALDI), 마이크로소프트의 CNTK(Computation Network Toolkit) 등도 모두 지원한다. 엔비디아는 한걸음 더 나가 4월 4일 미국에서 개최한 자사의 개발자 컨퍼런스인 GTC2016 기간 중에는 세계에서 처음으로 딥러닝 전용 슈퍼컴퓨터를 표방하는 DGX-1도 발표했다. 이 제품은 딥러닝을 위해 만든 전용 시스템이다. 앞서 소개한 디지츠 데브박스는 타이탄X, 그러니까 맥스웰 아키텍처를 기반으로 한다. 하지만 DGX-1은 트랜지스터 집적수만 153억개에 달하는 차기 버전인 파스칼 아키텍처를 바탕으로 한 테슬라 P100 GPU를 적용하는 한편 GPU 개수를 8개로 늘렸다. 디지츠 데브박스로 25시간 걸리던 작업을 2시간 만에 끝낼 만큼 빨라졌다는 설명이다. 이미지 훈련 시간을 예로 들면 일 훈련량은 13억 3,000만 장이다. 그 뿐 아니라 듀얼 제온 시스템과 견주면 듀얼 제온 시스템이 3TFlops인 반면 DGX-1은 170TFlops에 달하는 연산 능력을 발휘한다. 젠슨황 엔비디아 CEO의 설명을 빌리면 250대에 달하는 x86 서버를 합친 처리량을 한 몸에 넣었다는 것. DGX-1은 아키텍처 개선 외에도 NV링크(NVLink)를 이용한 고속 인터페이스 채택, NV링크를 이용해 테슬라 P100을 연결해 단일 노드에서의 애플리케이션 성능을 끌어올린다. 대역폭은 기존보다 5배 늘어나 초당 160GB에 달한다. 또 16nm FinFET 제조공정 도입, 16GB HBM2 고대역폭 메모리를 탑재한 CoWoS(Chip on Wafer on Substrate) 공정 등을 적용했다. 이런 메모리 디자인 덕에 기존 맥스웰 아키텍처보다 720GB/sec, 3배 이상 높은 대역폭을 이용할 수 있다. 그 뿐 아니라 딥러닝 소프트웨어도 함께 제공한다. 디지츠 외에 쿠다 버전5를 지원할 뿐 아니라 앞서 밝혔듯 토치와 카페, 시에노를 비롯한 딥러닝 프레임워크를 이용할 수 있다. 주요 사양을 보면 테슬라 P100 GPU 8개를 갖췄고 GPU당 메모리는 16GB다. 그 밖에 SSD 7TB에 듀얼 10기가비트 이더넷, 3U 3,200W를 곁들였다. 엔비디아는 이 제품을 미국은 6월, 다른 국가는 3분기부터 판매할 예정이다. 이미 자율주행 차량이나 로봇 같은 분야는 물론 구글이 자사 검색엔진에 딥러닝을 적용하는 등 실제 서비스 적용이 늘어나고 있다. 앞으로의 제품이나 서비스 경쟁력이 “뭘 만드냐”보다 “얼마나 똑똑하게 만드냐”가 될 것이라는 점을 생각해보면 딥러닝 적용 분야에 제한은 없을 것으로 보인다.

All about Tech. 사람과 기술, 제품이 만나는 뉴미디어 테크홀릭입니다.
Follow
4.7 Star App Store Review!
Cpl.dev***uke
The Communities are great you rarely see anyone get in to an argument :)
king***ing
Love Love LOVE
Download