인공지능(AI) 가속기의 생태계, 하드웨어 가속기의 개발속도를 높이기 위한 방법론

최태우 기자 / 기사승인 : 2020-02-18 11:56:32
  • -
  • +
  • 인쇄
▲ [source=alibaba damo academi]
인공지능(AI) 시스템의 핵심설계 영역은 머신러닝(ML) 알고리즘의 설계다. 이를 하드웨어에서 가속시켜 전력 및 성능 목표를 달성할 수 있다. 이러한 알고리즘을 개발하는 팀들은 기존의 RTL 설계 플로우로는 구현 일정에 맞출 수 없다는 사실을 곧바로 알게 된다.

알고리즘은 빈번하게 수정되기도 하며, 성능 사양이 변경될 수도 있고, 목표 플랫폼에 대한 통합이 설계 주기 후반에 가서 바뀔 수도 있다.

설상가상으로 설계 팀은 전력과 성능, 면적 간의 절충을 모색하기 위해 RTL을 재코딩 해야 한다. 그것이 요건의 변경 때문이든 혹은 설계 분야의 모색 때문이든, 소스 디자인이 변경되면 설계 및 검증 프로세스 전체를 다시 시작해야 하므로 생산 일정에 허용 불가한 지연이 발생하거나 보다 나은 하드웨어를 모색하고 개발할 수 있는 기회를 놓치게 된다(그림 1).
 
▲ 그림 1. 변경은 RTL 플로우에 지연을 가져온다.
그래서 이들 팀은 Catapult HLS 플랫폼에서 제공하는 것과 같은 상위수준 합성 플로우를 활용하여 ML 가속기를 설계 및 검증하고 이를 시스템에 연결시킨다. 이 플랫폼은 C++로부터 생성되는 전력 및 프로세스 기술에 최적화된 RTL에 이르기까지 완전한 설계와 검증 플로우을 제공한다.

AI 가속기(AI accelerator) 생태계의 도입

Catapult HLS 플랫폼은 IC디자이너들에게 입증된 툴 플로우을 제공한다. 하지만 멘토는 여기에서 한참 더 나아가 AI 가속기 생태계(그림 2)를 제공하고 있는데, 이것은 AI 디자이너들에게 프로젝트 시작을 도와줄 수 있는 환경을 제공한다.  

▲ 그림 2. 인공지능(AI) 가속기 생태계

특수 데이터 유형을 기반으로 구축된 IP라이브러리
이 생태계에는 풍부한 IP라이브러리가 포함되어 있다. 라이브러리는 FPGA나 eFPGA 또는 ASIC 기술로 합성할 수 있는 이해하기 쉬운 고품질의 기본 빌딩블록을 제공하므로 하드웨어 가속화를 보다 빠르게 실행할 수 있다.

해당 라이브러리는 임의 길이 정수, 고정 소수점, 부동 소수점 및 복소수의 특수 데이터 유형을 토대로 구축되어 있어, 이를 통해 코드를 C++ 모델과 동일한 비트별 동작을 갖는 하드웨어로 합성할 수 있다. 이 IP 라이브러리에는 다음 사항들이 포함된다:

- 알고리즘 C 수학 라이브러리: 표준 C++ math.h 헤더는 물론 C++ 매트릭스 클래스와 선형 대수함수에서도 일반적으로 볼 수 있는 수학 연산자를 위한 합성 가능한 C++ 함수를 정의한다.

- 알고리즘 C DSP 라이브러리: 필터 및 고속 푸리에 변환(FFT: Fast Fourier Transforms)과 같이 DSP 디자이너가 일반적으로 필요로 하는 합성 가능한 C++ 함수를 정의한다.

- 알고리즘 C 이미지 프로세싱 라이브러리: 일반적인 픽셀 포맷 유형의 정의 몇 가지로 시작한다. 이러한 유형들은 C++ 템플릿 매개변수를 이용하여 색상 심도와 포맷(RGB, YUV)을 구성한다. 이어서 라이브러리는 색상 변환, 경계 처리, 2차원 컨벌루션(2-D convolution)용 윈도잉 클래스 등과 같이 이미지 프로세싱에 유용한 다양한 함수 블록들을 제공한다.

툴킷
AI 가속기 생태계가 제공하는 툴킷은 가속기 기반 레퍼런스 디자인의 실제적이고 테스트된 예제로서, 개발 팀은 이를 학습하고 수정 및 복사하여 프로젝트 시작을 도울 수 있다. 이러한 키트에는 구성 가능한 C++/SystemC IP 소스코드, 문서, 테스트벤치 및 스크립트가 포함되어 있어 디자인을 HLS 합성 및 검증 플로우를 따라 진행할 수 있다.

해당 툴킷이 제공하는 다양한 접근법과 코딩 기법을 통해 성능(대기시간), 프레임률, 면적 및 전력 간의 절충을 실험해볼 수 있다. 현재 사용 가능한 툴킷들은 다음과 같다:

