테크월드 뉴스

상단여백
HOME 포커스 리포트
FPGA를 이용한 에지 환경의 AI 구현
선연수 기자 | 승인 2019.04.11 08:35

[테크월드=선연수 기자] 인공 지능(AI)이 빠르게 확산되고 있다. 이 혁신 기술은 이전엔 상상할 수 없던 분야들로 활용 영역을 넓혀가고 있어, 기업들은 어떤 형태로든 AI를 도입해야 하는 상황이 됐다. AI는 자율주행차, 사물인터넷(IoT), 네트워크 보안, 의료 분야에서 특히 중요한 역할을 한다. 기업의 전문가들은 AI를 사업적으로 어떻게 잘 활용할 수 있을지 고심하고 있으며, 도입을 주저하던 많은 기업들도 얼리 어답터 기업의 성공 사례들을 접하게 되면서 서서히 AI에 길을 터주고 있다.

 

모든 AI가 다 같은 것은 아니다. 애플리케이션 분야가 다르면 AI에 관한 접근법도 달라져야 한다. 현재로서 AI 도입이 가장 두드러진 분야는 임베디드 비전이다. 이 분야에 사용되는 AI는 컨볼루션 신경망(CNN)을 통해 인간의 시각 작동 방식을 흉내 낸다. 이 글에서는 주로 임베디드 비전 분야를 다루지만, 사실 AI는 그 밖에 다양한 애플리케이션에 여러가지 방식으로 활용될 수 있다.


AI 에지에서의 요구사항

AI는 어떤 것이 작동하는 방식에 관해서 학습된 모델(Trained model)을 생성하는 것이다. 현장에 애플리케이션을 구축하고 이 모델을 통해, 실제 세상에 관한 추론(Inference)을 할 수 있다. 따라서 AI 애플리케이션은 학습과 추론의 두 단계로 이뤄진다.

학습은 개발 작업의 일부로서 주로 클라우드 상에서 이뤄진다. 추론은 현장에 구축된 디바이스가 지속적으로 작동하기 위해 필요한 것이다. 연산적으로 어려운 문제이기 때문에 현재는 주로 클라우드 상에서 이뤄진다. 대개의 경우 의사결정을 하기까지의 일정이 촉박하다. 클라우드로 데이터를 전송하고 의사결정이 되돌아오기를 기다리기까지 시간이 걸리고, 어떤 때는 이미 늦어버릴 수도 있다. 그러한 의사결정을 로컬에서 내리게 되면, 귀중한 수 초를 절약할 수 있다.

이런 실시간 제어 요구는 빠른 의사결정이 필요한 많은 애플리케이션에서 유용하게 적용될 수 있다. 사람이 있는지 없는지를 감지해야 하는 ▲스마트홈 기기 ▲컨수머 스마트 오디오/비디오 전자기기 ▲스마트 도어벨 ▲자판기 ▲보안 카메라 ▲스마트 도어와 같은 애플리케이션이 대표적이다.

여기에 ▲스마트 스피커 ▲점포 카메라 ▲촬영용 드론 ▲톨게이트 카메라 ▲머신 비전 ▲애프터마켓 차량용 카메라 등의 ‘올웨이즈-온(Always-on)’ 애플리케이션도 포함된다.

신속한 의사결정을 위해, 클라우드 상의 데이터 수집 장치인 ‘에지’에서 추론 절차를 이루려는 움직임이 일어나고 있다. 에지 상에서 내려진 AI 의사결정에 근거해 조치를 취하는 방식으로, 클라우드 상의 시간 지연을 근본적으로 제거할 수 있다.

로컬 상에서 추론할 경우, 부가적인 이점이 두 가지 더 존재한다. 먼저, 개인정보 보호다. 클라우드와 데이터를 주고받거나, 클라우드 상에 저장할 시 해킹이나 도용의 위험이 존재한다. 하지만 데이터가 해당 장비를 떠날 일이 없다면 개인정보 노출에 대한 위험성이 훨씬 줄어들 것이다.

또 다른 이점은 인터넷의 가용 대역폭과 관련된 것이다. 실시간 분석을 위해 비디오 파일을 클라우드로 전송할 경우 엄청난 양의 대역폭을 잡아먹지만, 로컬에서 의사결정을 하면 이 대역폭을 다른 곳에 활용할 수 있다.

