배너
닫기

테크노트

배너

[Technical Report] 에지 AI에 필요로 하는 고성능 솔루션

  • 등록 2019.11.15 16:34:05
URL복사
[선착순 마감임박] 우리 기업에 꼭 필요한 AI를 활용해 비즈니스를 확장할 수 있는 방법은? AI융합 비즈니스 개발 컨퍼런스에서 확인하세요 (5/3, 코엑스3층 E홀1~4)

[첨단 헬로티]



사람이나 물체를 감지하기 위한 에지 AI 애플리케이션이 점점 인기가 높아지고 있다. 하지만 성능을 희생하지 않으면서 낮은 전력과 소형화된 폼팩터로 에지 AI 솔루션을 구현하 기는 쉽지 않은 과제이다.


Lattice는 최신 버전 sensAI 기술 스택과 ECP5 및 iCE40 UltraPlus FPGA를 결합해서 에지 상으로 저전력 고성능 AI를 구현하기 위해서 필요한 모든 것을 제공한다. 여기에는 하드 웨어 플랫폼, IP, 소프트웨어 툴, 레퍼런스 디자인, 설계 서비스를 모두 포함한다.


시장 동향

가격대는 저렴하면서 성능은 높은 에지 솔루션의 시장 경쟁이 갈수록 치열해지고 있다. 유수의 시장 조사 회사들 이, 앞으로 6년에 걸쳐서 에지 솔루션 시장이 폭발적으로 성장할 것이라는 전망을 내놓고 있다. IHS는 2025년에 네트워크 에지 상으로 실행되는 디바이스가 400억 개에 달할 것으로 전망하고 있으며, Tractica는 같은 해에 에지 디바이스 출하가 25억 개에 달할 것으로 전망하고 있다.


차세대 에지 애플리케이션들이 등장함에 따라서, 디자이 너가 성능은 희생하지 않으면서 낮은 전력과 소형화된 폼팩터로 솔루션을 개발하기 위해서 일이 점점 까다로워지고 있다. 스마트 도어벨이나 보안 카메라 같은 애플리케 이션으로 사람을 감지하고, 재고 관리 같은 유통 애플리 케이션으로 물체를 감지하고, 산업용 애플리케이션으로 물체나 사람을 감지하기 위해서는 새로운 AI 솔루션이 필요하며, AI 기능을 위해서는 어느 때보다 높은 성능이 요구된다. 지연시간, 대역폭, 프라이버시 보호, 전력, 비용 측면의 문제들 때문에 분석을 위해서 클라우드를 활용하 기가 여의치 않을 수도 있다.


뿐만 아니라 애플리케이션마다 성능, 전력, 비용 요구가 다를 수 있다. 항상 켜져 있어야 하는 ‘always-on’ 에지 애플 리케이션으로 클라우드 기반 서비스 사용이 꾸준히 늘어나는 한편으로, 전력, 풋프린트, 비용이 여전히 과제로 남아 있다. 그렇다면 개발자들이 mW 대의 전력 예산과 5mm2부터 100mm2 까지 이르는 다양한 폼팩터로 갈수록 심화되는 시스템 제약들을 어떻게 충족할 것인가? 다양한 성능대를 충족하는 것만 하더라도 쉽지 않은 과제이다.


FPGA의 이점

Lattice의 FPGA를 활용함으로써 빠르게 변화하는 에지 디바이스 시장의 요구를 충족할 수 있다. 클라우드에 의존하지 않고 에지 상으로 빠르게 높은 성능을 제공할 수있는 한 방법이 FPGA의 고유한 특성인 병렬 프로세싱 능력을 활용해서 신경망 성능을 가속화하는 것이다. 저전력 용으로 최적화되고 컴팩트한 패키지로 제공되는 저밀도 FPGA를 활용함으로써 첨단 컨슈머 및 산업용 애플리케 이션으로 전력 및 풋프린트 제약을 충족할 수 있다.


Lattice의 iCE40 UltraPlus™ 및 ECP5™ 제품을 사용 함으로써 5.5mm 2 부터 100mm 2 에 이르는 컴팩트한 하드 웨어 플랫폼으로 전력 소모가 1mW부터 1W까지 이르는 에지 솔루션을 개발할 수 있다. 이들 FPGA는 극히 낮은 전력, 높은 성능, 우수한 정확도에 포괄적인 인터페이스 지원을 결합함으로써 에지 디바이스 개발자들이 변화하는 설계 요구를 충족하기 위해서 필요로 하는 유연성을 제공한다.


그림 1. Lattice Semiconductor의 저전력 소형 FPGA는 에지 AI 애플리케이 션에 사용하기에 적합하다.


이들 FPGA 제품을 사용한 개발을 돕기 위해서 Lattice는 sensAI™라고 하는 포괄적인 기술 스택을 제공한다.

