그리고 이제 마이크로소프트는 브레인웨이브(Brainwave)라는 프로젝트를 발표하고, 빠르고 효율적인 딥 러닝이 회사의 데이터 센터에서 이루어지는 장치를 구축하려 하고 있다.
마이크로소프트의 접근 방식은 구글의 그것과는 조금 다르다. 특정 알고리즘에 특화된 전용 프로세서를 개발하는 것이 아니라 재프로그래밍 가능한 FPGA(field-programmable gate arrays)로 불리는 종류의 칩을 사용하는 것이다.
마이크로소프트는 이번 프로젝트에 인텔이 2015년에 인수한 알테라가 제조하는 FPGA 칩을 사용한다. 회사의 선임 엔지니어인 더그 버거(Doug Burger)는 "전용 칩을 이용한 딥 러닝보다 유연한 시스템 구축을 가능하게 한다"고 말했다. 딥 러닝 영역에서는 거의 매달 새로운 진화가 일어나고 있어 유연성은 매우 중요하다.
브레인웨이브 프로젝트는 캘리포니아 주 쿠퍼티노에서 개최중인 'Hot Chips 컨퍼런스' 회장에서 발표됐다. 당시 버거는 "우리의 목표는 대규모로 구현할 수 있는 혁신성이 높고, 광범위하게 적용할 수 있는 솔루션"이라고 말했다.
마이크로소프트의 브레인웨이브 프로젝트는 구글의 텐서플로(Tensorflow)나 페이스북의 카페2(Caffe2), 심지어 자사의 CNTK 등 여러 딥 러닝의 프레임워크를 지원하게 된다.
■ 혁신의 열쇠는 'FPGA'
FPGA는 다양한 애플리케이션에 유연한 대응이 가능하지만 성능 면에서는 넘어야 할 과제도 있다. 그러나 버거에 따르면 마이크로소프트는 FPGA에 미세 조정을 가한 결과, 전용 칩에 필적하고 때로는 보다 높은 성능을 내는 제품으로 완성하는 데 성공했다고 한다.
GRU(gated recurrent units)로 불리는 딥 러닝 모델의 실행에서 마이크로소프트 하드웨어는 40테라플롭스(TFLOPS) 가까운 퍼포먼스를 실현하고 각각의 운영을 1밀리 세컨드 이하로 실행 가능한 것으로 알려져 있다.
브레인웨이브 프로젝트가 강점을 발휘하는 영역을 마이크로소프트는 '실시간 인공지능'이라고 정의하고 특히 딥 러닝의 알고리즘의 실행 면에서 강점을 갖는다고 말한다. 또한 현재는 마이크로소프트 내부 인공지능 서비스에서만 사용 가능하지만, 장기적으로는 회사의 클라우드 서비스를 통해 외부 기업에 방출할 가능성도 있다.
마이크로소프트는 보안 및 검색 엔진 빙(Bing)을 위한 FPGA의 연구를 시작한 이후 몇 년에 걸쳐 조사를 거듭해왔다. 이 때문에 현재 세계 최대 규모의 FPGA를 운용하고 있다. 브레인웨이브 프로젝트 팀은 지금으로부터 약 1년 전에 FPGA의 인프라를 최신의 딥 러닝 기술에 적용시켜 나가는 임무를 부여받은 것으로 알려졌다.
버거는 "우리 팀은 FPGA를 거대한 스케일로 실행 중"이라고 말했다. 또한 "이 기술은 애저(Azure) 클라우드를 통해 전 세계에서 운용될 것"이라고 덧붙였다.
머신 러닝의 발전형인 딥 러닝은 테크 업계의 모든 영역으로 확대하기 시작했다. 딥 러닝은 언어 인식과 화상 인식, 번역 등의 분야에서 큰 진전을 보이고 있으며, 이 분야의 기반을 지탱하는 하드웨어 인프라의 발달이 미래의 진화를 좌우할 것으로 보인다.
이 분야에서 엔비디아의 GPU가 시장을 주도하면서 마이크로소프트의 주가는 지난 1년 사이 3배 가까이 상승했다. 그러나 최근 구글을 비롯한 다양한 스타트업 기업들도 새로운 제품을 선 보이려 하고 있어 경쟁은 갈수록 치열해지고 있다.
김길수 기자 gskim@g-enews.com