
AI
온디바이스 AI 얼굴 식별 파이프라인 최적화
두줄요약
온디바이스 얼굴 식별 파이프라인의 병목을 정량 분석해 최적화한 사례를 소개했습니다. 연산 흐름 조정과 병렬화로 응답 시간과 처리량을 크게 개선했습니다.
문제 상황
- 온디바이스 사진 추천에서 갤러리 전체를 분석해야 하는 얼굴 식별 파이프라인의 응답 시간과 처리량 개선 필요
- 모델 변경 없이도 코드 실행 구조와 연산 흐름의 병목을 줄여야 하는 제약
해결 방법
- confidence 기준 선필터링과 디코딩 순서 조정으로 불필요한 연산 제거
- top-K 선택을 전체 정렬에서 Min Heap 기반 유지 방식으로 변경
- TensorBuffer 접근을 getFloatValue 대신 floatArray로 전환해 JNI 오버헤드 감소
- TFLite 스레드 풀 크기와 모델 인스턴스 수를 조정해 지연 시간과 처리량을 각각 최적화
성능/운영 포인트
- 프로파일러와 벤치마크로 병목을 정량 측정한 뒤 단계별로 개선
- 스레드 풀 증설이 항상 성능 향상으로 이어지지 않으며 연산 성격과 기기별 검증 필요
- 최종적으로 평균 지연 시간 138ms→87ms, 처리량 7.2장/초→45.9장/초 개선
