본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

'더 쉽고 빠르게' 딥러닝의 다음 행보는?

OSS 게시글 작성 시각 2017-06-13 03:54:47 게시글 조회수 4333

2017년 6월 10일 (토)

ⓒ CIO Korea, Serdar Yegulalp | InfoWorld



머신러닝에서 인공지능의 인텔리전스처럼 가장 큰 관심을 유도하는 하위 기술은 딥러닝(Deep Learning)이다. 딥러닝의 틀인 딥(심층) 신경망은 자동 언어 번역에서 이미지 식별까지 복잡한 패턴을 인식하는 시스템의 기반이다.

Credit: Activedia via pixabay


딥러닝은 비정형 데이터 분석에 큰 잠재력이 있지만, 현재 3가지 문제가 있다. 첫째, 구현이 어렵고, 둘째, 많은 데이터가 필요하며, 셋째, 많은 연산력(처리력)을 사용한다는 점이다. 자연스레 이런 도전 과제를 극복하려는 연구와 노력이 계속되고 있다.

현재 유수 기업들이 딥러닝 프레임워크를 놓고 경쟁하고 있다. 구글의 텐서플로(TensorFlow)와 바이두의 패들(Paddle) 프로젝트를 예로 들 수 있다. 현재 여러 소프트웨어 프레임워크 간 경쟁에 초점이 맞춰져 있다.

그러나 하드웨어와 소프트웨어 간 경쟁도 시작되고 있다. 딥러닝의 '넥스트 빅' 발전은 트레이닝 모델과 예측에 최적화된 전용 하드웨어를 중심으로 실현될까? 아니면 이런 하드웨어 없이도, 더 우수하고 똑똑하며 효율적인 알고리즘이 발전을 주도할까? 마지막으로, 보통 사람들도 딥러닝을 활용할 수 있게 될까? 아니면 컴퓨터 과학 박사가 필요할까?

마이크로소프트 코그너티브 툴킷: 격렬해지는 텐서플로와의 경쟁
더 나은 '길'을 제시하는 주요 기술이 등장할 때마다, 유수 기업들이 파이 한 조각을 차지하기 위해 경쟁을 한다. NoSQL, 하둡, 스파크가 그랬고, 지금은 딥러닝 프레임워크 분야에서 이런 일이 일어나고 있다. 구글은 텐서플로를 강력한 범용 솔루션, 딥러닝 앱을 구글 클라우드와 구글 사유 하드웨어 가속기에 연결할 수 있는 도구로 홍보하고 있다.

이 분야의 경쟁자는 마이크로소프트다. 마이크로소프트는 딥러닝 분야에서 코그너티브 툴킷(CNTK)으로 구글에 도전하고 있다. CNTK 2.0은 여러 측면에서 텐서플로의 도전자가 된다. CNTK는 이제 스파크 처리 프레임워크 등을 직접 통합할 수 있는 자바 API를 제공하고, 텐서플로의 프론트엔드인 케라스(Keras) 같은 인기 신경망 라이브러리용 코드를 지원한다. 케르사 사용자는 쉽게 구글 솔루션 대신 마이크로소프트를 사용할 수 있다는 의미다.

그러나 텐서플로에 대한 마이크로소프트의 도전을 가장 의미 있게 만든 부분은 CNTK를 더 빠르면서 정확하게 만들고, 저수준과 고수준 기능을 지원하는 파이썬 API를 제공하는 것이다. 마이크로소프트는 텐서플로 대신 CNTK를 활용해야 하는 이유를 장점과 함께 목록으로 정리해 제시하고 있다.

