Tech-Trends

더 쉽고 빠르게 : 딥러닝을위한 다음 단계

IT오이시이 2017. 6. 11. 21:48
728x90

더 쉽고 빠르게 : 딥러닝을위한 다음 단계

Easier, faster: The next steps for deep learning

속도로 진보하는 소프트웨어 프레임 워크, 전용 실리콘, 스파크 통합 및 상위 레벨 API는 딥러닝을 가능하게합니다.



가장 흥분을 불러 일으키는 기계 학습의 하위 집합이있는 경우 인공 지능 의 지능 과 가장 비슷하게 보입니다 . 심층 학습 프레임 워크 (deep neural networks)는 자동화 된 언어 번역에서부터 이미지 식별에 이르기까지 모든 것을 제공하는 복잡한 패턴 인식 시스템입니다.

딥러닝은 체계화되지 않은 엄청난량의 데이터 분석에 유망합니다. 단 3 가지 문제가 있습니다 :하기 어렵고 많은 양의 데이터가 필요하며 많은 처리 능력이 필요합니다. 당연히, 위대한 도전자들은 이러한 도전을 극복하기 위해 노력하고 있습니다.  

이 분야에서 현재 조성되고있는 것은 Google의 TensorFlow와 Baidu 's Paddle 같은 프로젝트와 같은 경쟁적인 심화 학습 프레임 워크 간의 패권의 충돌이 아닙니다. 여러 소프트웨어 프레임 워크 간의 경쟁은 IT의 대부분의 영역에서 주어집니다.

이 기사의 최신 부분은 하드웨어 대 소프트웨어에 관한 것입니다. 차세대 학습의 진보는 모델 교육 및 예측을위한 전용 하드웨어를 통해 이루어질 예정입니까? 아니면 더 좋고, 더 똑똑하고, 더 효율적인 알고리즘이 하드웨어 지원이 필요없이 더 많은 손에 더 많은 힘을 실어 줄 것입니까? 마지막으로, 딥러닝은 우리에게 접근 할 수있게 될 것입니까, 아니면 우리는 항상이 기술을 적용하기 위해 컴퓨터 과학 박사가 필요합니까?


Easier, faster: The next steps for deep learning

Microsoft Cognitive Toolkit : TensorFlow의 긴장감

주요 기술이 세상에 더 좋은 길을 보여줄 때마다 기술 분야에서 가장 큰 이름을 사용하여 파이 조각을 점유하려고합니다. NoSQL, Hadoop, Spark에서 발생한 일이며 이제는 심층 학습 프레임 워크에서 발생합니다. Google의 TensorFlow는 강력하고 일반적인 솔루션으로 홍보되었지만 심층 학습 앱을 Google의 클라우드와 Google의 독점 하드웨어 가속 에 연결 하는 방법 이기도 합니다.

Microsoft에 맡겨 라이벌 역할을 맡으십시오. 심층 학습에서 Google을 상대로 한 밀어 내기는 Cognitive Toolkit (CNTK)의 형태로 제공됩니다. CNTK의 2.0 개정판은 여러면에서 TensorFlow에 도전합니다. 이제 CNTK는 Java API를 제공하여 Spark 처리 프레임 워크와 더 직접적으로 통합 할 수있게되었으며, TensorFlow의 프론트 엔드 인 인기있는 신경 네트워크 라이브러리 Keras 용 코드를 지원합니다. 따라서 Keras 사용자는 Google의 솔루션에서 Microsoft 로의 전환을 원활하게 할 수 있습니다.

그러나 TensorFlow에 대한 Microsoft의 가장 직접적이고 의미있는 도전은 CNTK를 더 빠르고 정확하게 만드는 것이었고 저수준 및 고급 기능을 모두 제공하는 Python API를 제공하는 것이 었습니다. Microsoft 는 TensorFlow에서 CNTK로 전환 할 이유 목록 을 작성 하여 그 이점을 맨 위에 표시했습니다.