이 밖에도 다음 사항들을 고려해야 한다.


▲많은 에지 디바이스들이 배터리로 작동한다. 메인 전원으로 구동되더라도, 발열 제약으로 인해지속 가능한 전력이 제한적이다. 클라우드에서 전력과 냉각 관리를 자체 설비에서 알아서 한다.

▲AI 모델은 빠르게 진화한다. 학습 과정동안 모델의 크기가 현저히 바뀔 수 있으며, 개발 작업이 어느 정도 진행되기 전까진 필요한 컴퓨팅 플랫폼의 크기 판단이 어려울 수 있다. 게다가 학습에선 아주 작은 변화만으로도 모델에 큰 영향을 미칠 수 있어 변동성이 높아진다. 이런 종합적인 고려가 필요해 에지 디바이스에 적정한 하드웨어 규모를 판단하기가 쉽지 않다.

▲각각의 특정 디바이스에 따라 모델을 최적화하기 위해서 다양한 요소들에 대한 절충적인 고려가 필요해, 각 장비별로 서로 다른 모델을 취해야 한다.

▲에지 디바이스는 통상적으로 크기가 매우 작아, AI 추론에 사용할 수 있는 디바이스의 크기가 제한적이다.


이 모든 것을 감안했을 때, 에지에서 추론이 이뤄지도록 하려면 ▲적은 전력 소모 ▲뛰어난 유연성, ▲뛰어난 확장성 ▲물리적으로 작은 풋프린트와 같은 요구사항을 만족해야 한다.

래티스의 sensAI 솔루션을 사용하면 이런 4가지 요구를 모두 충족할 수 있다. 하드웨어 플랫폼, 소프트 IP, 신경망 컴파일러, 개발 모듈, 개발 작업을 돕기 위한 자원을 비롯해 필요한 모든 것을 제공하기 때문이다.

 

추론 엔진 구현 시 가능한 옵션

에지 디바이스에 추론 엔진을 구현하는 것은 두 가지 측면으로 나눌 수 있다. 모델 실행의 토대가 되는 하드웨어 플랫폼을 개발하는 것과 모델 자체를 개발하는 것이다.

모델을 실행하기 위해서 다양한 아키텍처를 선택할 수 있지만, 에지에서 실행하기 위해선 전력, 유연성, 확장성에서 제약이 따르므로 선택 범위가 제한적이다. 올웨이즈-온 애플리케이션은 특히 더 그렇다.

 

- MCU

AI 모델 실행을 위해 가장 일반적으로 사용되는 방법은 프로세서를 사용하는 것이다. 이것은 GPU나 DSP일 수 있으며, 또는 마이크로컨트롤러(MCU)일 수도 있다. 하지만 에지 디바이스의 프로세서로는 간단한 모델 실행조차 벅찰 수 있다. 이런 디바이스로는 전력이나 비용의 제약으로 인해 이보다 더 대형의 프로세서를 활용하는 것이 어려워, 로우엔드 마이크로컨트롤러만을 사용해야 한다. 따라서 이런 디바이스론 AI가 불가능한 것처럼 보일 수 있다.

이때 저전력 FPGA가 중요한 역할을 할 수 있다. 알고리즘의 처리를 위해 프로세서 성능을 높일 필요 없이, 래티스의 ECP5나 UltraPlus FPGA를 MCU에 대한 코프로세서로 사용함으로써, 전력을 필요한 범위 안으로 유지하면서도 MCU가 처리 못하는 일을 수행할 수 있다. 래티스의 해당 FPGA는 DSP를 제공해 로우엔드 MCU로 사용할 수 없는 컴퓨팅 성능도 지원한다.

 

- ASIC과 ASSP 

좀더 성숙하며 대량으로 설치되는 AI 모델은 ASIC이나 ASSP(Application-Specific Standard Products)가 적합할 수 있다. 하지만 이들 디바이스는 동작 부하가 커, 특히 올웨이즈-온 애플리케이션에서 지나치게 많은 전력을 소모할 수 있다.

