-
네이버와 Meta AI의 Multimodal Shopping Model 비교 분석Paper Reviews 2023. 1. 25. 10:55
최근 commerce AI 분야에서도 다양한 멀티모달 쇼핑 모델들이 발표되어 활용되고 있어 리뷰해보려고 합니다.
Meta AI의 Commerce MM 모델 Meta AI에서는 2022 KDD에서 멀티모달 쇼핑 모델 Commerce MM을 발표했습니다. Meta AI는 이미 페이스북과 인스타그램의 marketplace를 운영하고 있어서 여기서 나오는 데이터셋은 거대할 것으로 보입니다. 쇼핑 데이터의 핵심은 (아직까지는) 이미지와 텍스트인데요, 이 두 가지의 모달리티를 섞어서 쇼핑 전용 멀티모달(Multimodal) 모델을 학습한 뒤 다양한 태스크에 활용하는 추세입니다.
네이버 e-CLIP 모델 프레임워크 한국 최대의 e-commerce 사이트인 네이버 쇼핑에도 이미 이런 모델들을 만들 충분한 데이터가 쌓여있습니다. 네이버 쇼핑에서는 OpenAI에서 발표해 큰 화제가 된 CLIP 모델을 참고해 e-commerce 용 멀티모달 모델 e-CLIP을 만들었다고 합니다.
이미지를 인코딩하는 Image Encoder과 텍스트를 인코딩하는 Text Encoder가 있는 점은 두 모델의 공통점입니다만, Commerce MM 에는 이 모듈들 위에 추가적인 멀티모달 인코더 레이어가 하나 더 있다는 점을 관찰할 수 있습니다.
이번 리뷰에는 Commerce MM의 내용을 더 자세히 담으면서 CLIP과의 차이점을 언급해보도록 하겠습니다.
데이터셋
Meta AI의 경우 모델의 pretraining에 사용된 이미지는 1억 개 (102M) 의 이미지-텍스트 쌍인데, 오른쪽과 같은 상품 카탈로그 게시물에서 5천만 개(50M), 마켓플레이스 게시물에서 5.2천만 개 (52M)를 수집했다고 합니다.
그리고 멀티모달 학습을 위해 5천만 개 (50M)의 cross-modal 데이터를 추가로 모았는데 이는 인스타그램/페이스북에서 상품이 태그된 게시물, 그리고 상품을 찾기 위해 사용자들이 입력한 쿼리 등도 포함시켰습니다.
반면 논문 e-CLIP 에 따르면, e-CLIP에서 사용한 데이터는 네이버 쇼핑 데이터베이스를 활용했으며 10억(1B) 개의 이미지-텍스트 쌍에서 중복 상품 제거 등의 preprocessing를 통해 2억 7천 개 (270M) 정도로 추려 사용했다고 하네요.
학습 방법
e-CLIP 배치구성과 soft label (https://medium.com/naver-shopping-dev/e-clip-1f63bbf89634) e-CLIP 의 학습 방법은 CLIP과 유사하며 비교적 간단한 편입니다. 위 e-CLIP 의 프레임워크에서 볼 수 있다시피 vision transformer (Vit-B/32)를 통해 이미지를 인코딩하고 BERT-base를 텍스트 인코더로 사용하여 constrastive learning을 진행합니다. 같은 카테고리 안에서 hard negative sample을 추출하여 더 높은 성능을 추구하는 카테고리 기반 "negative sample"을 했다고 합니다.
배치 크기가 몇 천개 단위로 꽤 크다보니 배치 내에 동일한 상품에 대해 판매자에 따라 다른 텍스트, 이미지가 포함될 수 있는데, 이럴 경우에는 soft label을 사용했다고 합니다. 위의 예제에서는 1이 아닌 0.25씩 4개 동일 상품에 할당 했다고 이해할 수 있겠습니다. soft label 처리를 하지 않으면 성능에 저하가 발생할 수 있다고 하네요.
Commerce MM 모델 구조 Commerce MM 의 모델 구조는 위와 같습니다.
우선 Meta AI의 XLM-R을 하단 K개 레이어는 텍스트 인코더로, 상단 M개 레이어는 멀티모달 퓨전 인코더로 사용한 점이 특이합니다. 이 두 인코더 간의 효과적인 정보 교환을 위해 K와 M은 고정시키지 않고 (K+M) 만 고정한 상태에서 랜덤하게 K, M을 바꿔가면서 학습했다고 합니다.
Commerce MM 에서는 총 2단계의 pretraining을 진행했는데, 1단계 pretraining 에서는 각각의 이미지, 텍스트 인코더가 단일 모달리티로 학습되었던 방식 (Masked Image Modeling (MIM), Masked Language Modeling (MLM))을 똑같이 이용하지만, 모델의 입력을 멀티모달로 확장하는 방식으로 응용하였습니다.
지난 연구들에서는 멀티모달 모델을 학습하는데 있어 마스킹된 이미지를 예측하는 과제인 Masked Image Modeling (MIM)이 효과적이지 않았음이 알려져 있었는데, Commerce MM 저자들은 이 한계점을 보완한 MIM 방법을 포함한 총 5개의 사전학습 과제를 제시합니다. 1) Masked Language Modeling (MLM), 2) Masked Image Modeling KL-Divergence(MIM-kl), 3) Masked Image Modeling Feature Regression (MIM-fr), 4) Image-Text Constrastive Learning (ITC), 5) Image-Text Matching (ITM)
1) Masked Language Modeling (MLM)
MLM은 가려진 단어를 맞추는 과제입니다. 그러나 멀티모달 퓨전 인코더에서 텍스트와 이미지의 정보를 혼합해 가려진 단어를 맞추게 된다는 점이 다릅니다. 텍스트의 문맥 외에 이미지에서도 가려진 단어를 맞추는 힌트가 많이 나올 것 같네요.
2) Masked Image Modeling KL-Divergence(MIM-kl)
이미지의 경우 패치 중 50%나 마스킹을 합니다. 다만 그 뒤에는 기존 MIM처럼 마스킹된 영역을 복원하지는 않습니다.
다만 원본 이미지들을 32,000개로 클러스터링 한 뒤 이를 soft label로 삼아 마스킹된 이미지들을 분류해봅니다. 마스킹된 이미지 별 분류 확률 분포는 soft label과 비슷하도록 학습되는 것이 목적이므로 KL-Divergence 함수를 사용하게 됩니다. Knowledge Distillation의 응용으로 볼 수 있습니다.
3) Masked Image Modeling Feature Regression (MIM-fr)
두 번째 MIM 태스크는 원본 이미지의 [CLS_v] 토큰과 50% 마스킹된 이미지의 [CLS_v] 토큰이 비슷해지도록 regression 하게 됩니다. ViT처럼 마스킹된 이미지 패치를 복원하기보다는 전체 이미지를 압축, 요약한 [CLS_v] 토큰을 복원하는데 집중했습니다.
4) Image-Text Constrastive Learning (ITC)
ITC는 e-CLIP에서와 같이 이미지, 텍스트 인코더 단계에서 두 모달리티를 같은 공간에 임베딩하는 것에 주력합니다.
5) Image-Text Matching (ITM)
마지막으로 ITM은 ITC와 다르게 멀티모달 퓨전 레이어에서 나온 [CLS] 토큰을 통해 입력된 이미지-텍스트 쌍이 매칭되는 이미지인지 \( y=1 \) 그렇지 않은지를 \( y=0 \) 판별하게 됩니다. 아래 이미지, 텍스트 인코더 레이어에서 진행된 ITC 결과를 바탕으로 hard negative sample인 이미지-텍스트 쌍을 찾을 수 있고 효율적인 pretraining을 할 수 있게 된다고 합니다.
Commerce MM 에서는 멀티모달 퓨전 레이어를 좀 더 학습시키기 위해서, 위 사전학습으로 부족했던 나머지 2단계 Cross-modal, Cross-pair 사전학습을 진행하였습니다. 멀티모달 퓨전 레이어가 없는 e-CLIP 같은 구조에서는 활용하기 어렵습니다.
Cross Pair Pretraining: Omni Retrieval
만약 어떤 (이미지-텍스트) 쌍이 다른 (이미지-텍스트) 쌍과 연관되어 있다면, 각각의 modality끼리도 밀접하게 연관되어 있을 거라는 가정하에 각각의 source, target pair의 modality embedding 간의 similiarity 9쌍을 계산하여 constrastive learning을 진행하였습니다. 멀티모달 퓨전 레이어를 한 번 더 거친 embedding에 대해 constrastive learning을 했다는 점, 그리고 사용한 데이터가 달라졌다는 점 이외에는 1단계 pretraining과 아이디어 면에서 크게 다른 점은 없어 보입니다.
멀티모달 쇼핑 모델의 활용 사례
이렇게 학습이 완료된 멀티모달 쇼핑모델을 Meta AI와 네이버 쇼핑은 어떻게 활용하고 있을까요?
commerce MM 활용 사례 우선 Meta AI에서는 Commerce MM을 상품 카테고리 분류, 각종 형태의 Retrieval에 활용한 결과를 발표했습니다.
ablation study 결과 역시 위에서 언급한 모든 방법론을 다 적용한 결과가 가장 좋으며, 특히 2단계 pretraining과정이었던 Omni Retrieval을 추가했을 때 Query2Product (Q2P), Image2Product(I2P) 등 검색에 적용한 결과를 향상시킬 수 있다는 것이 보고되었습니다.
MLM만 진행한 2번 실험보다는 MIM만 수행한 4번 실험 결과가 더 좋았던 점을 언급하며, MIM을 성공적으로 수행했다는 것을 입증하고 있습니다.
e-CLIP과 다른 모델들의 상품 클러스터링 성능 (전자제품, 식품 카테고리) 반면 네이버 쇼핑에서는 e-CLIP 을 상품 클러스터링 (비슷한 상품끼리 묶는 과제), 상품 매칭(Retrieval과 동일), 상품 속성 추출, 상품 카테고리 분류, 성인 상품 인식 총 5개 과제에 적용해 좋은 성능을 확인했다고 하네요.
마치며
학습 아이디어 자체는 CLIP 등에서 활용된 constrastive learning이 핵심이지만, 이렇게 쇼핑이라는 특정 도메인에 적용해 쇼핑 관련 여러 과제에 적용시키기까지는 추가적인 많은 기술력이 필요했을 것 같습니다.
위 연구 결과들로 이미지와 텍스트 두 가지의 모달리티를 성공적으로 하나의 공간 안에 임베딩 시키는 것이 가능하다는 것이 입증되었는데 앞으로 또 다른 어떤 모달리티를 추가할 수 있을지 궁금해집니다.
멀티모달 쇼핑 모델의 등장으로 앞으로 페이스북, 인스타그램, 네이버 쇼핑 등 e-commerce 분야에서 더욱 다양한 서비스를 경험할 수 있을 것 같습니다.
'Paper Reviews' 카테고리의 다른 글
상용화된 LLM에서 얻은 피드백 활용 방법 (0) 2023.10.31 LLAMA2를 무해한 모델로 만들기 위한 노력 (0) 2023.08.24 LEVER: Learning to Verify Language-to-Code Generation with Execution 논문 리뷰 (0) 2023.08.16 TaskMatrix.AI (0) 2023.08.16 captum으로 내가 만든 pyTorch 모델 결과 분석하기 (XAI) (0) 2023.03.21