모바일 AI의 혁신 : 실시간 성능 향상을 위해 넷츠프레소로 의미론적 분할 모델을 가속하는 방법
소개
인공지능 분야에서 의미론적 분할은 중요한 작업으로 주목받고 있습니다. 이 AI 모델은 이미지나 비디오 내 특정 대상의 픽셀을 감지하는 데 뛰어난 성능을 발휘합니다. 이번 포스팅에서는 우리에게 매우 익숙한 대상인 ‘사람’에 초점을 맞추고자 합니다. 의미론적 분할이 응용되는 분야는 매우 다양하며, 화상 회의와 영상 통화에서 배경을 제거하는 것부터 사진 편집 기술을 향상시키는 데까지 매우 폭넓게 활용됩니다.
그러나 의미론적 분할 모델은 상당한 계산 능력을 요구한다는 문제가 있습니다. 그 이유는 입력 이미지의 모든 픽셀을 하나하나 세밀하게 분류해야 하기 때문입니다. 예를 들어, 특정 픽셀이 배경인지 사람인지를 구별해야 합니다. 이러한 복잡한 계산 과정은 특히 화상 회의나 영상 통화처럼 실시간으로 배경을 제거해야 하는 상황에서 큰 어려움이 됩니다.
테스트 플랫폼
모바일 최적화의 세계로 향하는 여정은 특정 도구들과 하드웨어로부터 시작됩니다 :
운영 체제 : 안드로이드
AI 모델: PIDNet (Xu et al., CVPR 2023)
AI 모델 형식 : 개방형 신경망 교환(이하 ONNX)
타겟 장치 : 갤럭시 S23 (SM-S911**)
또한, 저희 프로젝트를 GitHub에 공개하여 개발자 및 AI 애호가들이 쉽게 접근할 수 있도록 했습니다. GitHub 저장소에서 저희의 작업을 확인해보실 수 있습니다. 이 프로젝트에 기여해주신 양윤재님과 이형준님께 감사드립니다.
넷츠프레소(NetsPresso®)를 활용한 시나리오
이제 넷츠프레소를 활용해 모바일 장치에 맞춰 분할 모델을 최적화하는 중요한 시나리오를 살펴보겠습니다.
초기 도전 과제
저희는 분할 작업에서 효율적이라고 알려진 최신 모델 PIDNet을 사용하여 여정을 시작했습니다. 그러나, 뛰어난 성능에도 불구하고 초당 1.86 프레임(FPS)이라는 상당한 지연 문제가 발생했습니다. 간단히 말해, 이는 각 프레임 처리 사이에 눈에 띄는 지연이 발생하여 실시간 응용 프로그램에는 적합하지 않다는 의미입니다.
압축 기술의 효과
이 문제를 해결하기 위해, 저희는 넷츠프레소의 구조적 가지치기 기능을 활용했습니다. 목표는 성능을 저하시키지 않으면서 모델을 압축하는 것이었고, 40%와 50% 두 가지 압축 수준으로 실험을 진행했습니다.
40% 압축
첫 번째 실험은 매우 긍정적이었습니다. 모델을 40% 압축함으로써 평균 IoU (Intersection over Union)로 측정된 정확성을 거의 그대로 유지하면서도 지연 시간을 상당히 줄일 수 있었습니다. 원본 모델과 40% 압축 모델의 성능을 비교해본 결과, 놀라운 성과를 확인할 수 있었습니다.
표 1 : 원본 모델과 40% 압축 모델의 성능 비교
40% 압축된 모델은 원본 모델에 비해 결과 생성에 걸리는 시간을 크게 단축시켰습니다.
50% 압축
앞선 실험의 성공에 힘입어 저희는 모델을 50% 압축하여 더 높은 수준에 도전했습니다. 이번에는 정확성에서 약간의 손실이 있었지만, 지연 시간이 크게 개선되었습니다.
50% 압축을 통해 약간의 정확성 저하를 감수하면서도 지연 시간을 크게 개선할 수 있었습니다.
모델 성능
표2 : 논의된 모든 PIDNet 모델의 성능 요약
이 결과는 넷츠프레소의 구조적 가지치기를 통해 PIDNet 모델을 압축함으로써 지연 시간이 크게 개선되었음을 보여줍니다. 이러한 최적화는 PIDNet 모델이 모바일 장치에서 화상 회의나 영상 통화와 같은 실시간 응용 프로그램에 더 적합한 선택이 될 수 있도록 도와줍니다.
모바일 최적화를 위한 우리의 여정을 통해, 아무리 계산이 복잡한 AI 모델이더라도 적절한 도구와 기술을 사용하면 모바일 환경에서 효율적으로 실행될 수 있다는 것을 확인했습니다. 이는 실시간 온디바이스 AI 처리를 요구하는 응용 프로그램에 흥미로운 가능성을 열어줍니다.
이 연구에 대해 추가로 궁금한 사항이 있으시면 아래 이메일 주소로 언제든지 문의해 주세요: 📧 contact@nota.ai.
AI 최적화 기술에 관심이 있으시면 저희 웹사이트 🔗 netspresso.ai.를 방문해 보세요.