▲픽셀파이프 비디오 프로세싱 툴킷: 픽셀-파이프 가속기를 이용한 실시간 이미지 프로세싱 애플리케이션을 보여준다. 블록은 이미지를 축소(downscale)하고 컬러에서 흑백으로 변환하여 가장자리를 탐지해낸 뒤 다시 확대(upscale)한다.

▲2-Convolution 툴킷: C++에서 Eyeriss 처리요소(PE) 어레이를 코딩하는 방법을 보여준다. 이는 2차원 컨벌루션(2-D convolution)을 구현하여 이미지 향상 기능(선명화, 블러링, 가장자리 탐지)을 수행한다. 처리 요소는 3×1 곱셈누적(컨볼루션) 연산을 수행할 수 있다.

처리 요소를 수직으로 쌓으면 3×3 컨벌루션을 얻을 수 있는데, 이 경우 수행되는 이미지 향상 정도는 커널 가중치에 의해 결정된다.

▲tinyYOLO 객체 분류 툴킷: 2-D Eyeriss 툴킷의 PE 배열로 구현된 컨벌루션 가속기 엔진을 사용하여 객체 분류 애플리케이션을 시연한다. tinyYOLO(“You Only Look Once”) 신경망 아키텍처를 토대로 하며, 객체 분류를 실행하기 전에 이미지 크기를 조정하기 위한 비디오 전처리 블록을 포함하고 있다.


이 툴킷은 AXI4 인터커넥트를 통해 고속 데이터 라우팅을 달성하는 방법을 보여주며, 고성능 메모리 아키텍처를 정의하는 방법도 보여준다. C++로 구현된 네트워크 계층의 추론 테스트를 위해 TensorFlow 통합 기능을 제공한다.

시스템 통합
가속기 블록은 고립된 상태에서 기능하는 것이 아니라 시스템에 연결되어야 한다. Catapult HLS는 Interface Synthesis를 제공함으로써 시간제한 프로토콜을 시간 무제한 C++ 함수 인터페이스 변수에 추가한다.

디자이너는 단지 Catapult GUI에서 이 프로토콜에 대한 구조적 제약조건을 설정하기만 하면 된다. 이 툴은 AXI4 비디오 스트림, 요청/승인 핸드셰이킹 및 메모리 인터페이스와 같은 일반적인 프로토콜을 지원한다. 이를 통해 디자이너는 C++ 소스를 변경하지 않고도 인터페이스 프로토콜들을 모색해볼 수 있다.

AI 가속기 생태계는 시스템 통합을 지원하기 위해 다음과 같이 완전히 기능하는 일련의 설계 예제들을 제공한다:

◆AXI 예제: Catapult HLS가 생성하는 AXI 인터페이스 IP를 이용해 AXI SoC 서브시스템 내에서 하나 이상의 가속기 구성요소를 인스턴스화 하는 방법을 보여준다. 마스터, 슬레이브 및 스트리밍 예제를 사용할 수 있다.

◆기본 프로세서 예제: ML 가속기를 완전한 프로세서 기반 시스템에 연결하는 방법을 보여준다. 이것은 AXI 예제를 이용한다. 이 예제에서 ML 가속기는 2차원 컨벌루션과 맥스 풀링(max pooling)을 이용하는 단순한 곱셈누적 연산(MAC) 아키텍처를 채택하고 있다. 여러 써드파티 프로세서 IP 모델이 지원되며, 베어메탈 프로그래밍을 위한 소프트웨어 플로우가 (관련 데이터와 함께) 포함된다.


아울러 설계 팀은 프로젝트에 도움이 필요할 수 있는데, 생태계에서 여러 가지 방식으로 도움을 줄 수 있다. 그 몇 가지 예는 다음과 같다:

- 온디맨드 교육: 툴의 효율적인 사용 방법을 배울 수 있도록 체계적이며 자기 진도에 따라 학습할 수 있는 온라인 교육 경험을 제공한다.

- 세미나: 전 세계에 생중계 된 뒤에 동영상으로 녹화되어 언제라도 온라인으로 시청할 수 있다.

- 컨설팅: 툴 플로우를 팀의 환경에 통합시킬 수 있도록 현장 도움말을 제공하며, 최적의 합성을 위해 C++ 알고리즘의 설계도 지원한다.


AI 가속기 생태계와 상위수준 합성의 결합을 통해 팀들의 AI 프로젝트를 시작할 수 있다. 이 생태계에서 제공하는 광범위한 기능 덕분에 팀은 그 경험 수준에 관계없이 프로젝트를 보다 빨리 출시하기 위해 필요한 사항들을 선택할 수 있다.


글 : 데이빗 버넷(David Burnette) / 엔지니어링 디렉터 / 멘토, 지멘스비즈니스

 

[저작권자ⓒ IT비즈뉴스. 무단전재-재배포 금지]

[관련기사]

