1. RKNN이란?
단돈 15만원짜리 NPU가 탑재된 싱글보드 컴퓨터에서 딥러닝 모델을 inference 할 수 있도록
Last updated
단돈 15만원짜리 NPU가 탑재된 싱글보드 컴퓨터에서 딥러닝 모델을 inference 할 수 있도록
Last updated
오렌지 파이는 간단히 말해서 NPU (Neural Processing Unit)이 탑재된 싱글보드 컴퓨터입니다. NPU가 달린 라즈베리파이라고 생각하시면 쉽습니다.
만약 딥러닝 모델이 돌아가는 작은 컴퓨터를 저렴한 가격에 쓰고 싶다면 오렌지 파이는 꽤 좋은 선택입니다.
오렌지 파이 5에는 Rockchip이라는 회사에서 만든 NPU인 RK3588이 탑재되어 있습니다.
오렌지 파이 뿐 아니라, 바나나파이에도 RK3588이 들어 있습니다. 바나나 파이와 오렌지 파이는 크게 차이는 없으므로, 도큐먼트를 더 많이 제공해 주는 플랫폼을 사용하시는 것이 좋겠습니다.
🍌바나나 파이를 쓸까 ? 🍊 오렌지 파이를 쓸까?
다만 오렌지파이에서는 일반적인 딥러닝 모델 (ONNX, PyTorch 등) 을 바로 쓸 수가 없습니다. Nvidia 칩이 아니기 때문에 CUDA도 없습니다.
따라서 우리는 일반적인 딥러닝 모델을 오렌지 파이 NPU가 이해할 수 있는 포맷으로 변경해 줘야 하는데, 그게 바로 RKNN이고, 이 변환은 Rockchip에서 제공해주는 rknn-toolkit을 통해 이루어집니다.
rknn-toolkit2에는 다음과 같은 기능들이 있습니다.
Model Conversion : Caffe, Tensorflow, ONNX, Darknet 모델들을 RKNN 모델로 변환할 수 있습니다.
Quantization : float 모델을 quantization 모델로 변환할 수 있습니다.
Model Inference
Performance Evaluation
Memory Evaluation
Model pre-compilation : pre-compilation을 이용해서 모델을 로드하는 시간을 줄일 수 있습니다. 또한 어떤 모델에 대해서는 모델 사이즈도 줄일 수 있습니다. 다만 pre-compiled RKNN 모델은 x86_64 Ubuntu 기반의 NPU 가 있는 하드웨어 플랫폼에서만 구동될 수 있습니다.
Model Segmentation : 이 함수는 여러 개의 모델들이 동시에 구동될 때 사용될 수 있습니다. 하나의 모델이 여러 개의 조각으로 분리되어 NPU 에서 실행됨으로써 실행 시간을 줄일 수 있습니다.
따라서 이러한 기능을 잘 활용하여 모델 및 알고리즘을 최적화한다면, 오렌지 파이는 임베디드 시스템 및 로봇, 드론 등에서 딥러닝 inference 를 수행하는 보드로 활용될 수 있습니다.