sensAI는 스마트 홈, 스마트 팩토리, 스마트 시티, 스마트카 용으로 저전력 고성능 에지 디바이스를 개발하기 위해서 필요로 하는 모든 툴을 제공한다. 에지 디바이스로 갈수록 높아지는 AI 요구를 충족하도록 설계된 sensAI는 네트워크 에지 상으로 실행되는 스마트 디바이스로 저전력 AI 기능을 구현하기 위해서 사용할 수 있는 포괄적인 하드웨어 및 소프트웨어 솔루션을 제공한다. 이 기술 스택은 2018년에 개발되었다. 이 기술 스택을 사용해서 새로운 디자인을 빠르게 개발하거나 기존 디자인을 저전력 AI 추론 기능을 추가해서 매끄럽게 업데이트할 수 있다.


이 포괄적인 설계 에코시스템은 어떻게 구성되었는가? 먼저, 애플리케이션 개발을 위한 견고한 토대로서 iCE40 UPduino 2.0 및 HM01B0 쉴드 보드와 ECP5 기반 임베디드 비전 개발 키트(EVDK) 같은 Lattice의 모듈러 하드웨어 플랫폼을 제공한다. UPduino는 수 mW만을 소모하는 AI 디자인에 사용하기 적합하며, EVDK는 좀더 높은 1W 미만 으로 동작하는 애플리케이션에 사용하기 적합하다.


소프트 IP를 FPGA로 손쉽게 사례화할 수 있으므로 신경망 개발을 빠르게 할 수 있다. sensAI 개발 패키지로 컴팩 트한 컨볼루션 신경망(CNN) 가속화기 IP를 포함하므로, 이를 사용해서 iCE40 UltraPlus FPGA로 딥 러닝 애플 리케이션을 구현할 수 있다. 또한 sensAI는 Lattice의 ECP5 FPGA로 구현하기 위한 포괄적인 CNN 파라미터화 가속화기 IP 코어를 제공한다.


Lattice의 sensAI 스택을 사용해서 편리한 툴 플로우로 설계를 시험하고 조절할 수 있다. Caffe, TensorFlow, Keras 같은 표준적 프레임워크를 사용해서 신경망 학습을 할 수 있다. 이 개발 환경은 또 신경망 컴파일러를 제공 한다. 이 컴파일러를 사용해서 학습된 신경망 모델을 고정소수점 표현으로 맵핑할 수 있다. 이 컴파일러를 사용 해서 사전 RTL이 필요 없이 Lattice의 가속화기 IP 코어로 구현하기 위한 신경망을 분석하고, 시뮬레이트하고, 컴파일할 수 있다.


그런 다음에는 Lattice의 Radiant와 Diamond 같은 전통적인 FPGA 설계 툴을 사용해서 전체적인 FPGA 설계를 할 수 있다. 또한 sensAI 스택은 구현 작업을 빠르게 할 수 있도록 다양한 레퍼런스 디자인과 데모를 제공한다. 어떤 경우에는 설계 팀이 디자인을 완성하기 위해서 전문성이 부족할 수있다. 이럴 때 필요로 하는 AI/ML 전문성을 제공할 수 있도록 Lattice는 세계 여러 지역에서 설계 서비스 파트너 사들과 관계를 맺고 현지에서 고객들을 지원한다.


그림 2. Lattice의 sensAI는 에지 AI 애플리케이션 개발을 위한 포괄적인 하드웨어 및 소프트웨어 솔루션 스택이다.



대대적 향상

에지 AI에 대해서 빠르게 높아지는 성능 요구를 충족하기 위해서 Lattice는 2019년에 sensAI의 성능과 설계 플로 우를 대대적으로 향상시켰다. 개정된 기술 스택은 이전 sensAI 스택에 비해서 10배 향상된 성능을 제공한다. 이와 같은 성능 향상은 여러 측면에서 이루어졌다. 업데이 트된 CNN IP를 사용해서 메모리 액세스를 최적화하고, 신경망 네트워크 컴파일러로 8비트 양자화, 스마트 레이어 융합, 듀얼 DSP 엔진 같은 기능을 추가한 것을 들 수있다.


새 버전은 신경망 컴파일러를 8비트 입력 데이터를 지원하도록 업데이트함으로써 메모리 액세스 시퀀스를 크게 향상시킨다. 이렇게 함으로써 외부 메모리 액세스를 절반으로 줄일 뿐만 아니라, 데이터 입력으로 더 높은 해상도의 이미지를 사용할 수 있다. 더 높은 해상도의 이미 지를 사용함으로써 정확도를 높일 수 있다.


