MS는 왜 FPGA에 공을 들이나

"FPGA 활용하는 새로운 AI 슈퍼컴퓨터"

컴퓨팅입력 :2016/09/29 15:15    수정: 2016/09/29 16:31

마이크로소프트(MS)는 애저 클라우드의 강점과 차별화 요소 중 하나로 FPGA 프로세서를 꼽는다. FPGA 칩을 서버 하드웨어에 집어넣어 GPU 가속기처럼 활용함으로써 인공지능 관련 서비스의 성능과 효율성을 높이고 있다는 것이다. MS는 이를 통해 세계 최대 AI 슈퍼컴퓨터를 만들었다고 강조한다.

지난 26일(현지시간) 외신에 따르면, MS는 미국 애틀란타에서 열린 ‘이그나이트2016’ 컨퍼런스에서 인텔 알테라 FPGA 칩을 애저 데이터센터의 모든 서버에 탑재해 사용중이라고 밝혔다.

FPGA는 하드웨어 차원에서 특정 기능만 수행하도록 프로그램할 수 있는 칩이다.

더그 버거 MS 엔지니어가 이그나이트 기조연설에서 애저 인프라에 쓰이는 FPGA 카드를 선보이고 있다.

MS가 애저에 FPGA를 사용하기 시작한 건 2010년부터다. 이 시도는 프로젝트 캐터펄트(Catapult)를 통해 이뤄졌다. 프로젝트 캐터펄트는 알테라 FPGA와 인텔 제온 프로세서를 사용하는 서버 1천600대로 빙 검색엔진의 랭킹 알고리즘을 처리하는 시도였다.

MS는 한 조각 정도의 코드를 실행하는 FPGA 머신을 통해 검색 랭킹 알고리즘 처리에 서버당 10%의 전력만 사용하고, 2배의 성능을 기록했다고 한다.

MS는 캐터펄트 서버를 2013년부터 딥러닝 네트워크 등을 사용하는 애저 코그너티브 서비스에 확대 적용했다. 이미지 인식 네트워크 훈련에 사용하는게 시작이라고 한다.

MS는 FPGA 서버를 5대륙 15개 국가에서 사용중이라고 밝혔다.

알테라는 2015년 인텔에 인수됐다. 현재는 인텔이 MS란 세계 최대 FPGA 고객을 지원하고 있다.

캐터펄트 서버는 기본적으로 16코어 제온 프로세서, 64GB RAM, 알테라 스트라틱스 V FPGA 카드로 이뤄진다. 스토리지는 2TB SATA 디스크와 480GB 마이크론 SSD 등을 쓴다. MS는 현재 내부적으로 캐터펄트 버전2를 개발한 것으로 전해진다. FPGA가 CPU, 메인메모리, 네트워크 등에 연결돼 있는 설계다. FPGA가 타 요소와 직접 소통 가능하므로 확장성에서 1세대보다 더 뛰어나다.

애저 서버 내부의 FPGA는 이더넷 네트워크와 직접 연결된다. 일반적으로 서버의 CPU는 PCI익스프레스로 네트워크와 연결된다. CPU와 별개로 FPFA가 작동하고 외부와 직접 통신하므로 대규모 클라우드 네트워크와 연결되면 분산 처리 속도가 더 빠르고 효율적일 수 있다. MS 애저의 클라우드 네트워크는 25기가급이다. FPGA 패브릭이 25기가 네트워크에 직접 연결돼 한번에 실행된다면 가공할 속도의 서비스 처리 능력을 보여줄 수 있다.

MS는 FPGA를 이더넷 네트워크 인터페이스 카드(NIC)에도 활용중이다. 스마트NIC이라 불리는 것으로 FPGA가 '제네릭플로테이블(GFT)' 펑션을 처리한다. 네트워크 카드가 암호화와 QoS, 스토리지 가속 등의 기능을 수행할 수 있다. CPU에 집중되는 작업을 네트워크 카드로 넘겨 부하를 줄이는 것이다.