속도와 정확성은 단지 자랑거리가 아닙니다. Microsoft의 시스템이 기본적으로 TensorFlow보다 빠르다면 문제의 하드웨어를 더 많이 던지는 것 (예 : TensorFlow의 하드웨어 가속, Google의 맞춤형 (및 독점적 인) TPU 프로세서) 을 사용하는 것보다 더 많은 옵션이 있다는 의미 입니다. 또한 Spark와 같은 TensorFlow 및 CNTK와 상호 작용하는 타사 프로젝트가 향상 될 것임을 의미합니다. TensorFlow와 Spark는 이미 Yahoo의 도움으로 협력하고 있지만, CNTK와 Spark가 더 적은 작업으로 더 많은 보수를 제공하면 CNTK는 Spark가 이미 정복 한 모든 장소에서 매력적인 옵션이됩니다.

Graphcore 및 Wave 컴퓨팅 : 하드웨어라는것

Google TPU의 단점 중 하나는 Google 클라우드에서만 사용할 수 있다는 점입니다. GCP에 이미 투자 한 사람들에게는 문제가되지 않을 수도 있지만 다른 모든 사람들에게는 "다른 모든 사람들"이있을 수 있습니다. 이는 잠재적 차단제입니다. Nvidia의 범용 GPU와 같은 심층적 인 학습을위한 전용 실리콘은 적은 수의 끈으로 연결하여 사용할 수 있습니다.

여러 회사가 최근에 딥러닝 응용 프로그램을 위해 GPU 성능을 능가하는 특수 실리콘을 발표했습니다. Startup Graphcore는 신경망에 사용되는 그래프 데이터를 처리하도록 설계된 특수 학습 프로세서 인 딥러닝 프로세서를 갖추고 있습니다. 이 회사에 따르면, 서로 또는 다른 네트워크로 반복되거나 공급되는 네트워크를 실행하기 위해 최적화 된 하드웨어를 만드는 것이 문제입니다.

Graphcore의 목표 중 하나는 네트워크 모델을 가능한 한 실리콘에 가깝게 유지하고 외부 메모리로의 왕복을 피하는 것입니다. 가능할 때마다 데이터 이동을 피하는 것은 기계 학습 속도를 높일 수있는 공통적 인 접근법이지만 Graphcore는 이러한 접근 방식을 다른 수준으로 끌어 올리고 있습니다.

Wave Computing은 딥러닝을위한 특수 목적 하드웨어를 제공하는 또 다른 신생 기업 입니다. Graphcore와 마찬가지로이 회사는 본래의 한계가 드러나기 전에 GPU가 그러한 응용 프로그램에 대해서만 아직까지 푸시 될 수 있다고 생각합니다. Wave Computing의 계획은 2.9 페타롭의 컴퓨팅 성능을 제공하는 맞춤형 실리콘을 사용하는 랙 마운트 시스템 인 "데이터 플로 어플라이언스"를 구축 하는 것입니다 ( 부동 소수점 연산의 경우 "페타 플롭 "이 아닌 고정 소수점 연산 의 경우 "페타 연산 "에 유의하십시오 ). 이러한 속도는 Google의 TPU가 제공하는 92 테라 논보다 ​​훨씬 큰 수치입니다.

이와 같은 주장은이를 뒷받침하는 독립적 인 벤치 마크가 필요하며, 페타 가격은 다른 솔루션과 경쟁 할 수 있을지 아직 확실하지 않습니다. 그러나 웨이브는 가격을 제쳐두고 잠재 사용자를 잘 지원할 것입니다. TensorFlow 지원은 CNTK, Amazon의 MXNet 및 이후에 따라야 할 다른 제품을 지원하는 최초 의 프레임 워크입니다.

Brodmann17 : 모델 감소, 속도 향상

Graphcore와 Wave Computing은 더 나은 하드웨어를 갖춘 TPU를 1 대 밖에 가지고 있지 않지만 다른 제 3자는 더 나은 프레임 워크와 더 나은 알고리즘이보다 강력한 기계 학습을 제공 할 수 있음을 보여주고 있습니다. 일부는 스마트 폰과 같이 처리 능력에 대한 준비가 부족한 환경을 다루고 있습니다.

