Tag Archives: Microsoft

Microsoft CNTK 2.0 Release

마이크로소프트가 CNTK 2.0(Cognitive Toolkit) 버전이 정식 출시되었다고 블로그를 통해 알렸습니다. CNTK 2.0 버전은 파이썬과 C++, 자바 API를 지원하며 윈도우즈와 리눅스 설치 바이너리를 제공하고 있습니다. 2.0 버전에서는 케라스Keras를 지원하는 기능이 추가되었습니다. 아마도 텐서플로우나 파이토치 등을 따라 가려면 서드파티에 대해 더욱 적극적으로 대응할 것 같습니다. 자세한 내용은 깃허브문서를 참고해 주세요.

바이너리가 PyPI에 등록되어 있지는 않지만 pip 명령을 사용하여 간단히 설치할 수 있습니다. 파이썬 2.7, 3.4, 3.5, 3.6 버전을 지원합니다. 특이한 점은 마이크로소프트에서 만든 1bit-SGD 기능을 지원하는 바이너리가 별도로 빌드되어 있다는 점입니다.

$ pip install ~.whl
  • 리눅스
2.7 CPU-Only https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp27-cp27mu-linux_x86_64.whl
GPU https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp27-cp27mu-linux_x86_64.whl
GPU-1bit-SGD https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp27-cp27mu-linux_x86_64.whl
3.4 CPU-Only https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp34-cp34m-linux_x86_64.whl
GPU https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp34-cp34m-linux_x86_64.whl
GPU-1bit-SGD https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp34-cp34m-linux_x86_64.whl
3.5 CPU-Only https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp35-cp35m-linux_x86_64.whl
GPU https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp35-cp35m-linux_x86_64.whl
GPU-1bit-SGD https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp35-cp35m-linux_x86_64.whl
3.6 CPU-Only https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp36-cp36m-linux_x86_64.whl
GPU https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp36-cp36m-linux_x86_64.whl
GPU-1bit-SGD https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp36-cp36m-linux_x86_64.whl
  • 윈도우즈
2.7 CPU-Only https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp27-cp27m-win_amd64.whl
GPU https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp27-cp27m-win_amd64.whl
GPU-1bit-SGD https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp27-cp27m-win_amd64.whl
3.4 CPU-Only https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp34-cp34m-win_amd64.whl
GPU https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp34-cp34m-win_amd64.whl
GPU-1bit-SGD https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp34-cp34m-win_amd64.whl
3.5 CPU-Only https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp35-cp35m-win_amd64.whl
GPU https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp35-cp35m-win_amd64.whl
GPU-1bit-SGD https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp35-cp35m-win_amd64.whl
3.6 CPU-Only https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp36-cp36m-win_amd64.whl
GPU https://cntk.ai/PythonWheel/GPU/cntk-2.0-cp36-cp36m-win_amd64.whl
GPU-1bit-SGD https://cntk.ai/PythonWheel/GPU-1bit-SGD/cntk-2.0-cp36-cp36m-win_amd64.whl

Microsoft 11th NMT language: Korean

마이크로소프트가 신경망을 이용한 기계 번역 언어에 한국어를 추가했다고 블로그를 통해 발표했습니다. 마이크소프트의 기계 번역 서비스는 브라우저에서 확인할 수 있고 모바일 어플리케이션으로도 제공하고 있습니다. 예전에 OpenNMT가 발표됐을 때 했던 간단한 번역 비교를 해 보겠습니다. 3개월전 결과와 어떤 변화가 있는지 알기 위해 동일한 영어 문장을 한글로 바꾸었습니다.

Microsoft: 결과가 아직 그다지 좋지 못하네요.

microsoft-nmt

OpenNMT: 이전 결과에서 조금 달라졌습니다. 이전의 번역이 조금 더 나은 듯도 합니다.

opennmt

Google Translate: 조금 바뀌었지만 큰 차이는 없습니다. 이번에도 mulled 를 해석하지 못했습니다.

google-translate

Naver NMT: 이전과 정확히 동일한 결과를 출력했습니다.

naver-nmt

OpenNMT와 구글 번역기는 계속 학습이 진행되고 있다는 느낌을 받을 수 있고 마이크로소프트 번역기는 아직 타사와 비교할 수 있는 수준은 안되는 것 같습니다.

MS Ventures fund Element AI

