2015년 4월 마이크로소프트 리서치팀은 내부 프로젝트로 진행하던 딥러닝 프레임워크 'CNTK(Computational Network Toolkit)'를 오픈소스 형태로 공개했다. 초기 버전의 CNTK는 내부 스크립트인 브레인 스크립트(BrainScript)로만 이용할 수 있었다. 2016년 마이크로소프트 인지 툴킷(Cognitive Toolkit)으로 명칭을 변경하면서 파이썬(Python), 'C++', 'C#' 언어 인터페이스를 제공하기 시작했다.
최근에는 2.x 버전으로 업그레이드되면서 성능 및 사용성이 크게 향상돼, 기존의 딥러닝 라이브러리의 강자들 속에서 어떻게 자리 잡을지 새롭게 주목받고 있다. 구글과 마이크로소프트 모두 클라우드는 매출과 직결되는 중요한 사업 기술이기 때문에 이를 적극 활용할 수 있는 딥러닝 사업을 공격적으로 진행하고 있다.
CNTK는 CPU 전용 모드를 지원하고 있어, 경량 노트북을 이용해 딥러닝을 학습하기 좋다. 단일 GPU와 멀티 CPU뿐 아니라 멀티 머신 지원을 위한 '멀티-머신-멀티-GPU' 활용을 할 수 있다. 이를 이용한 마이크로소프트의 '1-bit 압축(1-bit Compression Technique)'이나 블록 모멘텀 기술(Block Momentum Technique)을 사용하면 드라마틱한 성능 향상을 기대할 수 있다. CNTK는 MIT 라이선스(기술개발에 있어서 환상적인 라이선스라고 생각한다)로 사용에 제약사항이 없으나, '1-bit-SGD(1-bit Stochastic Gradient Descent)'에 대해서는 목적에 따라 일반과 비상용으로 라이선스 정책이 분리돼 있다.
제이슨 김 남경기술 개발자의 CNTK 입문용 가이드와 활용기는 '마이크로소프트웨어 391호(www.imaso.co.kr/archives/1301)'에서 확인할 수 있다.