마이크로소프트(MS)가 인공신경망(neural networks)을 정의하고 학습시킬 수 있는 소프트웨어 '코그너티브툴킷(CNTK)' 새 버전을 오픈소스로 풀었다.
MS는 1일(현지시간) 공식 블로그를 통해 회사의 인공지능(AI) 분야 성취에 쓰여 온 툴킷을 오픈소스 라이선스로 대중에게 공개했다고 밝혔다. 기존 명칭인 CNTK 대신 '마이크로소프트 코그너티브툴킷(Microsoft Cognitive Toolkit)'이란 이름을 내걸었다.
CNTK는 지난해 10월 베타 버전으로 배포됐다. 세계 각지 기업과 조직이 인공신경망을 정의하고 학습시키는 데 활용됐다. 인공신경망은 기계가 인간 뇌 학습을 흉내낸 방식으로 특정한 작업을 해내도록 배울 수 있는 시스템을 가리킨다.
MS가 오픈소스로 푼 CNTK는 2.0 버전이다. 기존 CNTK 베타 버전 등장 이래 추가된 수백개 신기능을 비롯해 프로덕션 수준, 엔터프라이즈 수준 딥러닝 워크로드 영역에 쓸 수 있는 온전한 배포판이라고 MS 측은 강조했다. 기업들이 딥러닝 기술을 활용하고 더 광범위한 AI 생태계와 통합시키는 일을 도울 거라고 덧붙였다.
CNTK 2.0 버전은 오픈소스 라이브러리 케라스(Keras)를 지원한다. 케라스는 딥러닝 애플리케이션 개발자에게 인기가 많은 인공신경망 라이브러리다. 개발자는 케라스를 사용해 작성한 코드를 고치지 않고 CNTK 2.0 버전을 사용할 수 있다. 이 지원 기능은 퍼블릭 프리뷰 단계다. 엔비디아 기술도 지원한다. 엔비디아 딥러닝SDK 최신버전과 엔비디아 볼타 그래픽처리장치(GPU) 아키텍처를 사용한 학습 과정을 가속한다. 새 버전은 모델 평가를 위한 자바 언어 바인딩 추가, 학습 모델을 스마트폰용 이미지인식처럼 리소스가 제한된 기기에서도 실시간으로 구동할만큼 압축할 수 있는 새로운 툴도 포함하고 있다.
■"환경보호·질병진단"…기존 CNTK 활용 사례
과거 배포된 CNTK는 미국 메릴랜드주 체사피크 환경보호위원회는 MS 연구자들과의 협력에 쓰였다. 이들은 '랜드 커버 데이터 프로젝트'를 진행했다. 1미터 단위 해상도의 최신 토지정보 데이터 제작을 위해 인공신경망을 정의하고 학습시킨 일이었다. 이 정보는 우선 체사피크만의 환경보호와 회복에 쓰인 이후 워싱턴D.C.와 6개 주의 6만4천평방마일 규모 지역에 걸쳐 활용된다.
해당 프로젝트의 데이터셋은 기존 30미터 단위 해상도 데이터셋보다 900배 많은 정보를 담았다. 매달 데이터를 입력받아 생성할 이미지를 처리할 AI가 필요했다. 연구자들은 큰 시간 소요 없이 이런 업무 절차의 결과물에 준하는 품질의 지도를 만들어내는 새로운 인공신경망를 만들어 단일 알고리즘에 녹여냈다. 이 AI 기술은 국가와 세계 환경보호활동으로 확대 적용될 수 있다.
중국 의료정보 스타트업 '에어닥(Airdoc)'은 MS애저 클라우드서비스와 코그너티브서비스, CNTK를 사용해 당뇨병성 망막증을 빠르고 정확하게 진단하는 기술을 개발하고 있다. 이 병은 적절한 치료를 받지 못한 당뇨병 환자에게 시각장애를 야기할 수 있는 합병증인데 환자의 망막 촬영 사진을 통해 진단된다.
■"입문자부터 고수까지 모든 AI 앱 개발자에게 유용할 것"
MS는 당초 CNTK를 심층신경망(deep neural networks)과 다른 머신러닝 모델 학습 가속을 위해 만들었다. MS 연구자와 엔지니어들이 빙 검색엔진의 '비디오 서치'나 사람의 대화에서 들리는 단어를 알아차릴 수 있는 '발화 인식 시스템'같은 애플리케이션을 개발하기 위해 사용했다.
MS는 소규모 스타트업이나 대형 기술업체까지 그리고 정부기관과 비영리단체 및 학술기관을 아울러, 이 기술이 '발화 이해'나 '이미지 인식'같은 AI 애플리케이션 수요 증가에 대응하려는 조직에 도움을 줄 수 있을 것이라 봤다고 밝혔다. 회사가 CNTK를 오픈소스 라이선스로 내놓은 이유다.
MS 설명에 따르면 CNTK 개발에 핵심적인 역할을 수행한 MS 파트너엔지니어링매니저 크리스 바소글루와 그의 팀은 이 툴이 기초적인 프로그래밍 기술과 노트북을 사용하는 사람에겐 손쉽게 쓰이도록 만드는 동시에, 최신 GPU를 장착한 여러 서버와 대규모 데이터를 갖춘 자체 심층신경망을 다루는 고수 개발자에겐 완전히 입맛대로 고쳐 쓸 수 있는 기술이 되도록 만들고 있다.
관련기사
- MS의 IoT 전략 '생산성 도구'2017.06.02
- MS, 딥러닝 툴킷 두번째 베타 공개2017.06.02
- MS는 왜 FPGA에 공을 들이나2017.06.02
- MS 봇 프레임워크 전략 들여다보기2017.06.02
CNTK 오픈소스는 누구나 어디서나 AI 기술을 쓸 수 있게 만든다는 그간 MS의 행보의 일부다. 이 도구를 사용하는 개발자는 MS 애저를 통해 클라우드컴퓨팅 애플리케이션 스위트에 접근해, MS 코그너티브서비스같은 머신러닝 애플리케이션 프로그래밍 인터페이스를 쉽게 사용하고 배포할 수 있다.
바소글루는 "처음에 사람들은 수학 함수를 손으로 쓰고 자기만의 코드로 인공신경망을 만들고 거기에 직접 구한 데이터를 집어넣는 방법을 고민했었다"며 "하지만 이제 데이터는 방대해졌고, 알고리즘은 너무 복잡해 여러 GPU, CPU, 기계에 걸쳐 최적화되는데 이걸 누군가 손수 작성하는 건 적절하지 않고, 사람들에게는 도구가 필요하다"고 말했다.