Deep Learning HDL Toolbox

 

Deep Learning HDL Toolbox

FPGA 및 SoC에 딥러닝 신경망 프로토타이핑 및 배포

에지 배포를 위한 FPGA에서의 딥러닝 신경망 프로토타이핑과 구현을 보여주는 스크린샷.
툴박스에 포함된 프로그램 가능 딥러닝 프로세서의 블록 다이어그램.

신경망의 FPGA 기반 추론 수행

스케줄링 로직으로 제어되는 일반 딥러닝 계층을 갖춘 프로그램 가능 딥러닝 프로세서를 사용해 신경망의 FPGA 기반 추론을 수행할 수 있습니다. (Deep Learning Toolbox 사용) 

경계 상자로 흰색 트럭을 검출한 장면.

신경망 컴파일 및 배포

딥러닝 신경망을 딥러닝 프로세서가 실행할 일련의 지침으로 컴파일할 수 있습니다. 신경망을 FPGA에 배포하고 예측을 실행하면서 실제 소자상에서의 성능 메트릭을 수집할 수 있습니다. 

전자 컴포넌트, 커넥터 및 칩이 장착된 3개의 서로 다른 회로 기판 사진.

사전 구축된 FPGA 비트스트림 시작하기

사용 가능한 사전 구축된 비트스트림을 사용해 LSTM(장단기 기억) 신경망을 신속하게 프로토타이핑할 수 있습니다. 리소스 사용률 요구사항을 충족하기 위해 비트스트림 구성을 사용자 지정할 수 있습니다.

예제 (AMD | Altera)

FPGA 개발 보드에 연결된 Xilinx 비트스트림 코드의 일부.

FPGA로 신경망 배포

Deep Learning Toolbox를 사용하여 RNN 및 CNN을 개발하거나 신경망을 가져올 수 있습니다. 그런 다음 deploy 함수를 사용해 AMD FPGA(SoC Blockset 사용) 또는 Altera FPGA를 프로그래밍할 수 있습니다. 

MATLAB while 루프를 사용한 predict 함수 호출.

MATLAB 애플리케이션에서 FPGA 기반 추론 실행

테스트벤치, 전처리 및 후처리 알고리즘, FPGA 기반 딥러닝 추론을 포함한 전체 애플리케이션을 MATLAB에서 실행할 수 있습니다. 단일 함수 predict로 FPGA에서 추론을 수행하고 결과를 MATLAB 작업 공간에 반환할 수 있습니다. 

FPGA 추론 프로파일링 및 신경망 설계 조정

프로파일 메트릭을 사용해 FPGA에서 예측 실행 시의 계층 수준 대기 시간을 측정함으로써 신경망 구성을 조정해 성능의 병목 지점을 찾을 수 있습니다.

FPGA 배포를 위한 신경망 압축

양자화와 가지치기를 통해 딥러닝 신경망을 압축하여 리소스 사용률을 절감할 수 있습니다. Deep Learning Toolbox Model Compression Library 지원 패키지를 사용해 정확도와 리소스 활용도 간의 트레이드오프를 분석할 수 있습니다.

딥러닝 프로세서 구성 사용자 지정

병렬 스레드의 수나 최대 계층 크기처럼 딥러닝 프로세서 구현에 필요한 하드웨어 아키텍처 옵션을 지정할 수 있습니다.

사용자 지정 비트스트림 코딩의 스크린샷.

합성 가능한 RTL 및 IP 코어 생성

HDL Coder를 사용하여 딥러닝 프로세서에서 합성 가능한 RTL을 생성할 수 있습니다. 표준 AXI 인터페이스를 갖춘 IP 코어를 생성해 AMD 및 Altera SoC 설계에 통합할 수 있습니다.