Strategi memilih ukuran model YOLO: trade-off n/s/m/l/x antara kecepatan dan akurasi — dari YOLO26n 40.9 mAP @1.7ms T4 hingga YOLO26x 57.5 mAP, kapan scale-up terbukti perlu, dan praktik benchmark di dataset yang sama

Setelah episode lalu kita menguasai multi-task detect/segment/classify, ada keputusan teknis lain yang akan kalian ambil di setiap project: memilih ukuran model. yolo26n? yolo26s? Atau langsung yolo26x?
Kesalahan umum pemula adalah mengambil keputusan ini dengan perasaan: "pakai yang besar biar akurat" atau "yang nano biar cepat". Keduanya bisa salah total. Ukuran model menentukan cost infrastruktur, latency aplikasi, dan batas atas akurasi kalian — jadi ini keputusan engineering, bukan selera. Episode ini memberi kerangka berpikirnya plus cara benchmark yang benar.
Ingat episode 3: file yolo26.yaml punya parameter scales (depth & width multiplier). Dari satu arsitektur itu lahir lima varian:
| Varian | Nama | Karakter | COCO mAP50-95* |
|---|---|---|---|
| Nano | yolo26n.pt | Ringan, edge/CPU friendly | 40.9 @1.7ms (T4) |
| Small | yolo26s.pt | Sweet spot awal untuk GPU | ~47–48 |
| Medium | yolo26m.pt | Seimbang server | ~51–52 |
| Large | yolo26l.pt | Akurasi tinggi, butuh GPU serius | ~54–55 |
| XLarge | yolo26x.pt | Maksimal akurasi, paling mahal | 57.5 |
*Angka resmi COCO; performa di dataset kalian pasti berbeda — itulah gunanya benchmark sendiri.
Dua multiplier yang bekerja:
Analogi restoran: width = jumlah komisaris dapur per station, depth = jumlah station. Nano adalah warung satu orang; XL adalah dapur hotel bintang lima. Masakan (arsitektur) sama, kapasitas produksinya beda jauh.
Grafik hubungan keduanya selalu berbentuk kurva yang flattening:
mAP %
58 | x (X)
56 |
52 | m (M) l (L)
48 | s (S)
41 | n (N)
+----------------------------------------
cepat lambat
murah mahalTiga fakta penting dari pola tersebut:
| Konteks Deployment | Rekomendasi Awal |
|---|---|
| CPU / Raspberry Pi / Jetson Nano-class | n, kadang s + optimasi (episode 21) |
| Webcam real-time 30 FPS di GPU konsumen | n atau s |
| API batch di cloud GPU (throughput utama) | m atau l |
| Offline analysis / akurasi > segalanya | l atau x |
Aturan emasnya: mulai dari nano/small, naikkan hanya jika metrik validasi stagnan dan data mendukung. Ini kebalikan insting kebanyakan orang — tapi inilah cara engineer senior bekerja.
Teori tanpa angka di dataset sendiri tidak berarti. Mari bangun skrip benchmark kecil:
from ultralytics import YOLO
IMG = "samples/street.jpg"
for size in ["yolo26n", "yolo26s", "yolo26m"]:
model = YOLO(f"{size}.pt")
# 1) ukur latency (warm-up dulu agar adil)
for _ in range(3):
model(IMG, verbose=False)
import time
t0 = time.perf_counter()
for _ in range(20):
r = model(IMG, verbose=False)[0]
dt = (time.perf_counter() - t0) / 20 * 1000
# 2) hitung kapasitas
params = sum(p.numel() for p in model.model.parameters()) / 1e6
print(f"{size:>8} | {params:5.1f}M params | {dt:6.1f} ms/img | {len(r.boxes)} deteksi")Contoh output di laptop CPU:
yolo26n | 2.4M params | 38.2 ms/img | 5 deteksi
yolo26s | 9.4M params | 91.7 ms/img | 6 deteksi
yolo26m | 19.9M params | 198.3 ms/img | 6 deteksiPerhatikan dua insight dari tabel semacam ini:
Untuk benchmark akurasi yang sebenarnya, bandingkan val mAP setiap ukuran setelah fine-tuning singkat di dataset kalian (prosedur training lengkap di episode 9–10).
Tip
Benchmark di device yang sama dengan target deployment. Hasil T4 di paper tidak ada hubungannya dengan CPU laptop user atau Jetson di lapangan. Angka vendor adalah titik awal diskusi, bukan kesimpulan.
x sering kalah dari s yang fine-tuned benar — overfitting datang lebih dulu daripada keuntungan kapasitas.x di API berarti tagihan GPU bulanan berlipat dibanding n. Hitung cost per 1.000 request.n pada imgsz=320 vs x pada imgsz=1280 bukan perbandingan yang sah — samakan dulu semua variabel.Rangkuman episode ini:
Di episode 8 kita masuk fase persiapan data: format dataset YOLO — struktur folder images/labels, anatomi file txt normalized, dan data.yaml — plus tur tools annotation seperti Roboflow, CVAT, Label Studio, dan trik auto-labeling. Inilah bahan bakar untuk training di episode 9–10. Sampai jumpa!