FPGA(field programmable gate array)는 CPU나 GPU 등 회로 변경이 불가능한 다른 프로세서와 달리 프로그래밍이 가능한 프로세서로 용도에 맞게 회로를 변경할 수 있다.
FPGA는 인공지능(AI) 기술에서도 중요하게 쓰인다.병렬 연산 등 새로운 설계가 가능하기 때문에 머신러닝(ML)에 적합한 프로세서 설계에 적합하다.
다만 FPGA는 비싸고 생산력이 떨어진다는 단점으로 대량 생산이 필요한 애플리케이션에는 잘 사용되지 않고 있다.
◆지난 10년, 딥러닝으로 GPU 업계 호황
해외 분석전문 매체 애널리스틱스 인사이트(Analytics Insight)는 'AI와 딥러닝에서 FPGA가 GPU보다 나은 이유'라는 제목으로 FPGA의 장점에 대해 13일(현지시간) 보도했다.
데이터 분석은 흔히 머신러닝(ML) 알고리즘에 의존한다. ML 알고리즘 중 딥러닝은 특히 AI 기술의 혁신을 불렀다.
애널리틱스 인사이트는 "딥러닝 기반의 AI 기술 성장은 지난 10년간 GPU 업계의 호재로 작용했다"며 "엔비디아와 AMD 같은 기업들은 그들의 GPU가 딥러닝 모델을 훈련하고 운영하는 데 효과적이라는 것을 증명했기 때문에 주가가 크게 올랐다"고 설명했다.
엔비디아는 이를 바탕으로 게임밍이나 이미지·영상편집용 GPU 생산업체에서 AI 기업으로 회사의 정체성을 새롭게 확립했다.
머신러닝 소프트웨어 전문기업인 밉솔로지(Mipsology) CEO 겸 공동창업자 루도비치 라르줄은 GPU를 AI 가속기로 활용할 때 선천적인 결함이 있다고 지적했다. 그는 FPGA를 통해 GPU의 결함을 해결할 수 있다고 덧붙였다.
◆ GPU, 전력소모·내구성 등 선천적 결함 있어
수천개의 코어를 집약한 GPU는 병렬연산을 하는 동안 엄청난 열을 생산한다. 냉각을 위해 심각한 수준의 전력소모가 발생한다.
데이터센터나, 데스크톱 워크스테이션, 노트북에서 ML을 교육할 때 이 문제는 어느 정도 해결할 수 있다.
하지만 자율주행차, 생산라인, 로봇, 스마트 시티, IoT 등의 엣지 AI에서는 GPU의 단점이 큰 문제로 다가온다. 열, 먼지, 습기, 이동성, 한정된 전력 등의 요인을 포함해야 하는 많은 환경에서 딥러닝 모델을 구동해야 되기 때문이다.
기대수명도 문제다. GPU는 약 2년에서 5년 동안 지속된다. 기존의 산업이나 게이밍 등에서는 큰 문제가 아니다.
애널리틱스 인사이트는 10년 이상의 수명을 기대하는 내구성이 높은 자동차 사업과 같은 분야에서는 까다로워질 수 있다고 지적했다. 다양한 온도와 외부 환경, 화학적 요소 등 극한 환경에 노출되면서 수명이 더 빨리 줄어들 수 있다.
◆FPGA, 설계 유연성·전력효율 등 ASIC보다 나아
FPGA는 CPU나 GPU와 같은 주문형반도체(ASIC, Application Specific Integrated Circuit)와 달리 칩 내부의 하드웨어를 필요에 따라 재프로그래밍할 수 있다.
ASIC은 제품을 만들기 위해 오랜 개발 시간이 필요하며 설계와 생산을 위한 상당한 투자가 필요하다. 단 완성 후에는 생산비용을 크게 줄일 수 있다는 장점이 있다.
ML과 DL 개발을 위해 FPGA를 구축한 사례들은 적지 않다. 2010년 마이크로소프트 리서치는 웹 검색을 빠르게 하기 위해 FPGA를 사용했다. 5년 후 마이크로소프트는 빙(Bing) 검색엔진에 FPGA를 활용하면서 DL 애플리케이션에 유용한 가치를 입증했다.
애널리틱스 인사이트는 빙이 FPGA를 활용해 AI 모델 기술의 변화에 따라 재프로그래밍을 진행하며 50%의 검색 속도 향상을 이뤘다고 설명했다.
◆FPGA의 구체적인 장점은?
짧은 대기 시간과 높은 처리량은 FPGA의 가장 큰 장점이다. 초기 단계부터 신경 네트워크를 조립하고 모델에 가장 적합하도록 FPGA를 구성할 수 있다.
I/O(In/Out) 병목 현상을 극복할 수 있다. 낮은 지연 시간에 고대역폭의 네트워크를 통해 정보를 전달할 때 FPGA를 활용한다. AI 시스템 성능에서 가장 제약적인 요소 중 하나인 I/O 병목현상을 해결하고 메모리의 지연을 줄인다. 데이터 수집을 가속화함으로써 전체 AI 워크플로우의 속도를 높일 수 있는 셈이다.
HPC(고성능컴퓨팅) 클러스터 추진에도 FPGA는 유용하다. 추론을 위해 프로그램 가능한 신속처리제를 주입함으로써 AI와 HPC의 상호작용을 촉진할 수 있다.
FPGA는 GPU보다 전력효율이 높다. 개발자는 FPGA를 통해 하드웨어를 애플리케이션에 맞게 조정할 수 있어 전력 효율 요건 충족에 도움이 된다.
FPGA도 칩에서 더 많은 에너지 효율을 제공하면서 다양한 용량을 제공할 수 있다. FPGA가 다양한 기능을 병렬로 가질 수 있도록 하기 위해 FPGA의 일부만을 기능에 활용할 수 있다는 것이다.
