마이크로소프트(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 기반의 하드웨어 설계를 공개했지만 구글과 마이크로소프트에 비하면 조금 밀리는 것 같습니다. 언젠가 페이스북이 발표할 그 무엇을 기대해 봅니다.

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

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

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

    1. 로드홈 Post author

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

      Like

      Reply
  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 person

    Reply
  4. kdi

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

    Liked by 1 person

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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