마이크로소프트가 새로운 벤처 펀드를 운영한다고 발표하였습니다. 특히 이 펀드는 인공지능 분야에 집중될 것으로 알려졌습니다. 첫번째 펀드는 요수아 벤지오(Yoshua Bengio) 교수의 엘리먼트 AI(Element AI) 입니다. 정확한 금액을 알려지지 않았지만 지난달 구글이 엘리먼트 AI에 3백만 US달러 이상을 투자하기로 하였으므로 그에 버금가는 금액이 될 것으로 예상됩니다. 엘리먼트 AI는 수천만달러까지 펀딩을 계속 받을 예정이라고 합니다. 마이크로소프트가 OpenAI 와도 제휴하고 엘리먼트 AI에 투자까지 인공지능 분야에서 계속 잰걸음을 하는 것 같습니다. 마이크로소프트 벤처는 엘리먼트 AI 뿐만 아니라 계속 인공지능 벤처에 투자를 이어갈 예정이라고 합니다.

OpenAI + Microsoft

OpenAI 가 딥러닝을 위한 플랫폼으로 마이크로소프트의 Azure 를 사용하기로 협약했다는 발표가 OpenAI 블로그마이크로소프트의 블로그에 각각 실렸습니다. OpenAI 는 그 동안 시라스케일(Cirrascale)을 사용하고 있는 것으로 알려졌었는데요. 아마존이 AWS 에 새로운 GPU 인스턴스를 출시했음에도 불구하고 동일한 K80 GPU 를 쓰고 있는 Azure 를 택한 것은 다소 의외인 것 같습니다. 마이크로소프트가 뭔가 파격적인 제안을 했을까요?

OpenAI 블로그에 따르면 Azure 에서 수천에서 수만대 까지 인스턴스를 사용할 것 같다고 합니다. 마이크로소프트가 이번 계기로 자사의 딥러닝 툴킷 CNTK 의 저변을 넓히는 데 힘을 얻을 수 있을까요. 깃허브의 딥러닝 인기도 조사(?)를 하고 있는 프랑소와 숄레(François Chollet)의 최근 트윗을 보면 바이두의 패들패들이 CNTK 보다 조금 더 활발히 움직이고 있는 것으로 보입니다.

cxutsrnucaebsg4

CNTK 2.0 with Python

마이크로소프트의 딥러닝 라이브러리인 CNTK의 2.0 베타가 배포되었습니다. 브랜딩도 Microsoft Cognitive Toolkit 으로 바꾸고 홈페이지도 새로 개편했네요. CNTK는 버전 번호가 크게 변하는 편인데요. 이번에는 2.0으로 바꾸면서 많은 기능이 추가된 것 같습니다. 대표적인 것인 파이썬 API를 지원하고 있어 넘파이(numpy)와 함께 섞어 쓸 수 있다는 점입니다. 다양한 파이썬 예제와 주피터 노트북도 깃허브 레파지토리에서 확인할 수 있습니다. 마이크로소프트 블로그에서는 CNTK의 큰 장점 중에 하나로 대량 데이터를 사용한 머신러닝에 사용할 수 있도록 분산 처리에 강하다는 점을 설명하고 있습니다. CNTK는 여전히 가장 강력한 오픈소스 라이센스 정책을 가지고 있습니다. 윈도우 환경에서 텐서플로우나 씨아노(Theano) 같은 딥러닝 라이브러리를 제치고 자리매김할 수 있을지 많은 기대가 됩니다.

Partnership on AI

partnership-on-ai

구글, 딥마인드, 페이스북, 마이크로소프트, 아마존, IBM 6개 회사가 ‘Partnership on AI‘란 단체를 발족시켰습니다. 각 회사에서 한명씩 대표(board)를 구성하게 되며 AI 연구와 윤리, 표준, 리포트, 컨퍼런스 등의 분야에 적극적인 역할을 것으로 보입니다. 공익단체라는 점에서 OpenAI를 의식하여 연합한 것인지는 모르겠습니다. 바이두(Baidu)는 끼일만도 한데 빠진 것과 딥마인드는 구글의 자회사이지만 공룡들과 어깨를 나란히 하고 있는 것이 눈에 띄입니다.

