2017.06.09

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

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



딥러닝은 비정형 데이터 분석에 큰 잠재력이 있지만, 현재 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 등을 지원할 예정이다.

2017.06.09

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

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



딥러닝은 비정형 데이터 분석에 큰 잠재력이 있지만, 현재 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 등을 지원할 예정이다.

X