또 성능을 가속화하기 위해서 SensAI 신경망으로 컨볼루션 레이어를 최적화함으로써 컨볼루션을 계산하기 위해서 소요되는 총 시간을 단축한다. 또한 Lattice는 자사 디바이스로 가능한 컨볼루션 엔진 양을 두 배로 늘림으로 써, 컨볼루션 시간을 약 50퍼센트 줄일 수 있다.


Lattice가 전력 소모는 늘리지 않으면서 성능을 높임으로 써, 디자이너들이 전력을 늘리지 않으면서 Lattice의 ECP5 FPGA 제품 라인 중에서 게이트 수가 더 적은 디바 이스 제품으로 이전할 수 있게 되었다. 저전력 용으로 최적화되었으며 CMOS 이미지 센서를 채택한 사람 감지 데모는 VGG8 신경망을 통해서 64 x 64 x 3의 해상도를 제공한다.


이 시스템은 iCE40 UltraPlus FPGA를 사용해서 초당 5프레임으로 실행되며 7mW만을 소모한다. 또 다른 성능 최적화 데모는 인원 집계 애플리케이션 용으로 역시 CMOS 이미지 센서를 채택한 것으로서, VGG8 신경망을 통해서 128 x 128 x 3의 해상도를 제공한다. 이 데모는 ECP5-85K FPGA를 사용해서 초당 30프레임으로 실행 되며 850mW를 소모한다.


그림 3. 이들 레퍼런스 디자인은 sensAI를 사용해서 전력이나 성능으로 최적화한 것을 보여준다.


또한 sensAI는 새로운 신경망 모델과 머신 러닝 프레임워 크를 지원한다. 새로운 맞춤화 가능 레퍼런스 디자인들을 사용해서 물체 집계나 사람 감지 같은 에지 솔루션 개발을 빠르게 할 수 있으며, 전문적인 설계 서비스를 제공하기 위한 더 많은 수의 설계 파트너사들을 지원한다.


그림 4. sensAI 설계 플로우는 앞선 머신 러닝 프레임워크, 학습 데이터와 스크립트, 신경망 IP를 비롯해서 에지 AI 디바이스를 설계하고 학습하기 위해서 필요로 하는 모든 요소들을 제공한다.


그림은 Lattice가 학습 모델, 학습 데이터 셋, 학습 스크립트, 업데이트된 신경망 IP, 업데이트된 신경망 컴파일러를 포함 해서 필요로 하는 모든 요소들을 제공한다.또한 Lattice는 사용자 편의를 위해서 머신 러닝 프레임워크 지원을 확대 했다. 이전 sensAI 스택은 Caffe와 TensorFlow만 지원 했는데, 새 버전에서는 Keras 지원을 추가했다.


Keras는 파이썬으로 작성된 오픈 소스 신경망으로서 TensorFlow, Microsoft Cognition Toolkit, Theano 상에서 실행할 수 있도록 설계되었다. Keras는 엔지니어들이 딥 신경망을 빠르게 시험할 수 있도록 극히 사용자 친화적이고 모듈러 식으로 확장성이 뛰어난 환경을 제공함으로써 빠르게 프로토타입을 제작할 수 있다. 원래는 단독적인 머신 러닝 프레임워크가 아니라 인터페이스로서 구상된 것으로서, 개발자들을 위해서 고도의 추상화를 제공하므로 딥 러닝 모델을 빠르게 개발할 수 있다.


역시 사용 편의성을 높이기 위해서, 머신 러닝 모델을 펌웨어 파일로 변환할 때 가장 정확한 가수 비트(fraction bits)를 자동으로 선택하도록 sensAI 신경망 컴파일러 툴을 향상시켰다. 또한 새 버전의 sensAI 스택은 하드웨어 디버깅 툴을 제공하므로 신경망의 모든 레이어로 읽고 쓸수 있다. 소프트웨어 시뮬레이션을 마친 다음에는 엔지니 어들이 자신의 신경망이 실제 하드웨어로 어떻게 동작하 는지 알고 싶을 것이다. 이 툴을 사용해서 단 수분 만에 실제 하드웨어로 결과를 볼 수 있다.


또한 최신 버전 sensAI는 저전력 에지 디바이스에 필요로 하는 설계와 제품 개발을 돕기 위해서 더 많은 수의 파트너 업체들을 지원한다. 이들 업체들의 도움을 받아서 기존 디자인을 매끄럽게 업데이트하거나 특정 애플리케이션 용으로 새로운 솔루션을 개발할 수 있다.


sensAI 활용 사례

Lattice의 새로운 고성능 스택을 사용하기에 적합한 활용 사례는 4가지 용도로 구분할 수 있다. 첫째, 디자이너들이이 스택을 사용해서 단독으로 동작하는 솔루션을 개발할수 있다(그림 5). 이 시스템 아키텍처는 Lattice의 iCE40 UltraPlus나 ECP5 FPGA를 사용해서 낮은 지연시간과 보안적인 구현으로 시스템 제어 용으로 FPGA 자원을 사용하는 통합적인 솔루션을 개발할 수 있다. 이 활용 사례로 대표적인 애플리케이션으로는 사람이 존재하는지 감지하 거나 인원을 집계하기 위한 단독적인 센서를 들 수 있다.


