Membawa inferensi ke tepi jaringan: NVIDIA Jetson dengan TensorRT (studi kasus 25→52 FPS), OpenVINO di CPU Intel, mobile via CoreML/TFLite — plus alasan strategis edge mengalahkan cloud untuk banyak use case vision

Export di episode 18 memberi kalian artefak siap pakai. Sekarang pertanyaannya: di mana inferensi sebaiknya berjalan? Jawaban default industri modern makin condong ke edge — menjalankan model langsung di device tempat kamera berada, bukan di server pusat.
Episode ini membedah tiga medan edge utama (Jetson/NVIDIA, CPU Intel, mobile) dan yang lebih penting: kerangka keputusan kenapa edge sering menang dari cloud. Karena pilihan ini bukan soal teknologi semata — ia menentukan biaya operasional bulanan, postur privasi produk, dan batas latency aplikasi kalian.
| Alasan | Penjelasan | Dampak Nyata |
|---|---|---|
| Privacy | Video mentah tidak pernah keluar device | Compliance GDPR/UU PDP, kepercayaan user |
| Latency rendah | Tanpa round-trip jaringan | Reaksi real-time: robot, alarm, safety |
| Offline-first | Bekerja tanpa internet | Pabrik terpencil, kendaraan, area sinyal lemah |
| Biaya | Bayar device sekali, bukan bandwidth/GPU bulanan | 100 kamera × upload 24/7 = tagihan raksasa |
Analoginya sederhana: memasang satpam di lokasi (edge) versus menyewa ruang kontrol pusat yang menerima live-stream semua CCTV kota (cloud). Untuk sebagian besar tugas pengawasan lokal, satpam di lokasi lebih murah, lebih cepat bereaksi, dan tidak membocorkan rekaman ke luar.
Note
Edge bukan dogma. Use case analitik batch (misal rekap harian antrean), model raksasa, atau tim tanpa kemampuan mengelola device fisik tetap layak di cloud. Keputusan yang benar lahir dari angka latency/biaya/privacy project kalian — bukan tren.
Jetson (Orin Nano/NX dan saudaranya) adalah standar de facto edge AI bertenaga GPU. Studi kasus tipikal YOLO26n di Jetson Orin:
best.pt (PyTorch) : ~25 FPS ← baseline
best.engine (TensorRT FP16): ~52 FPS ← ~2x speedupAlur deployment lengkapnya:
# 1. Di device Jetson (bukan laptop dev!)
pip install ultralytics
# 2. Export engine DI DEVICE TARGET (ingat episode 18)
yolo export model=yolo26n.pt format=engine half=True device=0
# 3. Inference pakai engine
yolo predict model=yolo26n.engine source=cctv.mp4Tiga praktik wajib Jetson:
half=True — GPU Jetson dirancang efisien di FP16; gain besar tanpa kehilangan akurasi berarti.show=False, simpan/stream hasil saja) — rendering GUI memakan resource mahal.nvpmodel/jetson_clocks memengaruhi throughput; throttling panas diam-diam menurunkan FPS.from ultralytics import YOLO
model = YOLO("yolo26n.engine") # engine hasil build device ini
results = model.predict(source="rtsp://cctv-lokal/stream", stream=True)
for r in results:
alarm = any(int(b.cls.item()) == 0 and float(b.conf.item()) > 0.6
for b in r.boxes) # person masuk area
if alarm:
kirim_alert_lokal(r) # tanpa upload video mentah!Perhatikan pola privasinya: hanya event ringkas yang keluar device; piksel video tetap di lokasi.
Mayoritas server dunia adalah CPU — dan OpenVINO membuat CPU Intel sanggup menjalankan YOLO secara produktif:
yolo export model=yolo26n.pt format=openvino half=False
yolo predict model=yolo26n_openvino_model/ source=street.jpgKeunggulan jalur ini: tidak butuh GPU sama sekali, mudah di-containerize, dan skala horizontal di farm server murah. Untuk throughput tinggi, aktifkan batching + multiple streams — CPU modern dengan OpenVINO bisa menangani belasan stream CCTV 720p sekaligus. Ini juga jalur termurah untuk uji coba deployment sebelum investasi hardware khusus.
Bonus kontekstual: YOLO26 sendiri dirancang edge-first dengan klaim ±43% lebih cepat di CPU dibanding generasi sebelumnya — kombinasi model nano + OpenVINO membuat bahkan laptop tanpa GPU layak sebagai target produksi untuk task ringan.
Untuk app kamera iOS/Android:
| Platform | Format | Integrasi |
|---|---|---|
| iOS/macOS | CoreML .mlpackage | Native Swift via Vision/Core ML framework |
| Android | TFLite .tflite | TensorFlow Lite interpreter (Java/Kotlin) |
| Keduanya | ONNX Runtime Mobile | Jalur lintas-platform tunggal |
Alur umumnya: export format dari mesin dev → bundle file model ke dalam app → runtime native melakukan inferensi on-device. Ukuran yolo26n hasil quantization INT8 biasanya cukup kecil (di bawah 10 MB) untuk bundling aplikasi — topik presisi INT8 dibedah episode 21.
[x] Artefak dibangun DI DEVICE TARGET (engine TensorRT)
[x] Benchmark FPS nyata pada kondisi thermal/power stabil
[x] Uji ketahanan: restart device, stream putus, disk penuh
[x] Rencana update model OTA (versioned, rollback-able)
[x] Monitoring minimal: FPS, suhu, jumlah deteksi/jam
[x] Privacy review: apa satu-satunya data yang keluar device?Rangkuman episode ini:
Di episode 20 kita naik ke arsitektur server-side: serving production — membungkus model sebagai REST API FastAPI, batch inference, streaming CCTV, hingga pola queue dan autoscaling GPU untuk beban besar. Sampai jumpa!