자일링스의 적응형 컴퓨팅 가속화 플랫폼, 즉 ACAP은 모터 제어(제어 알고리즘)와 로보틱스(모션 플래닝), 의료용 이미징(초음파 빔포밍) 등과 같은 애플리케이션에서 핵심적인 산업 및 헬스케어 기능을 가속화하는데 사용할 수 있지만, 이 글에서는 AI에 중점을 두고자 한다.
최근에 이사를 하고 짐을 정리하면서 드라이버와 편지 개봉칼, 깡통따개 등 각종 도구들을 찾아 사용해야 했다. 그러던 중 각 작업별로 다른 특정 도구를 사용하고 있다는 것을 알게 되었다. 이를 보던 한 친구가 스위스 군용 칼을 선물했다. 이 칼은 필요한 모든 도구들이 들어 있었고, 새로운 용도가 생기더라도 이 칼을 이용할 수 있었다. 문득 자일링스의 적응형 컴퓨팅 가속화 플랫폼(ACAP:
Adaptable Compute Acceleration Platform)을 AI를 위한 스위스 군용 칼에 비유할 수 있다는 생각이 떠올랐다.
산업 및 헬스케어 분야의 AI 기반 시스템들은 연구 프로젝트 및 프로토타입에서 점차 제품화 단계로 나아가고 있다. 이를 위해서는 낮은 비용과 전력 및 지연시간으로 보다 뛰어난 컴퓨팅 및 성능을 제공해야 하는 엣지 장치 고유의 핵심 요구사항을 충족해야 한다.
또한 AI 과학자들은 각기 다른 최적의 하드웨어 아키텍처를 필요로 하는 보다 새로운 알고리즘과 모델을 만들기 위해 끊임없이 혁신하고 있다.
자일링스의 적응형 컴퓨팅 가속화 플랫폼, 즉 ACAP은 모터 제어(제어 알고리즘)와 로보틱스(모션 플래닝), 의료용 이미징(초음파 빔포밍) 등과 같은 애플리케이션에서 핵심적인 산업 및 헬스케어 기능을 가속화하는데 사용할 수 있지만, 이 글에서는 AI에 중점을 두고자 한다.
자일링스와 오늘날의 AI
자 일 링 스 는 징 크 울 트 라 스 케 일+(Zynq? UltraScale+) MPSoC의 적응형 컴퓨팅 특성과 디파이(Deephi) 인수를 통해 AI 추론 분야의 선도 기업으로 부상했다. 디파이는 예측 정확도를 유지하면서 신경망을 수십 배까지 압축하는 기술인 CSNN(Compressed and Sparse Neural Networks) ‘심층 압축(Deep Compression)’에 대해 세계 최초로 논문을 발표한 기업이다(심층 압축이 수행된 모델은 추론 속도가 최대 3~4배 빨라지고, 에너지 효율은 3~7배까지향상된다).
자일링스의 징크 울트라스케일+ MPSoC는 핵심 구성요소로 애플리케이션 프로세서((Arm? Cortex-A53)와 실시간 프로세서(ARM Cortex-R5) 및 프로그래머블 로직(PL: Programmable Logic)을 포함하고 있다. 이 플랫폼은 PL에 구현된 DPU(Deep Learning
Processing Unit)에 압축된 출력 신경망을 구축할 수 있도록 함으로써 압축된 신경망을 가속화하여 보다 뛰어난 성능을 제공한다.
DPU는 PL에 구현되기 때문에 다양한 규모로 각기 다른 레벨의 병렬처리를 지원할 수 있으며, 선택한 플랫폼에서 사용 가능한 하드웨어 리소스를 기반으로 단일, 이중 또는 삼중 코어 등으로 구현이 가능하다.
또한 자일링스는 2017년에 적응형 컴퓨팅 속성을 활용한 INT8 DPU를 공개하고, 부동소수점(FP32)에서 정수(INT8)로 이행함으로써 우수한 정확도를 유지하면서도 메모리 스토리지와 대역폭을 줄이는데 성공했다.
그런 다음, 어렵지만 매우 중요한 도전과제에 직면했다. 수많은 딥러닝 프레임워크(텐서플로우(TensorFlow), 카페(Caffe), 다크넷(Darknet) 등)로 작업을 수행하는 AI 과학자들은 자일링스 포트폴리오 내의 여러 하드웨어 플랫폼을 이용해 적용 사례에 가장 적합한 플랫폼을 찾고자 한다.
또한 가장 익숙한 언어로 개발하기를 원한다. 이러한 요구를 해결하기 위해 자일링스는 2019년에 널리 사용되는 딥러닝 프레임워크 모델로 동작하고, 범용 프로그래밍 언어를 이용해 엣지 포트폴리오 또는 클라우드 포트폴리오의 모든 디바이스에 사용할 수 있
는 통합 툴인 바이티스 AI(Vitis AI™)를 출시했다.
바이티스 AI는 사용자 지정 데이터 세트로 재트레이닝이 가능한 50개 이상의 사전 트레이닝 및 사전 최적화된 오픈소스 AI 모델(자일링스 Model Zoo)과 함께 제공되기 때문에 AI 소프트웨어 개발자들이 처음부터 모델을 트레이닝하고, 최적화하는 것에 비해 훨씬 더 상위 레벨에서 개발 작업을 시작할 수 있도록 해준다.
그림 1. 자일링스의 ACAP은 AI 추론 등을 위한 스위스 군용 칼과 같다.
오늘날의 AI를 위해 자일링스가 제공하는 주요 이점:
• 리소스 사용률 감소 : 낮은 정밀도(INT8)의 CNN(Compressed Neural Network)은 DSP, LUT(Look-Up Table) 및 메모리 점유공간의 감소를 의미한다.
• 낮은 전력소모 : 리소스 사용률이 낮아지면 기본적으로 전력소모가 줄어든다.
• BOM 비용 절감 : 사용 가능한 추가 리소스를 사용하여 동일한 비용으로 부가 기능을 추가할 수 있다.
• 딥러닝 프레임워크 지원 : 카페, 파이토치(PyTorch) 및 텐서플로우
• 통합 개발 툴 : 자일링스의 바이티스 및 바이티스 AI를 사용하여 엣지 및 클라우드의 모든 디바이스를 대상으로 개발이 가능하다.
• AI 소프트웨어 개발자의 작업 플로우 변경을 최소화
자일링스와 미래의 AI
(많은 도구 중 2개의 칼)
오늘날의 AI에서 중요한 역할을 수행하는 기술과 적응형 컴퓨팅 기능을 갖춘 하드웨어 플랫폼을 제공하는 자일링스는 미래의 AI를 위해 지속적으로 노력하고 있다. 이 섹션에서는 자일링스에서 개발 중인 여러 미래의 적응형 컴퓨팅 접근방식 중 두 가지에 대해 설명하고자 한다:
• INT4 DPU
• FINN : 빠르고, 확장 가능한 QNN (Quantized Neural Network) 추론
참조: 이 섹션에서 설명하는 접근방식은 현재 자일링스에서 제품화한 것은 아니지만, 자일링스 하드웨어 플랫폼의 적응형 컴퓨팅 기능을 보여주기 위해 기술한 것이다.
A. INT4 DPU
앞에서 자일링스 바이티스 AI와 INT8 DPU에 대해 언급한 것처럼, INT8은 부동소수점에 비해 AI 추론을 처리하는데 있어 상당한 성능 향상을 제공한다. 적거나 동일한 리소스 제한에서 더 높은 성능과 짧은 지연시간이 요구되는 미래의 엣지 성능 요건을 고려하면, INT4 최적화가 해답일 것이다. 그러나 시간이 지나면서 하드웨어를 개선할 수 있는 시나리오를 상상해 보자. 현장에 배치된 기존의 자일링스 디바이스를 INT8 DPU에서 INT4 DPU로 업그레이드함으로써 로직 및 온칩 메모리의 사용률을 낮추고, 하드웨어의 성능을 최대 77%까지 향상시킬 수 있다.
INT4 DPU에 신경망을 구축하는 첫 번째 단계는 전체 양자화 프로세스를 하드웨어 친화적으로 만드는 것이다. INT4 양자화 방법은 다음 3가지 범주로 나눌 수 있다:
1. 양자화 메커니즘
2. 하드웨어 친화적인 양자화 설계
3. QAT(Quantization-Aware Training) 자일링스는 QAT(Quantized-Aware Training)를 사용한다. 이는 낮은 비트와 최대 정밀도 간의 정확도 격차를 줄이는데 사용되는 핵심 기술이다. QAT 중에서 선택한 알고리즘은 계층별(Layer-Wise) QAT이다. 이 방법은 이미지 분류, 포즈 추정, 2D 및 3D 감지, 시맨틱 분할 및 다중 작업에 사용할 수 있다.
나머지 개발 플로우는 동일하며, 사용자는 트레이닝된 모델을 가져와 자일링스 바이티스 AI를 통해 이를 실행하여 타깃 플랫폼에 구축 가능한 모델을 얻을 수 있다. INT4 DPU의 성능 향상은 INT8 DPU에 비해 1.5배 ~ 2배 정도에 이르며, 이미 확인된 리소스 사용률 감소, 전력소모 및 BOM 비용 절감과 같은 낮은 비트 추론의 이점은 물론, 널리 사용되는 딥러닝 프레임워크 및 프로그래밍 언어가 지원된다.
B. FINN
자일링스 연구소(Xilinx Researched 53Labs)의 FINN 프로젝트에 대한 첫 번째 논문은 2017년에 발표되었다. 이 글에서는 설계 공간 탐색을 가능하고, 자일링스 하드웨어 플랫폼에 완벽한 사용자 지정 추론 엔진을 자동으로 생성할 수 있는 엔드-투-엔드 툴인 2세대 FINN 프레임워크(FINN-R)에 대해 살펴보도록 하겠다.
FINN-R은 한 가지 주요 목표를 가지고 있다. 일련의 설계 제약사항과 특정 신경망을 고려하여 최상의 하드웨어 구현을 달성하고, 이러한 목표를 자동화하여 사용자가 자일링스 하드웨어 플랫폼에서 즉시 이점을 실현할 수 있도록 하는 것이다. 바이티스 AI와 마찬가지로, FINN-R은 널리 사용되는 여러 딥러닝 프레임워크(카페, 텐서플로우, 다크넷)를 지원하고, 사용자가 엣지 및 클라우드의 다양한 하드웨어 플랫폼을 사용할 수 있도록 해준다(Ultra96, PYNQ-Z1 및 AWS F1 인스턴스).
FINN-R은 어떻게 이러한 목표를 달성할 수 있을까? 해답은 완벽한 추론 가속기 아키텍처 선택과 FINN-R 툴 체인에 있다. 사용자는 두 가지 아키텍처를 선택하여 사용할 수 있다.
그림 2. 자일링스 하드웨어 플랫폼에서 AI 추론을 구현할 수 있는 자일링스 바이티스 AI 개발 플랫폼
이는 DF(Dataflow Architecture)라고 하는 해당 신경망에 적합한 맞춤형 아키텍처와 컴퓨팅 부하의 상당 부분을 오프로드하고, 파이프라인(MO)으로 반복하는 데이터 플로우 파이프라인 아키텍처이다. FINN-R 툴 체인은 QNN(Quantized Neural Network)을 사용하고, DF 및 MO 아키텍처에 대한 배포 패키지를 출력하는 프런트엔드 및 중간 표현(intermediate Representation), 그리고 백엔드를 갖추고 있다.
오늘날 FINN-R은 바이너리넷(BinaryNet), 다크넷, 텐서팩(Tensorpack)을 위한 프론트엔드를 갖추고 있으며, 더 중요한 것은 모듈형 특성을 통해 또 다른 프론트엔드를 추가하여 새롭게 부상하는 QNN 프레임워크에 대한 지원을 추가할 수 있다는 점이다. 따라서 사용자는 해당 설계 제약사항에 가장 적합한 하드웨어 구현을 선택하고, 이에 따라 하드웨어에 적합한 배포 패키지를 선택할 수 있다.
FINN과 INT4 DPU 간의 주요 차이점은 FINN은 가중치와 활성화 및 레이어가 서로 다른 정밀도를 가질 수 있는 모든 수 비트 신경망에 적합한 하드웨어 구현을 생성할 수 있다는 점이다.
또한 FINN은 레이어 및 연산자와 같은 다른 많은 요소들을 커스터마이징 할 수 있다. 이는 주어진 하드웨어 설계 제약조건에 따라 설계 성능을 조정하여 최적화하는데 매우 중요하다. 반면 INT4 DPU는 널리 사용되는 딥러닝 프레임워크에서 오늘날의 INT8 DPU에 비해 최대 77%까지 모델 추론을 가속화하고, 이를 엣지 및 클라우드의 모든 디바이스에 배포할 수 있지만, 고정형 하드웨어 리소스가 필요하다. 이러한 두 가지 플로우는 미래의 AI를 위해 사용자가 자일링스 플랫폼에서 추론을 가속화하는데 필요한 선택의 폭을 크게 넓혀준다.
결론
AI와 머신러닝은 보편화되고 있다. 고정형 아키텍처는 오늘날 요구되는 일부 인스턴스에는 적합하다. 그러나 이러한 모델과 요건은 지속적으로 변화하고, 새로운 요구사항도 발생하고 있으며, 일부는 아직 알려지지 않은 것들도 있다. 이러한 요건들이 무엇이든, 자일링스의 적응형 컴퓨팅 가속화 플랫폼은 오늘날의 AI 요구사항을 충족시키는 것은 물론, 진화하는 미래의 AI 요구사항에도 적응할 수 있다. 미래의 변화에 대응할 수 있는 임베디드 플랫폼을 통해 현재의 설계는 물론, 미래의 AI에도 대비해야 한다. 이제 스위스 군용 칼 하나만 있으면 모두 해결할 수 있다.
참고자료
•DPU INT4 기술백서
•FINN
• 산업, 비전 및 헬스케어 리소스 라이브러리
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>