마이크로소프트(Microsoft), 바이두(Baidu)도 딥러닝 프레임워크를 오픈소스로 공개했다.

작년 말에 마이크로소프트가 머신러닝 툴킷 DMTK를 공개하였습니다.

https://tensorflowkorea.wordpress.com/2015/11/16/마이크로소프트-머신러닝-툴킷-dmtk-오픈소스로-배포/

이에 이어 딥러닝 프레임워크 CNTK(Computational Network Toolkit)를 오픈 소스로 공개하였습니다. CNTK는 마이크로소프트가 코타나(Cortana)나 Skype 번역 어플리케이션에 사용하는 인공신경망 알고리즘 프레임워크로 구글의 텐서플로우(TensorFlow)에 대응하는 제품이라고 볼 수 있습니다.

http://www.wired.com/2016/01/microsoft-tries-to-one-up-google-in-the-open-source-ai-race/

놀라운 것은 CNTK 가 구글의 텐서플로우와는 다르게 완전 무료라는 점 입니다. 수정, 복사는 물론 재배포, 판매까지 상업적이던 아니던 아무런 제약없이 사용할 수 있습니다. 사실 구글의 텐서플로우를 상업적 목적으로 사용하기에는 라이센스에 제약이 있다는 점을 잘 파고든 것 같습니다.

https://github.com/Microsoft/CNTK

마이크로소프트 과학자의 말을 인용하면 구글이 공개한 텐서플로우 버전을 여러개의 머신에서 병렬로 딥러닝을 수행하기에는 부족하다고 합니다. 토치(Torch) 프레임워크를 제외하고는 CNTK가 거의 유일한 대규모의 인공신경망 분석을 할 수 있는 완제품 이라고 합니다. 현재는 C++ 만을 지원하지만 곧 Python 을 지원할 계획이라고 합니다.

또 불과 일주일 전에는 중국의 최대 검색엔진인 바이두(Baidu)의 AI 랩에서 Warp-CTC(Connectionist Temporal Classification) 라는 CTC 교사학습(Supervisored Learning) 알고리즘을 구현한 소프트웨어를 공개하였습니다.

https://github.com/baidu-research/warp-ctc

2년전 구글의 딥러닝 프로젝트를 이끌던 스탠포드 대학교의 앤드류응(Andrew Ng) 교수가 바이두 AI 랩 수장으로 옮긴 일이 화제가 되기도 했었습니다. 아마도 바이두는 머신러닝 주도권 싸움이 구글과 마이크로소프트간의 경쟁으로만 남게 두지는 않을 것 같습니다.

자 다음에는 누구 차례일까요? 아마도 페이스북이 아닐까 합니다. 물론 딥러닝을 위한 GPU 기반의 하드웨어 설계를 공개했지만 구글과 마이크로소프트에 비하면 조금 밀리는 것 같습니다. 언젠가 페이스북이 발표할 그 무엇을 기대해 봅니다.

마이크로소프트(Microsoft), 바이두(Baidu)도 딥러닝 프레임워크를 오픈소스로 공개했다.”에 대한 6개의 생각

  1. 핑백: 텐서플로우(TensorFlow)의 병렬 처리 버전이 곧 나온다. | 텐서플로우 코리아 (TensorFlow Korea)

  2. 핑백: The Expanding Universe of Modern AI | 텐서플로우 코리아 (TensorFlow Korea)

    1. 로드홈 글의 글쓴이

      글의 내용이 약간 오해가 있을 수 있는데요. 텐서플로우를 상업용으로(즉 비즈니스를 위해) 사용할 수 있습니다. 하지만 텐서플로우 코드를 조금 수정해서 재 판매를 할 경우에는 기존 코드베이스는 아파치 2.0 을 그대로 따라야 하며 이를 고지해야 합니다. 만약 고지하지 않고 판매하거나 라이센스를 변경하면은 도둑질이라고 하네요(http://www.apache.org/foundation/license-faq.html#Distribute-changes). 하지만 CNTK는 완전 자유입니다. CNTK 소스의 라이센스를 상용으로 바꾸어 아프리카에 가서 팔아도 문제가 되지 않죠(https://github.com/Microsoft/CNTK/blob/master/LICENSE.md). ^^

      좋아요

      응답
  3. kdi

    감사합니다.
    올려주신글을 수개월전에 보고. 상업용으로 사용 불가능한줄알고(듀얼라이센스 정책) MS CNTK쪽을 심각하게 고려하고있었습니다. https://tensorflowkorea.wordpress.com/2016/04/05/%ED%85%90%EC%84%9C%ED%94%8C%EB%A1%9C%EC%9A%B0tensorflow%EC%9D%98-%EB%B3%91%EB%A0%AC-%EC%B2%98%EB%A6%AC-%EB%B2%84%EC%A0%84%EC%9D%B4-%EA%B3%A7-%EB%82%98%EC%98%A8%EB%8B%A4/
    위에 PNNL과 CNTK 병렬처리는 MPI로 처리하네요…

    Liked by 1명

    응답
  4. kdi

    딥러닝쪽 알아보면서… 골랐던 기준이..
    1. 수정가능하고 소스 오픈하지 않느냐?
    2. 상업용으로 사용 가능하냐?
    3. 병렬처리가 가능하냐?
    4. GPU 사용가능하냐 인데…
    텐서플로우, CNTK, Apache Spark에 라이브러리 임포트할 수 있는 deeplearning4j쪽을 검토중입니다.
    글 올려주셔서 감사합니다.

    Liked by 1명

    응답

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.