속도와 정확성은 단순한 자랑거리가 아니다. 마이크로소프트 시스템이 기본적으로 텐서플로보다 더 빠르다면, 구글 맞춤형(또는 사유) TPU 프로세서를 통한 하드웨어 가속기를 이용하는 것 같이 문제 해결, 더 많은 하드웨어를 투입하는 것 이상의 선택지를 가질 수 있다. 스파크처럼 텐서플로와 CNTK 모두를 지원하는 써드파티 프로젝트에도 도움을 줄 것이다. 텐서플로와 스파크는 야후 덕분에 이미 협력하고 있다. 그러나 CNTK와 스파크를 이용했을 때 적은 노력으로 더 많은 성과를 일궈낼 수 있다면, CNTK가 매력적인 선택지가 될 것이다.

그래프코어와 웨이브 컴퓨팅: 하드웨어의 '그것'
구글 TPU의 단점 중 하나는 구글 클라우드를 사용해야 한다는 것이다. 이미 GCP에 투자한 사람들은 문제가 되지 않는다. 그러나 상당수의 '나머지 사람'들에게 걸림돌이 될 수 있는 부분이다. 엔비디아의 범용 GPU 같은 딥러닝용 전용 하드웨어는 더 적은 제약으로 사용할 수 있다.

최근 몇몇 회사들이 딥러닝 애플리케이션에서 GPU를 능가하는 전용 '실리콘'을 공개했다. 신생 창업회사인 그래프코어(Graphcore)는 신경망에서 사용되는 그래프 데이터를 처리할 수 있는 딥러닝 전용 프로세서를 개발했다. 이 회사에 따르면, 도전 과제는 서로 대화하는 네트워크를 실행하도록 최적화된 하드웨어를 만드는 것이다.

그래프코어는 네트워크를 위한 모델을 가능한 실리콘 가까이 위치시키고, 외부 메모리로의 전송을 피하는 방법으로 처리 속도를 앞당긴다. 머신러닝의 속도를 높이기 위해 많이 사용하는 방법 중 하나가 가능한 데이터를 이동시키지 않는 것이다. 그러나 그래프코어는 이를 새로운 단계로 끌어 올렸다.

또 다른 신생 창업회사인 웨이브 컴퓨팅(Wave Computing)도 딥러닝 전용 하드웨어가 있다. 이 회사는 그래프코어처럼 이런 애플리케이션을 위한 GPU는 본질적인 제약이 드러나는 지점까지만 밀어붙일 수 있다고 생각한다. 웨이브 컴퓨팅은 2.9 petaops의 연산력을 전달할 수 있는 맞춤형 실리콘을 사용해 '데이터플로우 어플라이언스' 랙마운트 시스템을 구축할 계획이다(주: 고정 소수점 연산은 ‘페타옵(petaops)’, 부동 소수점 연산은 ‘페타플롭(petaflops)’임). 이는 구글 TPU가 제공하는 92테라옵(teraops)를 훨씬 능가하는 속도다.

물론 독립적인 벤치마크를 통해 이런 주장이 사실인지 확인해야 한다. 또 아직은 페타옵 당 가격이 다른 솔루션에 비해 경쟁력이 있는지 확실하지 않다. 그러나 웨이브는 가격과 상관없이 잠재적인 사용자가 있을 것으로 확신하고 있다. 이 제품은 텐서플로부터 시작해 CNTK, 아마존 MXNet 등을 지원할 예정이다.

브로드맨17: 더 작은 모델, 더 빠른 속도
그래프코어와 웨이브 컴퓨팅은 더 나은 하드웨어로 TPU를 강화한다. 반면 더 나은 프레임워크와 알고리즘으로 더 강력한 머신러닝을 구현하는 방법을 입증하려는 회사들도 있다. 일부는 스마트폰처럼 연산력(처리력)이 부족한 환경에 초점을 맞추고 있다.

구글은 모바일 기기에서 텐서플로를 이용할 수 있도록 최적화하겠다고 발표해 반향을 일으켰다. 신생 창업회사인 브로드맨17(Brodmann17) 또한 다른 솔루션에서 사용하는 리소스(컴퓨팅, 메모리, 트레이닝 데이터)의 5%만 사용, 스마트폰'급' 하드웨어에 딥러닝 애플리케이션을 전달하는 방법을 찾고 있다.