MS는 이그나이트 컨퍼런스 기조연설에서 GPU 가속 활용보다 FPGA 가속이 더 효율적이란 점을 강조했다. 그러나 아직 인간 게놈 시퀀싱이나 과학 연구 용도에선 FPGA 대신 GPU를 쓴다. FPGA는 이미지 인식, 언어 인식, 언어 번역 같은 앱의 코그너티브 서비스에 사용되고 있다.

FPGA는 8비트나 16비트 수준의 낮은 정확성을 요하는 알고리즘에 적합한 것으로 보인다.

그러나 MS가 FPGA의 경쟁우위로 꼽는 건 성능보다 전력 효율이다. 칩당 25와트에 불과한 저전력을 가장 큰 이점이라 꼽았다. 엔비디아 P4 GPU는 동일한 애플리케이션을 처리하는데 유닛당 50와트의 전력을 소모한다. 대규모 클라우드 인프라일수록 아주 작은 양의 와트 차이도 운영기업에 엄청난 부담일 수 있다. 전력 부담 때문에 대규모로 컴퓨팅 인프라를 확장하기 어려운데, FPGA를 활용해 그 난관을 넘겠다는 게 MS의 설명이다.

더그 버거 MS 엔지니어는 기조연설에서 FPGA 기반 AI 서비스의 성능을 시연했다.

먼저 빙 이미지 인식 처리에서 CPU만 사용하는 서버와 FPGA를 함께 사용하는 서버의 성능차이를 보여줬다.

러시아판 전쟁과 평화를 영어로 번역하는 시연. 왼쪽이 CPU만 사용하는 서버, 오른쪽이 FPGA를 사용하는 서버다.

다음으로 소설 ‘전쟁과 평화’의 러시아판을 영어로 번역하는 모습을 비교 시연했다. 1천440 페이지 분량의 러시아어 ‘전쟁과 평화’를 번역하는데 24코어 CPU의 서버가 19.9초 걸렸다. 반면, FPGA 서버가 2.6초 걸렸다. 8배 빠르고 전기소모량은 훨씬 더 적었다.

더그 버거는 “FPGA는 매우 빠른 속도, 확장성과 유연성, 효율성 등의 강점을 갖고 있다”며 “쉽고 유연하게 펑션을 바꿀 수 있는 새로운 AI 슈퍼 컴퓨터 아키텍처”라고 말했다.

다음은 위키피디아 영문판을 스페인어로 번역하는 모습을 시연했다. 30억개 단어로 이뤄진 5억건의 글이다. 사용된 컴퓨터 사양은 노드당 10 CPU 코어, 4개 FPGA다. 서버 유닛 당 240와트를 필요로 했다. 처리 가능 용량은 1엑사 옵스였다.

위키피디아 번역은 0.9초 만에 끝났다.

영문 위키피디아를 스페인어로 번역하는 시연.

더그 버거는 "세계에 현존하는 가장 큰 AI 능력을 갖춘 슈퍼 컴퓨터보다 10배 큰 컴퓨터”라며 "FPGA는 그동안 해결할 수 없었던 AI의 문제들을 해결할 수 있다"고 강조했다.

관련기사

FPGA는 CPU나 GPU 같은 다목적 마이크로프로세서의 프로그래밍과 비교해 더 높은 기술 수준을 요한다. 오픈CL을 비롯해, 기타 FPGA 친화적인 컴파일러 기술과 앱이 나오고 있지만, 여전히 모든 개발자가 부담없이 시도하기엔 어렵다. MS가 언젠가 FPGA 프로그래밍을 위한 프레임워크와 개발 툴, 혹은 서비스를 내놓을 것이란 전망이 가능한 부분이다. 알테라를 인수하면서 FPGA 사업에 대대적으로 힘을 쏟기 시작한 인텔도 소프트웨어 단의 지원방안을 내놓을 수 있다.

인텔은 2020년까지 FPGA가 데이터센터에서 30% 사용될 것으로 전망한다. 인텔은 브로드웰 제온과 FPGA 통합 칩을 출하하기 시작했다.