Ada 2 optimasi yang biasanya dilakukan:
Quantization adalah cara untuk menyederhanakan data dengan mengubah nilai yang bisa sangat banyak atau “kontinu” menjadi nilai yang terbatas atau “diskrit”.
Pruning adalah adalah cara untuk “menyederhanakan” model machine learning dengan menghapus bagian-bagian yang tidak terlalu penting.
Pemilihan TFLite sebagai framework inferensi pada sistem Artemis didasarkan pada beberapa keunggulan teknis untuk perangkat edge:
Optimalisasi Arsitektur ARM: TFLite dirancang khusus untuk berjalan secara efisien pada prosesor berbasis ARM (Cortex-A72 pada Pi 4 dan Cortex-A76 pada Pi 5).
Akselerasi XNNPACK: TFLite mendukung delegasi XNNPACK, sebuah pustaka operator saraf tingkat rendah yang secara signifikan mempercepat inferensi floating-point dan fixed-point pada CPU perangkat edge.
Efisiensi Memori (Binary Size) : TFLite memiliki runtime yang sangat ringan dengan ukuran binari yang kecil, sehingga meminimalkan beban sistem pada perangkat IoT dengan sumber daya terbatas.
Ekosistem yang Matang : Dukungan terhadap teknik Post-Training Quantization (PTQ) pada TFLite sangat stabil, memungkinkan konversi model YOLOv8n dengan degradasi akurasi yang minimal.
Meskipun terdapat berbagai teknik optimasi, penelitian ini berfokus pada Float32, Float16, dan Full Integer (INT8) untuk mencakup seluruh spektrum trade-off dalam riset Edge AI:
Float32 (Baseline):
Float16 (Half-Precision):
Full Integer (INT8):
Seluruh proses optimasi menggunakan metode Post-Training Quantization (PTQ) dengan pendekatan sebagai berikut:
valid/images guna membantu model memetakan rentang dinamis aktivasi dari floating-point ke integer 8-bit.Seluruh eksperimen pada penelitian ini dilakukan menggunakan lingkungan perangkat lunak sebagai berikut:
Python: 3.10.19
Metodologi yang diusulkan telah diuji dengan berbagai parameter untuk optimasi model YOLOv8n pada sistem deteksi api "Tancap". Pengaturan parameter eksperimen utama ditampilkan pada Tabel 4.1.
| Parameter | Nilai / Setting |
|---|---|
| Model Arsitektur | YOLOv8n (Nano) |
| Input Resolution | 640 x 640 (imgsz) |
| Inference Batch Size | 1 (Simulasi Edge Device) |
| Task | Object Detection (Fire) |
| Quantization Methods | Float32 (Baseline), Float16, Full Integer (INT8) |
| Edge Hardware | Raspberry Pi 4 (Cortex-A72), Raspberry Pi 5 (Cortex-A76) |
| Power Monitoring | INA219 (Pi 4), Internal PMIC (Pi 5) |
Berikut ini hasil dari experiment model yang sudah dilakukan quantization :
| mAP50 (%) | Size (MB) | Quantization Method | Latency (ms) |
|---|---|---|---|
| 92.11% | 11.7 | Float32 (Baseline) | 301.88 |
| 92.11% | 5.9 | Float16 | 302.16 |
| 92.12% | 2.9 | Full Integer (INT8) | 221.01 |
| mAP50 (%) | Size (MB) | Quantization Method | Latency (ms) |
|---|---|---|---|
| 92.11% | 11.7 | Float32 (Baseline) | 2529.21 |
| 92.11% | 5.9 | Float16 | 2524.75 |
| 92.12% | 2.9 | Full Integer (INT8) | 2060.93 |