이 회사를 공동 창업한 CEO 아디 피나스는 기존의 표준 신경망 모듈로 더 작은 모델을 만드는 방법이라고 설명했다. 피나스는 더 작은 모델이란 다른 인기 딥러닝 아키텍처와 비교했을 때, 트레이닝에 필요한 데이터의 10% 이하를 사용하는 모델이라고 설명했다. 그렇지만 트레이닝에 필요한 시간은 동일하다. 속도를 위해 정확성을 조금 희생시킨다. 예측 시간이 더 빠르다. 또 전력 소모량과 필요한 메모리도 적다.

이 기술이 (최소한 처음에는)오픈소스로 제공될 것을 기대하지 말기 바란다. 브로드맨17의 비즈니스 모델은 클라우드 솔루션과 로컬 컴퓨팅에 각각 API와 SDK를 제공하는 것이다. 피나스는 "미래에는 시장을 넓힐 수 있기 희망한다"고 말했다. 그러나 처음에는 상용 제품만 공급될 전망이다.

새로운 불꽃
올해 초, <인포월드(InfoWorld)>의 제임스 코비러스 기자는 많은 딥러닝 프레임워크가 스파크를 기본 지원하게 될 것이라고 내다봤다. 야후가 이미 텐서플로를 스파크로 가져왔다. 그러나 주요 스파크 공급업체인 데이터브릭스(Databricks)가 딥러닝 프레임워크와 스파크를 통합할 수 있는 고유의 오픈소스 패키지를 공급하기 시작했다.

딥러닝 파이프라인스(Deep Learning Pipelines)라는 프로젝트는 이름처럼 스파크 ML 파이프라인의 관점에서 딥러닝과 스파크를 통합하는 접근을 하고 있다. 스파크 워크플로우를 텐서플로와 케르사처럼 라이브러리로 호출할 수 있다(이제는 아마 CNTK도 가능). 이런 프레임워크를 위한 모델을 스파크가 다른 기술에 하는 것처럼 대규모로 트레이닝시킬 수 있다. 또 스파크 식으로 데이터와 딥러닝 모델을 처리한다.

스파크에 친숙한 데이터 전문가가 많다. 데이터브릭스는 이들의 손에 딥러닝을 쥐여주는 방법을 통해, 텐서플로가 아닌 기존 입지를 출발점으로 삼을 수 있다.

모두를 위한 딥러닝?
이런 이니셔티브에는 공통점이 있다. 데이터브릭스는 보도 자료에서 이를 "인공지능과 데이터 과학의 '대중화'"라고 표현했다. 마이크로소프트 역시 CNTK 2.0과 관련, "모든 사람이 어디에서나 AI 기술을 이용할 수 있도록 만드는 광범위한 이니셔티브의 일부"라고 설명했다.

극복해야 할 장애물은 딥러닝의 본질적인 복잡성에 그치지 않는다. 딥러닝을 위한 전체 워크플로우가 여전히 '애드-혹(Ad-hoc)'이다. 채워야 할 공간이 있다. 이런 플랫폼과 프레임워크, 클라우드 이면의 기업들은 엔드-투-엔드(종단간 또는 완전한) 솔루션과 유사한 것으로 이를 채우기 위해 경쟁하고 있다.

진짜 딥러닝 프레임워크를 찾는 것이 다음 단계는 아닐 것이다. 프레임워크를 위한 자리는 많다. 실행되는 장소, 실행하는 사람과 상관없이 많은 딥러닝 프레임워크가 일부가 될 수 있는 하나의 일관된 워크플로우를 찾는 것이 중요하다.



※ 본 내용은 한국IDG(주)(http://www.itworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒITWORLD. 무단전재 및 재배포 금지


[원문출처 : http://www.ciokorea.com/news/34246]

맨 위로
맨 위로