Skip to main content
QUICK REVIEW

[논문 리뷰] CFU Playground: Full-Stack Open-Source Framework for Tiny Machine Learning (tinyML) Acceleration on FPGAs

Shvetank Prakash, Tim Callahan|arXiv (Cornell University)|2022. 01. 05.
Parallel Computing and Optimization Techniques인용 수 5
한 줄 요약

CFU Playground는 FPGAs에서 TinyML 추론을 위한 맞춤형 기능 단위(CFUs)의 빠르고 민첩한 하드웨are-소프트웨어 공동 설계를 가능하게 하는 오픈소스 종합 프레임워크입니다. 소프트 RISC-V CPU를 도메인 특화 CFUs와 밀접하게 결합하고 Vizier를 통한 자동 최적화를 활용함으로써, 모델별 연산의 반복적 설계, 프로파일링 및 최적화를 통해 55×에서 75×의 성능 향상을 달성합니다.

ABSTRACT

Need for the efficient processing of neural networks has given rise to the development of hardware accelerators. The increased adoption of specialized hardware has highlighted the need for more agile design flows for hardware-software co-design and domain-specific optimizations. In this paper, we present CFU Playground: a full-stack open-source framework that enables rapid and iterative design and evaluation of machine learning (ML) accelerators for embedded ML systems. Our tool provides a completely open-source end-to-end flow for hardware-software co-design on FPGAs and future systems research. This full-stack framework gives the users access to explore experimental and bespoke architectures that are customized and co-optimized for embedded ML. Our rapid, deploy-profile-optimization feedback loop lets ML hardware and software developers achieve significant returns out of a relatively small investment in customization. Using CFU Playground's design and evaluation loop, we show substantial speedups between 55$ imes$ and 75$ imes$. The soft CPU coupled with the accelerator opens up a new, rich design space between the two components that we explore in an automated fashion using Vizier, an open-source black-box optimization service.

연구 동기 및 목표

  • 자원 제약이 있는 임베디드 시스템에서 도메인 특화 TinyML 가속기의 민첩하고 저비용의 설계 플로우 부족 문제를 해결하기 위해.
  • 단순히 고립된 가속기 성능을 고려하는 것이 아니라, 시스템 수준의 병목 현상을 모두 고려하는 통합 하드웨어-소프트웨어 공동 설계를 가능하게 하기 위해.
  • 빠른 프로토타이핑과 커스텀 기능 단위(CFUs) 평가를 위한 오픈소스, 확장 가능하고 벤더에 종속되지 않는 프레임워크를 제공하기 위해.
  • 고비용의 NRE 없이 소프트 CPU와 강하게 결합된 CFU 사이의 설계 공간을 탐색하여 모델별 최적화를 가능하게 하기 위해.
  • 효율적인 TinyML 가속을 위해 반복적이고 피드백 기반의 설계 사이클(배포 → 프로파일링 → 최적화)을 지원하기 위해.

제안 방법

  • TensorFlow Lite Micro, GCC, LiteX, VexRiscv, Migen, Amaranth, yosys, nextpnr, F4PGA/SymbiFlow 등의 오픈소스 툴체인을 통합하여 종합적인 FPGA 기반 SoC 생성을 위한 엔드 투 엔드 플로우를 제공합니다.
  • 모델의 핵심 연산 핫스팟(예: 컬러션 연산)을 가속하기 위해 응용 프로그램 특화 CFUs로 확장된 소프트 RISC-V CPU를 사용합니다.
  • Vizier라는 오픈소스 블랙박스 최적화 서비스를 활용하여 CPU 및 CFU 구성 간의 설계 공간 트레이드오프를 자동으로 탐색합니다.
  • 루프 전개, SIMD 승법 누적 연산, 데이터 레이아웃 변환과 같은 반복 최적화 기법을 적용하여 MobileNetV2의 깊이 분리형 컬러션과 같은 핵심 커널을 가속화합니다.
  • 하드웨어(CFUs)와 소프트웨어(TFLM 커널) 양쪽 모두에 대해 모델에 관계없이 점진적이고 커스터마이징 가능한 방식으로 성능과 자원 사용량을 공동 최적화할 수 있도록 합니다.
  • 하드웨어 인 더 루프(HWIL) 평가를 지원하여, 일반적으로 고립된 가속기 설계에서 忽略되는 데이터 이동, 스케줄링, 전처리 등의 시스템 수준 오버헤드를 포괄합니다.

실험 결과

연구 질문

  • RQ1종합적이고 오픈소스인 프레임워크는 어떻게 FPGAs에서 민첩하고 저비용으로 TinyML 가속기를 설계하고 평가할 수 있나요?
  • RQ2모델별 연산을 위한 커스텀 기능 단위(CFUs)와 공동 설계된 소프트 CPU가 어떤 성능 향상을 이룰 수 있나요?
  • RQ3Vizier를 통한 자동화된, 머신러닝 기반의 설계 공간 탐색은 TinyML 추론을 위한 최적의 하드웨어-소프트웨어 트레이드오프를 식별하는 데 얼마나 효과적인가요?
  • RQ4데이터 이동 및 스케줄링과 같은 시스템 수준의 병목 현상은 고립된 가속기 최적화의 효과성에 얼마나 큰 영향을 미치나요?
  • RQ5CFUs는 초저전력 임베디드 시스템에서 분리된 가속기의 민첩하고 확장 가능하며 효율적인 대안이 될 수 있나요?

주요 결과

  • CFU Playground는 벤더 종속성 없이 고비용의 NRE 없이도 FPGAs에서 TinyML 가속기 설계 및 평가를 위한 완전한 오픈소스 엔드 투 엔드 플로우를 제공합니다.
  • CFU Playground는 컬러션 연산을 위한 소프트 CPU와 커스텀 CFUs의 공동 최적화를 통해 MobileNetV2의 추론 성능을 55×에서 75× 향상시킵니다.
  • Vizier를 통한 자동 설계 공간 탐색은 최소한의 수동 작업으로도 성능 향상을 크게 개선하며, 빠른 반복 및 최적화를 가능하게 합니다.
  • CFUs의 소프트웨어 스택 통합은 핵심 계산 핫스팟을 효율적으로 가속화하면서도 알고리즘 변경에 대한 유연성을 유지할 수 있도록 합니다.
  • 시스템 수준의 프로파일링 결과, 소프트웨어 오버헤드와 데이터 이동이 주요 병목 현상임을 확인하였으며, CFU Playground는 통합 평가를 통해 이를 고려합니다.
  • 프레임워크는 점진적 커스터마이징을 지원하여 개발자가 작은 CFUs에서 시작하여 완전한 가속기로 확장할 수 있도록 하며, 고성능 TinyML 시스템으로 향하는 확장 가능한 길을 보여줍니다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.