메신저용 온디바이스 이미지 모델 학습기 1편: 지식 증류로 확장한 다국어 이미지 검색 (새 탭에서 열림)
메신저 환경 내 사용자 경험을 개선하기 위해 네트워크 연결 없이 모바일 기기 내부에서 작동하는 온디바이스 이미지 이해 모델을 개발했습니다. 거대 모델의 정교한 표현력을 작은 모델에 전수하는 '지식 증류(Knowledge Distillation)' 기법을 핵심 전략으로 사용하여, 기존 영어 전용 모델을 한국어를 포함한 5개 국어 지원 모델로 확장하면서도 성능과 효율성을 동시에 확보했습니다. 이를 통해 모바일 기기의 제한된 자원 속에서도 높은 정확도의 다국어 이미지 검색 기능을 성공적으로 구현하는 성과를 거두었습니다. ### 온디바이스 이미지 이해의 필요성과 제약 조건 * 메신저 내 이미지 검색 기능을 키워드 매칭 방식에서 의미 기반(Semantic) 검색으로 고도화하고, 알림 시 이미지 내용을 요약해 주는 등 사용자 경험을 개선하고자 했습니다. * 지연 시간(Latency) 최소화, 개인 사진에 대한 프라이버시 보호, 오프라인 환경 지원을 위해 서버가 아닌 온디바이스 처리가 필수적이었습니다. * 앱 다운로드 부담을 줄이기 위해 모델 크기를 200MB 이하로 최적화해야 했으며, Android와 iOS 모두에서 수백 ms 이내의 빠른 응답 속도와 호환성을 보장해야 했습니다. ### 지식 증류를 통한 다국어 텍스트 인코더 확장 * 기존의 번역 파이프라인 방식은 번역 오류로 인한 품질 저하와 추가적인 지연 시간 문제가 있어, 지식 증류를 통해 다국어를 임베딩 공간에 직접 정렬하는 방식을 채택했습니다. * 이미 검증된 영어 텍스트 인코더를 교사(Teacher) 모델로 고정하고, 다국어 입력을 받는 학생(Student) 모델이 교사의 임베딩 공간을 복제하도록 MSE(평균 제곱 오차) 손실 함수를 사용해 학습시켰습니다. * 이미지 인코더를 재학습하지 않고 텍스트 인코더만 정렬함으로써, 기존 모델이 가진 강력한 이미지-텍스트 정렬 성능을 다국어 환경에서도 그대로 유지하며 효율적으로 확장했습니다. ### 다국어 검색 성능 및 기술적 구현 성과 * 지식 증류 결과, 다국어 Recall@5 지표가 기존 10% 미만에서 평균 78% 이상으로 약 7배 향상되어 실제 서비스에 적용 가능한 수준의 성능을 확보했습니다. * Android와 iOS 통합 지원을 위해 표준 런타임인 LiteRT를 선택했으며, PyTorch 모델 변환 과정에서 호환되지 않는 연산자(erf 등)를 의사 연산자로 대체 구현하여 최적화했습니다. * 언어별 데이터 불균형을 해소하기 위한 샘플링 전략과 모바일 환경에 맞춘 토큰화기(Tokenizer) 규약을 수립하여 실무적인 배포 완성도를 높였습니다. 이 프로젝트는 온디바이스라는 제약 조건 속에서 지식 증류라는 효율적인 학습 전략을 통해 다국어 지원 문제를 성공적으로 해결했습니다. 특히 영어 모델의 성능 손실을 최소화하면서도 한국어, 일본어 등 주요 언어의 검색 품질을 획기적으로 끌어올린 과정은, 리소스가 제한된 모바일 환경에서 AI 모델을 배포하고자 하는 개발자들에게 유용한 기술적 이정표가 될 것입니다.