에지 AI의 새 지평, Rust 기반 다중 코어 MCU용 신경망 병렬화 툴킷 Ariel ML
초록
본 논문은 저전력 다중 코어 마이크로컨트롤러(MCU)에서 임의의 TinyML 모델 추론을 자동으로 병렬화하는 최초의 Rust 임베디드 소프트웨어 플랫폼인 ‘Ariel-ML’을 소개한다. Ariel-ML은 IREE 컴파일러를 활용한 일반화된 TinyML 파이프라인과 Rust 기반 경량 OS인 Ariel OS를 결합하여 Arm Cortex-M, RISC-V, ESP-32 등 다양한 32비트 MCU 아키텍처의 다중 코어 성능을 활용한다. 실험 결과, 기존 C/C++ 기반 솔루션 대비 추론 지연 시간을 단축하면서도 유사한 메모리 사용량을 유지하는 것으로 나타났다.
상세 분석
Ariel-ML의 핵심 기술적 기여는 다음과 같이 요약할 수 있다. 첫째, MLIR/LLVM 기반의 현대적 컴파일러 스택(IREE)의 도입이다. 기존 TinyML 파이프라인이 주로 사용하던 uTVM 대신 IREE를 채택함으로써, 더 정교한 모델 최적화와 타겟 특화적 코드 생성이 가능해졌다. 이는 특히 연산자 내부(Intra-Operator)의 병렬화(타일링)를 효율적으로 수행하는 데 기여하며, 실험에서 RIOT-ML 대비显著的한 추론 가속화의 원동력이 되었다.
둘째, Rust 기반의 안전하고 효율적인 임베디드 런타임 계층 구축이다. Ariel-ML 코어는 IREE의 C 런타임에 대한 Rust 바인딩을 제공하고, 탐욕 스케줄링(Greedy Scheduling) 방식의 다중 코어 스케줄러를 구현한다. 이 스케줄러는 IREE 런타임이 생성한 충돌이 없는 작업 항목(Work Items)을 가용 코어에 동적으로 디스패치하여 코어 유휴 시간을 최소화한다. Rust의 선택은 메모리 안전성을 보장하면서도 C/C++ 대비 성능 손실 없이, 최신 사이버 보안 규제(예: EU 사이버 복원력 법안) 요구사항에 부합하는 지속가능한 임베디드 AI 소프트웨어 생태계의 기반을 마련했다는 점에서 의미가 크다.
셋째, 모듈화되고 이식성 높은 시스템 설계이다. 호스트 측 빌드 파이프라인은 타겟 MCU의 세부 사항(트리플, 기능, 정렬 요구사항)을 IREE 컴파일러에 전달하여 최적의 코드를 생성하며, 디바이스 측 런타임은 Ariel OS라는 하드웨어 추상화 계층을 통해 다양한 MCU 패밀리를 지원한다. 이는 특정 하드웨어나 스케줄링 전략에 종속된 기존 접근법(예: TinyFormer)의 한계를 극복한 일반화된 프레임워크를 지향한다.
단, IREE의 도입으로 인한 메모리 오버헤드는 주목할 만한 트레이드오프이다. 실험에 따르면, IREE 통합 후 펌웨어 크기(Flash)는 1.1~2.5배, RAM 사용량은 최소 1.2배 증가했다. 이 오버헤드는 IREE 런타임 자체의 코드 크기와 메타데이터, 그리고 LLVM 백엔드의 복잡성에서 기인한다. 따라서 극한의 메모리 제약 환경에서는 여전히 고려해야 할 요소이다. 그러나 논문은 Ariel-ML이 다중 코어 병렬화를 통해 얻는 성능 향상이 이러한 오버헤드를 상쇄할 수 있는 가치가 있음을 보여준다.
댓글 및 학술 토론
Loading comments...
의견 남기기