Airbus - MATLAB을 사용하여 온보드 FPGA 기반 딥러닝 프로세서를 설계한 사례
운영 중인 위성에서 감지된 이상에 대한 테스트에서 처리량 및 전력 소비 요구사항을 충족한 프로세서
주요 성과
- FPGA에서 심층 신경망의 신속 프로토타이핑 및 검증을 위한 MATLAB 기반 워크플로를 개발하여 하드웨어, 시스템 및 딥러닝 엔지니어 간의 협업을 지원
- 잠재적인 위성 고장 모드를 기존 임계값 기반 방법에 비해 조기에 감지
- FreeRTOS 또는 기타 운영 체제를 사용하는 모든 FPGA 공급업체와 함께 사용 및 배포할 수 있는 딥러닝 프로세서 제작
- FPGA를 다시 프로그래밍할 필요 없이 온보드에서 딥러닝 모델 업데이트 가능
현대의 우주선은 원격 측정 데이터를 지속적으로 모니터링하면서 센서 데이터에서 이상 동작을 감지 또는 예측해야 합니다. 임계값 기반 모니터링과 같은 기존 방법의 경우 온보드 센서로부터 수신되는 데이터의 많은 양과 높은 차원으로 인해 이 부분에서 어려움을 겪습니다. 또한 궤도를 도는 위성의 높은 동적 환경도 이상 지표를 파악하기 어렵게 하는 요인입니다.
이러한 문제를 극복하기 위해 Airbus Defence and Space GmbH는 FDIR(결함 감지, 격리 및 복구)을 위한 온보드 시스템을 개발하여 이상 감지를 위한 딥러닝 모델을 구현하기로 결정했습니다.
Airbus는 높은 성능과 긴 수명으로 인해 FPGA가 온보드 우주선 시스템을 위한 이상적인 플랫폼임을 알게 되었습니다. FPGA는 다시 프로그래밍할 수 있고 우주 방사선을 견디도록 제작할 수 있으며 소량의 전력만 소비하도록 설계가 가능합니다. 그러나 이 정도 규모로 시간에 민감한 작업을 위한 딥러닝 모델을 리소스 제한적인 FPGA를 사용하여 구현하는 것은 상당히 까다로운 일이 될 수 있습니다.
Airbus 설계 팀은 Deep Learning HDL Toolbox™를 사용하여 MATLAB® 딥러닝 프로세서 IP 코어를 AI 가속기로 생성하는 방법을 선택했습니다. 이 워크플로는 FreeRTOS™를 운영 체제로 사용하도록 지원했습니다. Airbus는 관련된 일련의 원격 측정 파라미터에 대해 훈련된 LSTM(장단기 기억) 모델과 함께 AMD® Zynq™ UltraScale+™ MPSoC ZCU102 보드를 테스트에 사용했습니다. 또한 업데이트된 모델만 컴파일해서 딥러닝 프로세서에 다시 다운로드하면 되므로 LSTM 모델을 업데이트할 때 FPGA를 다시 프로그래밍할 필요가 없었습니다.
TensorFlow™에서 훈련된 LSTM 모델을 MATLAB으로 가져왔습니다. 이러한 모델을 기반으로 성능과 리소스 사용량에 맞게 딥러닝 프로세서 구성이 최적화되었습니다. 그 이후 딥러닝 프로세서 IP 코어는 HDL Coder™를 사용하여 타겟 독립적이며 합성 가능한 HDL 코드로 생성되었으며, AXI 인터페이스를 통해 Airbus 참조 설계에 통합되었습니다. 그런 다음 엔지니어들은 Python® 기반 워크플로를 사용하여 딥러닝 프로세서를 프로그래밍하고 AMD Zynq MPSoC의 Arm® 프로세서에서 이를 트리거했습니다.
운영 중인 위성에서 감지된 이상에 대해 하드웨어 보드의 FDIR 시스템을 테스트한 결과, 딥러닝 프로세서는 처리량과 전력 소비 요구사항을 충족하면서 안정적으로 작동했습니다. Airbus는 향후 우주선에 FPGA 기반 FDIR 시스템을 배포할 계획입니다.