Sumber: NVIDIA Jetson

Jetson Nano adalah perangkat single-board computer yang menawarkan kemampuan komputasi GPU dalam ukuran kecil dengan konsumsi daya rendah. Meski bertenaga untuk kelasnya, Jetson Nano tetap memiliki keterbatasan dibanding GPU desktop atau server. Oleh karena itu, ketika ingin melakukan deployment model deep learning ke edge device seperti Jetson Nano ini diperlukan proses optimisasi pada mode agar performa inferensi tetap cepat, efisien, dan layak digunakan di lapangan. Artikel ini membahas berbagai teknik optimisasi model deep learning di Jetson Nano, dari pemilihan arsitektur hingga penggunaan TensorRT. 

Sumber: https://pyimagesearch.com/2020/03/25/how-to-configure-your-nvidia-jetson-nano-for-computer-vision-and-deep-learning/ 

Mengapa Optimisasi Diperlukan? 

Jetson Nano dilengkapi GPU Maxwell dengan 128 CUDA cores dan RAM 4GB. Spesifikasi ini cukup untuk menjalankan model AI populer, tetapi tidak ideal untuk arsitektur yang sangat besar seperti GPT atau ResNet-152. Model berukuran besar akan menghabiskan banyak memori, memperlambat inferensi, dan mengurangi efisiensi daya. Tanpa strategi optimisasi, banyak proyek akan terbatas pada demo sederhana tanpa aplikasi praktis yang benar-benar berjalan mulus di lapangan. 

Selain itu, banyak aplikasi edge AI seperti smart camera, robotika, dan IoT membutuhkan inferensi real-time dengan latensi rendah. Opsi seperti mengirim data ke cloud untuk diproses bukan hanya mahal, tetapi juga tidak selalu memungkinkan karena keterbatasan konektivitas. Dengan optimisasi yang tepat, Jetson Nano bisa menjadi solusi efektif untuk mengolah data langsung di perangkat. 

Pemilihan Arsitektur Model 

Langkah pertama optimisasi adalah memilih arsitektur model yang sesuai. Model lightweight seperti MobileNetV2, EfficientNet-Lite, YOLOv11-Nano, dan Tiny-YOLO lebih cocok dijalankan di Jetson Nano. Model-model ini dirancang dengan jumlah parameter lebih sedikit namun tetap memberikan akurasi kompetitif untuk banyak aplikasi, terutama computer vision. Memilih model yang ringan berarti kita tidak perlu memaksakan perangkat untuk menjalankan arsitektur kompleks yang tidak seimbang dengan kapasitas Jetson Nano. 

Sebagai contoh, Tiny-YOLO mampu melakukan real-time object detection di Jetson Nano dengan frame rate yang jauh lebih tinggi dibanding YOLO full-size. Meski akurasi kadang tidak setara dengan model besar, performa real-time sering kali lebih penting, terutama untuk aplikasi dunia nyata seperti sistem keamanan, robot navigasi, atau kamera monitoring. Dengan kata lain, trade-off antara akurasi dan kecepatan harus dipertimbangkan sejak tahap desain sistem. 

Teknik Quantization 

Quantization adalah proses mengubah representasi parameter model dari presisi tinggi (FP32) ke presisi lebih rendah (FP16 atau INT8). Teknik ini penting karena Jetson Nano memiliki keterbatasan daya dan memori. Dengan quantization, ukuran model berkurang, kebutuhan memori menurun, dan performa inferensi meningkat. Pada Jetson Nano, quantization ke FP16 biasanya menghasilkan percepatan signifikan dengan kehilangan akurasi yang minim. 

Proses ini umumnya dilakukan dengan alur PyTorch → ONNX → TensorRT. Pertama, model dilatih atau diekspor dalam PyTorch, kemudian dikonversi ke format ONNX. Selanjutnya, ONNX diubah menjadi TensorRT engine dengan FP16 atau INT8. INT8 quantization bahkan mampu mempercepat inferensi lebih jauh, meskipun membutuhkan data kalibrasi untuk menjaga akurasi. 

# Contoh konversi ONNX ke TensorRT FP16
trtexec –onnx=model.onnx –saveEngine=model_fp16.engine –fp16
  

Dengan workflow ini, developer bisa menguji berbagai level presisi untuk menemukan keseimbangan terbaik antara kecepatan dan akurasi. Penggunaan quantization sangat direkomendasikan untuk setiap deployment di Jetson Nano. 

Pruning  

