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