Deep Learning HDL Toolbox™는 딥러닝 신경망을 FPGA와 SoC에서 프로토타이핑하고 구현하는 함수와 툴을 제공합니다. 다양한 딥러닝 신경망을 지원되는 Xilinx®와 Intel®의 FPGA 및 SoC 기기에서 구동할 수 있도록 사전 구성된 비트스트림을 제공합니다. 프로파일링 및 추정 툴을 통해 설계와 성능, 리소스 활용도를 절충하여 딥러닝 신경망을 사용자 지정할 수 있습니다.
Deep Learning HDL Toolbox를 통해 딥러닝 신경망의 하드웨어 구현을 사용자 지정하고, HDL Coder™ 및 Simulink®와 함께 사용해 이식성과 합성 가능성이 좋은 Verilog® 및 VHDL® 코드를 생성하여 FPGA에 배포할 수 있습니다.
시작하기:
프로그램 가능 딥러닝 프로세서
툴박스에는 스케줄링 로직으로 제어되는 일반 컨벌루션 계층 및 완전 연결 계층을 갖는 딥러닝 프로세서가 포함되어 있습니다. 이 딥러닝 프로세서는 Deep Learning Toolbox™를 사용하여 개발된 신경망의 FPGA 기반 추론을 수행할 수 있습니다. 고대역폭 메모리 인터페이스는 계층 및 가중치 데이터의 메모리 전송에 속도를 더합니다.
컴파일 및 배포
딥러닝 신경망을 딥러닝 프로세서로 실행할 일련의 지침으로 컴파일할 수 있습니다. 이를 FPGA에 배포하고 예측을 실행하면서 실제 기기상에서의 성능 메트릭을 수집할 수 있습니다.
사전 구성된 비트스트림 시작하기
널리 사용되는 FPGA 개발 키트에 사용할 수 있는 비트스트림으로 FPGA 프로그래밍 없이 신경망을 프로토타이핑할 수 있습니다.
배포할 신경망 만들기
객체 탐지나 분류 등의 작업에 사용할 딥러닝 신경망을 Deep Learning Toolbox를 사용해 설계, 훈련, 분석하여 시작할 수 있습니다. 또한 기타 프레임워크에서 훈련된 신경망 또는 계층을 가져와서 시작할 수도 있습니다.
FPGA에 신경망 배포
훈련된 신경망이 있다면 deploy
명령을 사용하여 이더넷 또는 JTAG 인터페이스 및 딥러닝 프로세서로 FPGA를 프로그래밍할 수 있습니다. 그 후에는 FPGA를 다시 프로그래밍하지 않고도 compile
명령을 사용하여 훈련된 신경망에 대한 일련의 지침을 생성할 수 있습니다.
MATLAB 응용 프로그램의 일부로서 FPGA 기반 추론 실행하기
테스트 벤치, 전처리 및 후처리 알고리즘, FPGA 기반 딥러닝 추론 등의 전체 응용 프로그램을 MATLAB®에서 실행할 수 있습니다. 단일 MATLAB 명령 predict
를 통해 FPGA에서 추론을 수행하고 결과를 MATLAB 작업 공간으로 반환할 수 있습니다.
FPGA 추론 프로파일링하기
FPGA에서 예측 실행 시의 계층 수준 대기 시간을 측정하여 성능의 병목 지점을 찾을 수 있습니다.
신경망 설계 조정
Deep Learning Toolbox로 프로파일 메트릭을 사용하여 신경망 구성을 조정할 수 있습니다. 예를 들면 심층 신경망 디자이너를 사용하여 계층을 추가하거나 제거하거나 새 연결을 만들 수 있습니다.
딥러닝 양자화
딥러닝 신경망을 고정소수점 표현식으로 양자화하여 리소스 활용도를 낮출 수 있습니다. Model Quantization Library 지원 패키지를 사용하여 정확도와 리소스 활용도 간의 상충관계를 분석할 수 있습니다.
사용자 지정 딥러닝 프로세서 구성
병렬 스레드의 수나 최대 계층 크기처럼 딥러닝 프로세서 구현에 필요한 하드웨어 아키텍처 옵션을 지정할 수 있습니다.
합성 가능 RTL 생성
다양한 구현 워크플로와 기기에 사용할 목적으로 HDL Coder를 사용하여 딥러닝 프로세서에서 합성 가능한 RTL을 생성할 수 있습니다. 프로토타입 및 프로덕션 배포에 동일한 딥러닝 프로세서를 재사용할 수 있습니다.
통합을 위한 IP 코어 생성
HDL Coder는 딥러닝 프로세서에서 RTL을 생성할 때 SoC 기준 설계로의 통합을 위한 표준 AXI 인터페이스를 갖춘 IP 코어도 생성합니다.