바이두, AI 전용 칩 ‘쿤룬(Kunlun)’ 발표…AI 칩 기술경쟁 합류2018.07.05
中 바이두, 인텔과 모바일엣지컴퓨팅(MEC) 기술개발 협력 추진2018.09.27
멜라녹스 인수전 뛰어든 엔비디아, 판 커진 인수경쟁2019.03.11
“미래 반도체시장, 미세공정기술 아닌 칩의 다양성에 좌우될 것”2019.06.26
정부, 시스템반도체·미래차에 3578억원 투입…내년도 R&D 예산안 확정2019.07.01
멘토 ‘벨로체 스트라토’, 일루바타 코어엑스의 AI칩 검증 플랫폼으로 탑재2019.07.02
“구글(TPU), 자일링스(FPGA)…시장 플레이어와의 경쟁 환영한다”2019.07.03
인텔·바이두, AI 학습용 신경망프로세서(NNP) 개발 협력 발표2019.07.04
‘자율주행차의 딜레마’ 푸는 안전성 입증 방법론, 해결책은?2019.07.05
[그것을 알려주마] "삼성이 NPU 설계자산(IP) 개발에 나서는 진짜 이유"2019.07.05
패키지형 서비스 선보인 ARM, “RISC-V 생태계 견제가 목적?”2019.07.17
‘십년 만에 최악’ 반도체시장, ‘무역분쟁’ 이슈로 공급체인 변화도 감지2019.07.24
네이버가 선택한 팹리스기업, “퓨리오사AI를 아십니까?”2019.08.14
너바나(Nervana) 신경망 칩 내세운 인텔, “더 늦기 전에 주도권 확보”2019.08.21
인공지능(AI)이 반도체시장에 제공하는 기회, ‘ML+EDA는 트렌드 아닌 필수’2019.08.31
“설계-제조역량, 도전, 에코시스템…3박자 갖출 때 시스템반도체 성장할 것”2019.09.05
FPGA기업이자 FPGA기업이 아닌 자일링스, 금융·핀테크 IT인프라 시장에 뛰어든 이유2019.09.18
[단독] 자일링스, 머신러닝(ML) 라이브러리 수백 개…오픈소스로 푼다2019.10.02
반도체대전에 부스 마련한 세미파이브, “커스텀 SoC 설계 가속화 도울 것”2019.10.11
반도체 수출액, 2월 바닥찍고 진정세…내년도 반도체시장 성장세 관측도2019.11.04
[그것을 알려주마] SK텔레콤은 왜? AI가속기에 ‘GPU’ 아닌 ‘FPGA’를 선택했나2019.11.04
ISA 공개하지 않는 ARM, 대안으로 내놓은 ‘플렉서블 액세스’ 프로그램은?2019.11.14
지멘스·경기과학기술대, 자동화산업 인재양성 위한 MOU 체결2019.11.18
2020년 반도체시장, 낸드 중심 가격 회복세…“ICT산업계 회복국면 진입”2019.11.18
지멘스, 아틀라스3D 인수 발표…AM 제품군 확장2019.11.19
멘토, 전장IC 설계자동화·기능안전성 테스팅 솔루션 2종 공개2019.11.27
멘토, 그래프코어 AI칩(IPU) 디자인 검증에 ‘퀘스타’ 툴 공급2019.12.02
정부, 반도체·헬스케어·미래차 ‘빅3’ 부문 벤처·스타트업 집중 지원한다2019.12.12
바이두 AI칩 ‘쿤룬(Kunlun, 昆仑)’, 내년 양산시작…공정은 삼성 파운드리 적용2019.12.18
[오토모티브월드 2020 현장 이모저모] SiC파워모듈·자율주행 솔루션 내건 로옴(ROHM)2020.01.18
로옴, NXP반도체 ‘i.MX 8M 나노’ AP에 최적화된 PMIC 양산 시작2020.02.05
[그것을 알려주마] AI/ML 구현의 핵심 실리콘…“CPU, GPU, NPU와 FPGA, 그럼 IPU는 뭐야?”2020.02.05
[인사] 한국지멘스, 디지털인더스트리(DI) 부문 신임대표로 토마스 슈미드 선임2020.02.17
인공지능(AI) 가속기의 생태계, 하드웨어 가속기의 개발속도를 높이기 위한 방법론2020.02.18
지멘스·한양대, 스마트제조 SW 전문인재 양성 ‘맞손’…2022년 전문 교육과정 개설 추진2020.02.24
AI 팹리스 스타트업 ‘미씩(Mythic)’, IPU 회로검증에 멘토 솔루션 도입2020.02.26
로옴, 웹 기반 회로검증 툴 ‘로옴 솔루션 시뮬레이터’ 무료 배포2020.02.28
멘토 IC설계검증 툴, UMC 22나노(nm) 공정기술 적합성 인증 획득2020.03.10
  • 글자크기
  • +
  • -
  • 인쇄
뉴스댓글 >

주요기사

+

많이 본 기사

마켓인사이트

+

컴퓨팅인사이트

+

스마트카

+

PHOTO NEWS