이때 래티스 FPGA를 동작 게이트(Activity Gate)로 사용하면, 기동 동작을 하거나 대략적인 범주의 이미지 인식(사람처럼 보이는 것을 식별)과 같은 기능을 수행할 수 있다. 그 다음 ASIC이나 ASSP를 깨워 본격적으로 음성 인식을 하거나 영상 내 아티팩트를 구체적으로 식별할 수 있다.

FPGA를 사용해 올웨이즈-온 부분을 처리할 수 있으나, 이 때 전력은 무엇보다도 중요한 요소다. 모든 FPGA가 이 역할을 할 수는 없으나, 많은 FPGA들이 여전히 과도한 전력 소모를 요구하기 때문이다. 래티스의 ECP5와 UltraPlus FPGA는 해당 역할 수행에 적합한 전력 특성을 갖추고 있다.

 

- 독립형 FPGA AI 엔진 

저전력 FPGA는 독립형 통합 AI 엔진으로 사용할 수 있으며, FPGA로 제공된 DSP가 핵심적 역할을 한다. 에지 디바이스로 다른 컴퓨팅 자원이 제공되지 않더라도, 전력, 비용, 보드 면적에서 제약을 위반하지 않으면서 AI 기능을 추가할 수 있다. 또한, 빠르게 진화하는 알고리즘이 필요로 하는 유연성과 확장성을 제공한다.

 

래티스 FPGA를 활용한 추론 엔진 구현

AI 추론 모델 실행을 위한 하드웨어 설계에선 필요한 자원 규모·성능과 전력 요구 간의 조화가 필요하다. 래티스의 ECP5와 UltraPlus 제품군을 사용함으로써 적절한 균형을 이룰 수 있다.

ECP5 제품군은 1~8개의 추론 엔진 호스팅이 가능한, 3가지 용량의 제품으로 구성된다. 내장 메모리 용량은 1~3.7M비트로, 최대 1W의 전력을 소모하며, 풋프린트는 100mm²이다. 

UltraPlus 제품군 중 가장 전력 소모가 적은 모델은 ECP5 제품군의 1000분의 1 수준인 1mW를 소모한다. 차지하는 보드 면적은 5.5mm²에 불과하며, 최대 8개의 곱셈기와 최대 1M비트의 메모리를 포함한다.

 

[그림 1] ECP5 제품군을 위한 CNN 가속기

 

래티스는 해당 디바이스 상에서 효율적으로 동작하도록 설계된 CNN IP를 제공하며, ECP5 제품군을 위해 CNN 가속기를 제공한다. 또한, UltraPlus 제품군 용으로 CNN 컴팩트 가속기를 제공한다.

 

[그림 2] UltraPlus 제품군을 위한 CNN 컴팩트 가속기

 
이 글에서 해당 IP에 대한 세부 내용을 다루진 않으나, 요지는 해당 FPGA 제품을 사용함으로써 추론 엔진을 처음부터 설계할 필요가 없어진다는 것이다.

또한, 래티스는 각각의 디바이스 제품군으로 테스트할 수 있는 개발 모듈을 제공한다. Himax HM01B0 UPduino 쉴드 보드는 UltraPlus 디바이스에 기반해 22x50mm의 면적을 차지하고, 임베디드 비전 개발 키트는 ECP5 디바이스에 기반해 80x80mm의 면적을 차지한다.

 

[그림 3] AI 애플리케이션 평가를 위한 개발 모듈

 

FPGA, 소프트 IP, 그 밖에 필요한 하드웨어가 갖춰지면, 래티스의 다이아몬드(Diamond) 설계 툴을 사용해 플랫폼을 컴파일할 수 있다. 따라서 타깃 장비에 파워업을 할 때마다 FPGA를 구성하기 위한 비트스트림을 생성할 수 있다.

 

래티스 FPGA를 활용한 추론 모델 생성

추론 모델을 생성하는 것은 토대적인 실행 플랫폼 구현과는 매우 다르다. 좀더 추상적이고 수학적이며, 어떠한 RTL 설계도 수반하지 않는다. 먼저 추상 모델을 생성한 후, 선택한 플랫폼에 대해서 모델 구현을 최적화하는 두 단계의 작업이 이뤄진다.

모델 학습용 프레임워크로는 카페(Caffe)와 텐서플로우(TensorFlow)가 대표적이며, 이 외에도 다양한 프레임워크를 사용할 수 있다.