(업데이트) Partnership on AI에 대한 관심이 뜨겁습니다. 사람들은 바이두외에 애플, 트위터, 인텔 등도 빠져 있는 것을 궁금해 하고 있는 것 같습니다. 특히 OpenAI가 빠져있어서 이를 두고 미묘한 대립 기류가 있는 것은 아닌지 다양한 해석이 있습니다. OpenAI는 아마 초기 멤버로 초청받지 못한 아쉬움이 있는 듯 트위터를 통해 향후 참여를 희망한다고 이야기 했고 딥마인드측 대표인 무스타파 설리만(Mustafa Suleyman)이 이에 화답했습니다. Partnership on AI의 발표 자료를 보면 OpenAI 같은 비영리 기관도 곧 참여가 이루어 질 것으로 보입니다. 이들이 데이터 공유를 위해 뭉쳤는지 인류를 위해 뭉쳤는지는 모르겠지만 만약 OpenAI가 없었다면 기대하기 어려운 일이었지 않을까요?

(2017-01-30) Partnership on AI에 애플과 OpenAI가 합류했다는 소식입니다. 애플은 창립 멤버로 OpenAI는 이사회 구성원으로 합류했습니다. 바이두같은 회사가 합류할 가능성은 높아 보이지는 않습니다만 미국안의 파트너쉽이 되어 버린 것 같습니다.

DL Chip Race

card-hero2-800x550

출처: 마이크로소프트 리서치

어제 마이크로소프트가 개발하고 있는 딥러닝을 위한 칩 개발 프로젝트 ‘Catapult’에 대해 크게 보도가 되었습니다. 캐타펄트(Catapult)는 마이크로소프트에서 수년간 개발해 왔고 최근 클라우드에 실전 배치된 것으로 알려졌습니다. 이 칩은 FPGA(field programmable gate array) 타입이어서 재프로그래밍(reprogrammable)이 가능합니다. 와이어드(Wired)에 따르면 마이크로소프트가 이런 타입을 채택한 것은 딥러닝 알고리즘이 발전하면서 새로운 연산방식에 효과적으로 대응할 수 있기 때문이라고 합니다. TPU 방식이라면 아마도 구글은 계속 새로운 칩을 설계해야만 할 것이라고 보았습니다. 하지만 캐타펄트(Catapult)가 TPU 보다는 성능이 떨어진다고 합니다.

이 소식에 이어 바이두가 오늘 딥러닝을 위한 칩 벤치마킹 자료를 공개하였습니다. 딥벤치(DeepBench)는 딥러닝을 위해 사용할 수 있는 칩을 제조하는 메이커들의 경쟁을 이끌고 연구자들이 원하는 하드웨어를 선택할 수 있도록 도움을 주기 위해서라고 합니다. 이 벤치마크에 사용된 코드는 깃허브에 커밋되어 있습니다. 이 벤치마크는 딥러닝 프레임워크를 대상으로 한 것은 아니고 행렬연산이나 콘볼루션 연산 같은 저수준의 작업에 대한 성능을 평가한 것입니다.

딥러닝에 대한 경쟁은 학계에서 프레임워크로 또 하드웨어로까지 빠르게 확산되는 것 같습니다. 현재는 엔비디아(Nvidia)와 인텔(Intel)만이 딥벤치 결과에 참여했고 점차 확대될 것으로 보입니다. 하지만 구글이 TPU를 테스트해 줄지는 의문이네요. 딥벤치가 활성화되고 나서 바이두가 폭발적인 성능을 내는 칩을 내놓으려는 건 아닐런지…

Microsoft Research’s Video and Checked C

마이크로소프트 리서치에서 200개가 넘는 동영상을 한꺼번에 유투브 채널에 공개했습니다. 머신러닝과 딥러닝에 관한 영상도 많아 참고하시면 좋을 것 같습니다. 포스트 맨 아래에 전체를 리스트업 했습니다. 혹 추가되는 영상이 있다면 업데이트 하도록 하겠습니다.

그리고 이 동영상 공개외에도 자체적으로 개발해 오던 Checked C 를 오픈소스로 깃허브에 공개했습니다. 스펙의 버전은 0.5이며 별도의 스펙 레파지토리에서 다운 받으실 수 있습니다. 링크드인을 인수하는 등 예전의 마이크로소프트가 아닌 것 같네요.

<마이크로소트프 리서치 동영상 풀 리스트>

Continue reading

