Intro
라즈베리 파이를 사용하다가 성능의 한계가 느껴져 새로운 싱글보드 컴퓨터를 찾던 중, Orange Pi 5를 발견했다. Orange Pi 5의 하드웨어는 어떻게 이루어져 있는지 살펴보자.
Orange Pi 5

위의 이미지가 바로 Orange Pi 5의 모습이다. 생긴게 라즈베리 파이와 굉장히 유사한 만큼, 활용 용도도 비슷할 것 같다.

Orange Pi 5는 RK3588 프로세서, 4/8/16GB RAM, 26pin headers, Gigbit LAN 등의 하드웨어 스펙을 가지고 있다. 특히, RK3588 프로세서는 "A new generation AIoT chip"이라며 6Tops AI computing power의 NPU 가 탑재되어 있다.

RK3588의 NPU는 INT4/INT8/INT16/FP16/BF16/TF32를 지원하며, 다양한 딥러닝 프레임워크(TensorFlow, Pytorch 등)를 적용시킬 수 있다고 나와있다.
RKNPU와 RKNN
그렇다면 어떻게 RK3588 프로세서의 NPU에 AI 모델 연산을 시킬 수 있을까?

RKNPU(RK3588의 NPU)는 RKNN 모델만 NPU 연산을 한다. 즉, RKNN 모델만이 RKNPU에서 AI 연산을 할 수 있다는 것이다.
하지만 위의 Datasheet에서는 다양한 딥러닝 프레임워크를 지원한다고 했는데?
그것은 바로 다양한 딥러닝 프레임워크로 만들어진 모델을 .rknn 확장자의 모델 파일로 변환하여 RKNPU에서 연산을 할 수 있도록 지원한다는 의미이다. 그리고 rknn 모델 변환을 위한 API는 airockchip에서 github를 통해 제공해준다.
RKNN 모델을 사용하기 위해서는 2가지의 API가 존재한다.
RKNN-Toolkit2
RKNN-Toolkit-Lite2
RKNN-Toolkit2와 RKNN-Toolkit-Lite2
RKNN-Toolkit2는 사용자가 PC와 NPU 플랫폼에서 rknn으로 모델 변환, 추론 및 성능 평가를 수행할 수 있는 소프트웨어다. 즉, Tensorflow, Pytorch, ONNX 등 다양한 딥러닝 프레임워크에서 만들어진 AI 모델을 rknn 모델로 변환하기 위해 만들어진 소프트웨어다. 모델 변환 외에도 추론, 성능 평가 등의 기능도 제공된다.
RKNN-Toolkit-Lite2는 사용자가 RKNN 모델을 NPU에 배포하고, AI 애플리케이션 구현을 가속화할 수 있도록 도와주는 소프트웨어다. 즉, rknn으로 변환한 모델을 직접 NPU에 올리는 소프트웨어가 바로 RKNN-Toolkit-Lite2이다.
Next...
다음에는 RKNN-Toolkit2를 직접 사용하여 어떻게 rknn 파일로 변환하는지에 대해서 글을 쓰고자 한다.
Reference
오렌지파이 5 홈페이지http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5.html
RK3588 Brief Datasheet
https://www.rock-chips.com/uploads/pdf/2022.8.26/192/RK3588%20Brief%20Datasheet.pdf
airockchip/rknn-toolkit2