CNN은 컨벌루션 레이어, 풀링 레이어, 그리고 FC(Fully Connected) 레이어를 비롯한 일련의 레이어들로 구성된다. 각각의 레이어로 이전 레이어의 결과값이 주어지며, 각각의 노드마다 해당하는 결과값에 대한 가중치가 부여된다. 어떤 가중치를 부여할지 결정하는 것은 학습 과정의 일부다.

학습 프레임워크로부터의 가중치 출력은 통상적으로 부동소수점 숫자다. 이 방법이 가중치를 가장 정확하게 묘사할 수 있는 방법이나, 아직 대부분의 에지 디바이스는 부동소수점 기능을 갖추지 못했다. 그렇기 때문에 해당 추상적 모델을 취하며 특정 플랫폼에 대해서 최적화할 필요가 있고, 이 때 래티스의 신경망 컴파일러(Neural Network Compiler)가 유용하게 작용될 수 있다.

해당 컴파일러를 사용해 CNN 프레임워크로부터 다운로드한 원시 모델을 로드하고 검토, 성능 분석까지 수행할 수 있다. 이는 모델 최적화 과정에서 가장 중요한 양자화(Quantization)를 위해 필요하다.

부동소수점 숫자를 그대로 취급할 수 없으므로 반올림을 통해 정수로 변환해야 하나, 이 과정에서 약간의 정확도를 잃게 된다. 따라서 원하는 정확도를 달성하기 위해 어느 정도의 정수 정밀도가 필요한지 파악해야 한다. 현재 사용되는 가장 높은 정밀도는 16비트나, 가중치와 입력들은 대개 작은 정수로 표현된다. 래티스는 현재 16비트, 8비트, 1비트 구현을 지원한다. 1비트 디자인은 단일 비트 정수 도메인으로 학습을 하면서도 정확도를 유지할 수 있다. 데이터 단위가 작으면 더 높은 성능을 달성할 수 있고, 더 작은 하드웨어를 사용할 수 있으며, 전력 소모까지 낮출 수 있다. 하지만 정밀도가 너무 낮으면 현장에서 물체를 충실하게 추론하기 위한 정확도가 충분하지 않을 수 있다.

 

[그림 4] 하나의 모델을 서로 다른 장비용으로 최적화할 수 있다.

 

신경망 컴파일러를 이용해 모델을 표현하는 명령 스트림을 생성하고, 명령들의 시뮬레이트나 테스트를 통해 성능, 전력, 정확도 간에 적절한 균형을 이루는지 판단할 수 있다. 이것은 테스트 이미지 모음(학습에 사용된 것과는 다른 것) 중에서 옳게 처리된 이미지 비율로서 판단할 수 있다.

모델의 최적화를 통해 동작을 향상시킬 수 있고, 따라서 자원 소모를 줄이도록 일부 노드를 제거한 후 모델을 다시 학습시킬 수 있다. 이런 식으로 제한된 자원 제약을 넘지 않으면서도 정확도를 미세하게 다듬을 수 있다.

 

두 가지 감지 애플리케이션 사례

두 가지 애플리케이션 사례를 통해 각각의 요소들이 어떤 영향을 미치는지 살펴보자. 하나는 얼굴 인식 애플리케이션이고, 또 하나는 동체 감지 애플리케이션이다. 각각의 FPGA마다 사용할 수 있는 자원의 차이가 결과적으로 최종 구현 제품의 성능과 전력에 영향을 주게 된다.

두 애플리케이션 모두 카메라로부터 입력 정보를 받아, 동일한 엔진 아키텍처를 통해 실행된다. UltraPlus를 사용한 설계 구현은 카메라 이미지의 크기를 줄이고 8개의 곱셈기를 이용해 처리하며, 내부 스토리지를 이용하고 LED를 인디케이터로 사용한다.

 

[그림 5] 얼굴 인식, 동체 감지 애플리케이션용으로 사용된 UltraPlus 플랫폼

 

ECP5 제품군은 더 많은 자원을 이용할 수 있어, 더 높은 컴퓨팅 성능을 제공한다. 카메라 이미지를 이미지 신호 프로세서(ISP)에서 전처리 한 후, CNN으로 전송한다. 이 결과를 오버레이 엔진에서 원래 이미지와 통합함으로써 이미지 위에 텍스트나 주석을 겹칠 수 있다.

 