Facebook’s FAIR and AML

fastcompany.com에 페이스북의 FAIR(Facebook AI Research) 팀과 AML(Applied Machine Learning) 팀에 대한 기사가 게재되었습니다. FAIR는 얀 리쿤(Yann LeCun) 교수가 2014년 초에 페이스북에 합류하면서 만들어진 팀이고 AML은 Joaquin Candela가 리더로서 그 이후에 만들어 졌다고 합니다.

FAIR는 리서치와 개발을 7:3의 비율로 가지고 있어 좀 더 장기적인 연구를 수행하고 있고 AML은 그 반대의 비율로 페이스북 서비스에 적용할 제품을 위해 수개월 정도의 단기 개발을 주로 합니다. 페이스북은 AI 분야에 많은 투자를 하고 있고 주커버그의 최대 관심사이기도 합니다. 또 페이스북 전체적으로 오픈 소스에 기여하려고 노력한다고 합니다. 특히 뉴욕대학의 교수인 리쿤은 연구자가 결과물을 공개하지 않고 기업의 이익을 쫓을 경우 낙오가 되고 실패하게 된다고 말합니다. FAIR 그룹의 현재 최대 프로젝트는 애플의 시리, 구글의 어시스턴트, 아마존의 알렉사 같은 인공지능 비서를 위한 텍스트, 음성 인식 분야 입니다.

그런데 페이스북의 AI에 대한 미래 청사진이나 어떤 사람들이 연구에 참여하고 있는 지 보다 이 기사에서 더 눈에 띄는 것은 The Master Algorithm의 저자인 워싱톤 대학교의 페드로 도밍고스(Pedro Domingos) 교수의 말입니다. “They were a late comer, Companies like Google and Microsoft were far a head(페이스북은 뒤 늦게 시작했습니다. 구글이나 마이크로소프트가 많이 앞서 있습니다.)

구글은 2011년 구글 브레인 팀을 시작했습니다. 넉넉잡아도 페이스북과 3년정도의 차이인데 그 갭이 작지 않은 것 같습니다. 페이스북이 조급증을 버리고 AI의 강자로 자리매김할 수 있을지 기대해 봅니다.

뉴럴 네트워크에 대한 특허

얼마전에 구글이 뉴럴 네트워크와 관련된 특허를 출원했다는 레딧의 글들이 몇건 올라왔었습니다.

이에 대해 구글이 오래전 부터 방어적 목적으로 특허를 출원해 왔고 기술이 빠르게 발전하므로 특허는 큰 문제가 되지 않을 것이라는 의견과 너무 광범위한 특허가 우려된 다는 목소리도 있는 것 같습니다. 그런데 오늘 레딧에 구글은 아니지만 다른 특허건에 대해 또 글이 게재되었습니다. 실제 등록된 것은 아니지만 출원만으로도 다소 놀라는 분위기 입니다.

광범위한 이런 특허는 등록될 가능성이 적고 설사 등록되더라도 특허를 위배했다는 점을 밝히기가 매우 어렵다는 의견도 있습니다. 어쨋든 특허에 익숙하지 않은 사람들에게는 이런 소식이 반갑지만은 않습니다. 그럼 국내는 어떨까요? 특허청에 출원된 몇가지 사례를 검색해 보았습니다.

마이크로소프트가 2007년 출원한 ‘신경회로망을 사용하는 필기인식‘ 은 취하되었습니다. 2008년에는 ‘그래픽 처리 유닛(GPU) 상에서 콘볼루션 신경망을 트레이닝하는 방법‘이 등록되었습니다.

삼성전자는 뉴럴 네트워크 분야에 대해 최근 여러건의 특허를 출원하고 있습니다. 2014년 ‘신경망 학습 방법 및 장치, 데이터 처리 장치‘를 출원했고 2015년 ‘뉴럴 네트워크 구조 확장 방법, 디멘션 리덕션 방법, 및 그 방법을 이용한 장치‘ 출원했습니다. 같은 해에 ‘뉴럴 네트워크를 수반한 클라이언트 장치 및 그것을 포함하는 시스템‘을 출원했습니다. 아마도 이외에도 훨씬 더 많은 특허들이 출원되고 있을 것 같습니다.

(추가) 구글이 출원한 또 다른 특허입니다. ‘Classifying resources using a deep network