그림 5. sensAI 스택을 활용한 단독형 에지 AI 프로세싱 솔루션


또한 sensAI 스택을 사용해서 두 가지 유형의 전처리 솔루 션을 개발할 수 있다. Lattice의 sensAI 스택과 저전력 iCE40 UltraPlus FPGA를 사용해서 센서 데이터를 전처 리를 하고 분석을 위해서 SoC나 클라우드로 전송하기 위해서 소요되는 비용을 최소화할 수 있다. 예를 들어서 스마트 도어벨 같은 경우에, sensAI 솔루션을 사용해서 이미지 센서 데이터에 대해서 일차적인 읽기를 할 수 있다. 이 작업을 통해서 고양이 같이 사람이 아닌 것으로 식별되면, 추가적인 분석을 위해서 SoC를 깨우거나 클라우드로 연결하지 않는다. 그러므로 데이터 비용과 전력 소모를 최소화할수 있다. 만약에 전처리 시스템이 문 앞에 서 있는 대상이 사람이라고 식별하면 SoC를 깨워서 추가적인 분석을 한다. 이 방법으로 시스템이 분석해야 하는 데이터 양과 이기능을 수행하기 위해서 소요되는 전력을 크게 줄일 수 있다. 그러므로 특히 항상 켜져 있어야 하는 “always-on” 에지 애플리케이션에 사용하기에 적합하다.



그림 6. 센서 데이터를 전처리를 해서 SoC로 보내서 추가적인 분석을 할지 말지 결정한다.


또 다른 전처리 애플리케이션은 ECP5 FPGA를 사용해서 신경망 가속화를 하는 것이다(그림 7). 고객들이 갈수록 기존의 MCU 기반 솔루션으로, 부품을 변경하거나 설계를 대대적으로 변경할 필요 없이, 특정한 형태의 AI 기능을 추가하고자 원하고 있다. 하지만 많은 경우에 기존 MCU는 이러한 용도로 성능이 딸린다. 예를 들어서 지능 적인 산업용 또는 가정용 애플리케이션으로 분석에 앞서 이미지에 대해서 추가적인 필터링을 필요로 할 수 있다.


이러한 경우에 또 다른 MCU를 추가하는 방법을 사용하면 설계를 검증하기 위해서 많은 시간이 소요되는데, 또다른 방법으로서 MCU와 데이터 센터 사이에 가속화기를 사용해서 전처리를 하면 클라우드로 전송해야 할 데이터 양을 최소화할 수 있다. 이 방법은 IoT 디바이스로 AI 기능을 추가하고자 하는 개발자들에게 특히 매력적이다.



그림 7. ECP5와 sensAI 스택을 사용해서 센서 데이터를 전처리를 함으로써 전반적인 신경망 성능을 가속화할 수 있다.


후처리 용으로도 sensAI 가속화기를 사용할 수 있다(그림 8). 데이터를 클라우드로 전송해서 처리하는 것이 아니 라, ECP5 FPGA를 에지 상에서 가속화기로 사용할 수 있다. 예를 들어서 보안 카메라나 스마트 도어벨로, 메인 시스템 SoC 다음에 ECP를 사용해서 SoC가 이미지 데이터를 필터링한 다음에 이미지 센서로부터의 데이터에 대해서 패턴 검출을 할 수 있다. 이렇게 하면 클라우드로 패턴 검출을 하기 위해서 전송할 필요가 없으므로 대역폭을 절약할 뿐만 아니라 보안과 프라이버시 보호에 관련된 염려를 줄일 수 있다.


그림 8. ECP5를 사용해서 패턴 검출을 함으로써 데이터를 클라우드로 전송할 필요가 없다.


맺음말

앞으로 스마트 에지 디바이스 시장이 빠르게 성장할 것이 다. 애플리케이션이 갈수록 복잡해짐에 따라서 디자이너 들이 낮은 전력으로 높은 성능을 달성할 수 있는 툴들을 필요로 할 것이다. Lattice는 최신 버전 sensAI 기술 스택과 ECP5 및 iCE40 UltraPlus FPGA를 결합해서 하드 웨어 플랫폼, IP, 소프트웨어 툴, 레퍼런스 디자인, 설계 서비스를 비롯해서 디자이너들이 경쟁에서 앞서 나가고 빠르게 성공적인 솔루션을 개발하기 위해서 필요로 하는 모든 것을 제공한다.


글 / Lattice Semiconductor










배너









주요파트너/추천기업