이상현 (Kurt Lee) 님의 발표가 인상깊어서 간략하게 기록하고 친구에게 공유하고자 적었습니다.
“여행 플랜” 입력하면 왼쪽에 유사 이모티콘 자동 추천해서 달아주는 기능 구현
임베딩 기반 방법론으로 얻을 수 있는 점
- 유사 이미지 검색, 추천
- 유사 텍스트 검색, 추천
- 두 벡터가 얼마나 유사한지를 수치화해서 표현 가능
모든 레이어의 임베딩 벡터는 의미를 가진다. 같은 모델, 같은 웨이트로 하면, 같은 이미지가 들어가면 같은 임베딩 값을 가진다. (임의로 랜덤 값을 넣은 모델은 약간 달라질 수 있음, GPT-3)
보통 마지막 레이어만 사람이 이해할 수 있도록 라벨별 확률값으로 쓰여진다. (골든 리트리버 0.9, 치와와 0.3, 고양이 0.1)
사용사례
- House building, House 라는 텍스트로 되어있는 이모지를 “부동산” 이라는 키워드가 나올 때 찾을 수 있게 하려면?
- Q&A 검색, 고객 응대 자동화
- ‘할인이 안돼요’ 검색 : ‘상품에 쿠폰을 적용하는 방법’ FAQ 작성해놓은 거 제공
임베딩 기반 추천, 검색 로직
- 내가 원하는 도메인의 의미를 가장 잘 이해하고 있는 모델 찾는다 : inference 결과와 실제값이 꼭 일치하지 않아도 된다.
- 일반적으로, 특정 분야에 최적화된 모델을 찾는 게 좋다 (찾기가 어려움) : 비슷한 옷을 찾고 싶다면, 의류 분류 모델
- 최적화된 모델을 찾기 힘들 경우, 분야 상관없이 다 잘 이해하는 충분히 큰 모델을 쓰는 게 좋다. : 텍스트 - GPT 모델
- 모델에서 임베딩을 뽑는 인터페이스를 찾는다.
- 모델마다 임베딩에 어떤 레이어를 쓰는 게 좋은 지 대부분 명시한다. 없으면 문서, 논문 찾아보기
- huggingface에 transformers 구현한 모델들은 대부분 임베딩 api를 지원한다.
- feature extraction task로 sagemaker inference 올려서 확인 가능
- 관련 검색어 : embedding / latent feature space / embedding space
- 이 모델이 내가 원하는 context를 잘 이해하고 있는지 확인한다.
PCA나 T-SNE로 차원 줄여서 시각화해서 확인한다