Selain quantization, model pruning juga dapat membantu mempercepat inferensi. Pruning menghapus bobot, neuron, atau layer yang kontribusinya kecil terhadap hasil prediksi. Dengan memangkas model, ukuran file berkurang dan kebutuhan komputasi menurun, sehingga Jetson Nano dapat memproses data lebih cepat. Meski proses ini dapat menurunkan akurasi, strategi pruning yang hati-hati mampu menjaga kualitas prediksi tetap tinggi. 

Knowledge Distillation 

Knowledge distillation adalah teknik lain yang banyak digunakan untuk deployment di edge devices. Dalam metode ini, model besar (teacher) digunakan untuk melatih model kecil (student). Model kecil ini memiliki jumlah parameter jauh lebih sedikit, tetapi belajar meniru perilaku teacher sehingga hasil prediksinya mendekati kualitas model besar. Kombinasi pruning dan distillation sering kali menghasilkan model yang jauh lebih ringan namun tetap kuat di Jetson Nano. 

TensorRT: Framework Optimisasi NVIDIA 

TensorRT adalah library optimisasi inferensi dari NVIDIA yang sudah terintegrasi dengan JetPack. TensorRT melakukan berbagai optimisasi, seperti layer fusion, kernel auto-tuning, quantization, hingga memory optimization. Dengan menggunakan TensorRT, developer dapat memperoleh percepatan 2–5 kali lipat dibanding inferensi langsung dari PyTorch atau TensorFlow. 

Proses menggunakan TensorRT biasanya melibatkan ekspor model dari framework utama ke ONNX, konversi ONNX ke TensorRT engine dengan command trtexec, dan akhirnya menjalankan inferensi dengan API Python atau C++. Selain itu, TensorRT juga mendukung integrasi dengan DeepStream SDK, yang memungkinkan pembuatan pipeline video analysis secara real-time di Jetson Nano. Dengan kombinasi ini, Jetson Nano mampu menangani aplikasi kompleks seperti multi-camera object detection dengan latensi rendah. 

Pipeline Optimisasi Praktis di Jetson Nano 

Sebuah pipeline optimisasi yang umum dilakukan biasanya dimulai dengan pemilihan model ringan seperti MobileNet atau Tiny-YOLO. Setelah itu, model dikonversi ke ONNX agar dapat diproses lebih lanjut. Langkah berikutnya adalah quantization, baik ke FP16 maupun INT8, untuk mempercepat inferensi. Kemudian model dijalankan melalui TensorRT untuk memperoleh optimisasi tambahan. Terakhir, performa harus diukur secara menyeluruh, mulai dari frame rate (FPS), latensi per inferensi, hingga konsumsi daya. 

Tahap benchmarking ini sangat penting karena setiap aplikasi memiliki kebutuhan berbeda. Misalnya, aplikasi robot navigasi mungkin lebih toleran terhadap akurasi sedikit lebih rendah asalkan latensi sangat rendah. Sebaliknya, aplikasi medis membutuhkan akurasi tinggi meskipun kecepatan sedikit berkurang. Dengan pipeline terstruktur, developer bisa menyesuaikan strategi optimisasi dengan kebutuhan spesifik aplikasi. 

Penutup 

Jetson Nano membuka peluang besar untuk menjalankan AI langsung di perangkat kecil. Namun, tanpa optimisasi, performa model deep learning akan terbatas dan sulit memenuhi kebutuhan aplikasi dunia nyata. Melalui pemilihan model yang tepat, quantization, pruning, knowledge distillation, serta optimisasi TensorRT, Jetson Nano mampu menjalankan inferensi real-time dengan efisiensi tinggi. 

Optimisasi bukan hanya pilihan, melainkan kebutuhan agar perangkat kecil ini dapat dimanfaatkan secara maksimal dalam proyek edge AI. Dengan pendekatan yang tepat, Jetson Nano bukan hanya alat belajar, tetapi juga platform kuat untuk prototipe dan solusi AI yang siap digunakan. 

 

Penulis 

Muhammad Alfhi Saputra, S.Kom., M.Kom. – FDP Scholar 

 

Referensi 

  1. https://gilberttanner.com/blog/jetson-nano-getting-started/ 
  2. https://medium.com/@florian_algo/model-quantization-1-basic-concepts-860547ec6aa9 
  3. https://medium.com/@anhtuan_40207/introduction-to-pruning-4d60ea4e81e9 
  4. https://medium.com/@zone24x7_inc/shrinking-the-giants-how-knowledge-distillation-is-changing-the-landscape-of-deep-learning-models-83dffde577ec