목록으로 돌아가기

YOLOv8m 단일 모델에서 pruning과 distillation을 확인한 뒤, 같은 흐름이 모델 크기 전체에서도 유지되는지 보기 위해 YOLOv8n/s/m/l/x로 실험을 확장했다. 자세한 실험 설정과 단일 모델 결과는 이전 글에서 확인할 수 있다. 모든 실험은 RTX 4060 환경에서 수행되었으며, Edge 디바이스(Jetson)에서는 baseline과 pruned 모델 간의 추론 성능 차이가 더 크게 나타날 수 있다.

Pruning에서는 baseline과 pruned 모델의 파라미터 수와 추론 시간을 비교했다. 모델이 클수록 압축 효과는 더 크게 나타났다. 예를 들어 YOLOv8x의 경우 파라미터는 약 68.2M에서 38.3M으로 크게 감소했으며, 추론 시간 또한 25.5ms에서 19.2ms 수준으로 개선되었다. 반면 YOLOv8n은 약 3.16M에서 2.27M 수준으로 감소하여 상대적으로 줄일 수 있는 여지가 제한적이었다. 전반적으로 모델이 클수록 파라미터 압축률과 추론 시간 감소 폭이 함께 증가하는 경향을 보였다. (Fig 1a, 1b)

Distillation에서는 teacher, student(pruned), KD(Knowledge Distillation), feature KD를 비교했다. 모델 크기에 따라 KD의 효과도 다르게 나타났다. YOLOv8n의 경우 pruning 이후 mAP50-95가 0.7485에서 0.638로 크게 감소했지만, KD 적용 시 0.727 수준까지 회복되었다. YOLOv8m 이상의 모델에서는 KD 적용 시 baseline을 초과하는 결과도 확인되었다. 예를 들어 YOLOv8x는 baseline 0.9238 대비 KD 0.935, feature KD 0.9361로 성능이 오히려 향상되었다. (Fig 2)

결과적으로 두 가지 경향이 드러난다. 첫째, pruning은 모델이 클수록 효과가 크고 안정적으로 작동한다. 둘째, distillation은 단순한 성능 보정이 아니라 pruning 이후 모델을 재구성하는 과정에 가깝다. 특히 작은 모델에서는 KD가 성능 복구에 중요한 역할을 하며, 큰 모델에서는 추가적인 성능 향상까지 이어질 수 있다.

이번 실험은 COCO128 기반으로 수행되었기 때문에 절대적인 성능 비교보다는 경향 분석으로 보는 것이 적절하지만, “large model → pruning → distillation”의 흐름이 하나의 안정적인 최적화 전략이 될 수 있다는 점은 충분히 확인되었다.

Figure 1. Efficiency — (a) Parameter Reduction (M)  |  (b) Inference Time Reduction

Figure 2. Distillation Performance Comparison