[그림 6] 얼굴 인식, 동체 감지 애플리케이션용으로 사용된 ECP5 플랫폼

 

[표 1]은 각각의 얼굴 인식 애플리케이션 구현에서 성능, 전력, 차지하는 면적을 비교한 것이다. 각 애플리케이션은 32x32 입력을 사용한 간단한 구현, 90x90 입력을 사용한 좀더 복잡한 구현 2가지 방식으로 실험됐다.

 

[표 1] UltraPlus와 ECP5 FPGA를 사용한 얼굴 인식 애플리케이션의 구현 방식별 성능, 전력, 차지 면적 비교표

 

그래프에서 왼쪽의 세로축은 이미지 처리에 소요된 사이클 수와 해당 사이클이 어디에 사용됐는지를 보여준다. 오른쪽 세로축은 각각의 설계들이 나타낸 초당 프레임(fps) 성능을 보여준다(녹색 선). 또한, 각각의 설계 구현들이 나타내는 전력 소모와 차지하는 면적도 그래프를 통해 알 수 있다.

왼쪽의 32x32 구현에서 주황색 막대는 컨볼루션에 소요된 사이클을 나타낸다. 4가지 구현 사례 중 UltraPlus의 곱셈기가 가장 적다. 나머지 3개는 ECP5 디바이스들로, 순서대로 더 많은 곱셈기를 사용하는 것으로 분석됐다. 곱셈기 숫자가 늘어날수록 컨볼루션에 필요한 사이클 수는 줄어든다.

오른쪽의 90x90 구현은 상당히 다른 결과를 나타낸다. 막대 하단에 새롭게 보이는 파란색 부분이 높은 사이클 차지 비율을 보인다. 이것은 좀더 복잡한 설계가 디바이스 자체 내에서 활용 가능한 것보다 더 많은 메모리를 사용하기 때문이다. 따라서 외부 DRAM을 이용해야 하기 때문에, 성능을 깎아 먹게 된다. 또한, 크기가 작은 UltraPlus 디바이스를 사용한 설계 구현이 불가능한 것을 알 수 있다.

동체 감지 애플리케이션의 경우 간단한 구현은 64x64 입력을, 복잡한 구현은 128x128 입력을 사용한다.

 

[표 2] UltraPlus와 ECP5 FPGA를 사용한 동체 감지 애플리케이션의 구현 방식별 성능, 전력, 차지 면적 비교

 

이 애플리케이션 역시, 곱셈기가 많을수록 컨볼루션에 소요되는 사이클이 감소해, DRAM을 사용할시 성능이 저하된다.

[표 3]은 모든 구현 사례의 성능을 요약해 보여준다. 전체 FOV(Field Of View)에 대해서 식별 가능한 가장 작은 물체 또는 특징의 비율을 나타낸다. 해상도를 높이면 더 작은 물체를 식별할 수 있기 때문에, 사용하는 입력이 많을수록 도움이 된다.

 

[표 3] 두 가지 애플리케이션을 4개의 FPGA를 사용해 구현한 성능 결과

 

래티스 sensAI 솔루션을 사용해, 래티스 FPGA 상에서 전력, 유연성, 확장성에 대한 요구를 모두 충족하는 에지 추론 AI 설계를 빠르게 구현할 수 있다. 래티스 sensAI 솔루션은 AI 알고리즘의 성공적 구현을 위해 ▲신경망 컴파일러 ▲신경망 엔진 소프트 IP ▲Diamond 설계 툴 ▲개발 보드 ▲레퍼런스 디자인과 같은 필요 요소들을 모두 제공한다.

 

자료 제공: 래티스 반도체

 

#래티스반도체#AI#에지#임베디드비전#CNN#sensAI솔루션#FPGA#ECP5#UltraPlus

선연수 기자  sunys@techworld.co.kr

<저작권자 © TECHWORLD News, 무단 전재 및 재배포 금지>

선연수 기자의 다른기사 보기
icon인기기사
PREV NEXT

여백
여백
여백
여백
icon
여백
여백
여백
여백
신제품
여백
Back to Top