Google은 휴대 기기에서 원활하게 작동하도록 TensorFlow를 최적화 하는 것에 대해 소음을 제기했습니다 . Brodmann17 이라는 신생 기업 은 다른 솔루션의 "리소스 (컴퓨팅, 메모리 및 교육 데이터)의 5 %"를 사용하여 스마트 폰 급 하드웨어에서 심층 학습 응용 프로그램을 제공 할 수있는 방법을 찾고 있습니다.

CEO 겸 공동 창업자 인 Adi Pinhas에 따르면이 회사의 접근 방식은 기존의 표준 신경망 모듈을 사용하여 더 작은 모델을 만드는 것입니다. Pinhas는 더 작은 모델은 다른 대중적인 심층 학습 아키텍처에 비해 "교육 데이터의 10 % 미만"이지만 교육에 소요되는 시간은 거의 같다고 말했다. 결과적으로 예측 속도가 빨라지면서 정확성이 약간 상쇄되지만 전력 소비는 줄고 메모리는 적게 필요합니다.

적어도 처음에는 공개 소스로 제공되는 것을 보지 않을 것입니다. Brodmann17의 비즈니스 모델은 클라우드 솔루션 용 API와 로컬 컴퓨팅 용 SDK를 제공하는 것입니다. Pinhas는 "우리는 앞으로 제품을 확대 할 수 있기를 희망합니다."라고 말했기 때문에 상업용 제품 만이 초기 단계 일 수 있습니다.

새로운 불을 피우다.

올해 초 InfoWorld의 기고가 인 James Kobielus는 딥러닝 프레임 워크에서 Spark에 대한 지원 의 증가를  예언 했습니다. Yahoo는 이미 위에서 설명한 바와 같이 TensorFlow를 Spark에 가져 왔지만 Spark의 주요 상용 제공 업체 인 Databricks는 현재  Spark과 딥러닝 프레임 워크를 통합하기 위해 자체 오픈 소스 패키지를 제공하고 있습니다 .

프로젝트가 진행되는 동안 Deep Learning Pipelines 는 Spark 자체 ML 파이프 라인의 관점에서 심층 학습과 Spark의 통합에 접근합니다. Spark 워크 플로는 TensorFlow 및 Keras와 같은 라이브러리를 호출 할 수 있습니다 (현재 CNTK도 가능). 이러한 프레임 워크를위한 모델은 Spark이 다른 작업을 대규모로 수행하는 것과 같은 방식으로 규모를 키울 수 있으며 데이터와 심층 학습 모델 모두를 처리하는 Spark의 자체 메타포를 통해 수행 할 수 있습니다.

많은 데이터 랭글러는 이미 Spark에 익숙하며이를 사용하고 있습니다. Databricks는 딥러닝을 위해 TensorFlow를 자체적으로 파악하지 않고도 이미있는 곳에서 시작할 수 있습니다.

모두를위한 딥러닝?

이러한 발표와 이니셔티브 중 많은 것들을 통해 공통적 인 내용은 Databricks가 자체 보도 자료에 "인공 지능과 데이터 과학을 민주화"한 것처럼, 어떻게 의미가 있는지에 대한 것입니다. Microsoft의 CNTK 2.0 라인은 " AI 기술을 누구나, 어디서나 이용할 수있게 해주는보다 폭 넓은 계획 "이라고 덧붙였다.

딥러닝의 본질적인 복잡성이 극복되어야 할 유일한 장애물은 아닙니다. 딥러닝을위한 전체 워크 플로우는 임시 제작으로 남아 있습니다. 모든 플랫폼, 프레임 워크 및 클라우드의 뒤편에있는 상업용 의류는 엔드 투 엔드 (end-to-end) 솔루션과 비슷한 것으로 채우기 위해 경쟁하고 있습니다. 

다음 중요한 단계는 진정한 딥러닝 틀을 찾는 것이 아닙니다. 그것의 모양에서, 그들 중 많은 것을위한 공간이 있습니다. 여러 가지 심층적 인 학습 프레임 워크가 실행될 수있는 곳이라면 누구나, 그리고 그 뒤에있을 수있는 곳이면 어디서나 하나의 일관된 워크 플로우를 찾을 수 있습니다.


원문 :

http://www.javaworld.com/article/3200268/analytics/deep-learnings-next-steps-custom-hardware-better-frameworks-easier-on-ramps.html

728x90
반응형