스포티파이는 내 마음에 쏙 드는 음악을 추천해주는 방법

내 마음을 읽는 독심술의 기술, 벡터와 임베딩

by 잇문학도
Gemini_Generated_Image_yvfp4cyvfp4cyvfp.png


1.

인공지능 관련 기사나 회의에서 벡터 DB(Vector DB)를 도입해야 한다거나, 임베딩(Embedding) 모델의 성능이 떨어져서 검색 결과가 정확하지 않다는 이야기를 접하게 될 때가 있습니다. 챗GPT 같은 AI가 내 질문의 의도를 찰떡같이 알아들을 때 그 배경에는 항상 벡터라는 개념이 깔려 있는데요. 인공지능이 인간의 언어를 어떻게 데이터로 처리하고 이해하는지 보여주는 핵심 열쇠입니다.


2.

임베딩은 단어를 숫자로 이루어진 '좌표'로 바꾸는 과정이고, 벡터는 그 '좌표값 자체'를 의미합니다. 일단 벡터만 기억해보세요. 컴퓨터는 사과라는 글자를 인간처럼 이해하지 못하기 때문에 사과를 [달콤함: 9, 아삭함: 8, 색깔: 빨강(0.1)] 같은 식의 숫자로 바꿉니다. 이렇게 숫자로 바꾸고 나면 비슷한 특징을 가진 배는 사과와 아주 가까운 위치에 점이 찍히게 됩니다. 우리가 생각하는 좌우-상하 그래프를 생각하시면 됩니다.


3.

세 가지 요소로 점을 찍는 3차원 입체 그래프를 상상해보세요. 강아지라는 단어가 [귀여움: 100, 충성심: 90, 털: 80]이라는 분석이 나왔다고 가정해 보겠습니다. 이 점수들을 그래프 위에 표시하면 강아지와 고양이는 귀여움과 털 점수가 비슷해서 아주 가까운 곳에 나란히 위치하게 됩니다. 반면 자동차는 모든 점수가 0에 가까우니 아주 먼 곳에 점이 찍힙니다. AI는 이 그래프 위에서 점들이 얼마나 가까운지, 즉 '의미의 거리'를 보고 단어의 글자 모양이 달라도 비슷한 의미라는 것을 찾아냅니다.


4.

우리가 스포티파이(Spotify)에서 음악을 들을 때 소름 돋는 추천을 받는 비결도 바로 이 벡터 임베딩입니다. 스포티파이는 수억 개의 곡을 단순히 장르로 분류하는 데 그치지 않고 곡의 빠르기, 보컬의 허스키함, 악기 구성 등 수천 가지 특징을 숫자로 추출해 좌표를 찍습니다. 사용자가 최근 즐겨 들은 곡들의 좌표를 계산한 뒤 그 주변에 몰려 있는 다른 곡들을 추천해 주는 방식입니다.


5.

구글(Google) 역시 검색 결과에 이 벡터 방식을 도입한 BERT 모델을 사용하여 사용자가 오타를 내거나 애매하게 질문해도 질문의 의미를 좌표로 분석해 가장 정확한 답변을 찾아냅니다. 벡터는 '사용자의 마음을 읽는 독심술'과 같습니다. "슬플 때 듣기 좋은 노래"를 검색했을 때 가사에 '슬픔'이 들어간 노래만 보여주는 게 아니라, 그 분위기에 맞는 곡들을 좌표로 찾아내 보여주는 것이 진정한 기술입니다. 우리가 가진 방대한 데이터를 인공지능이 이해하기 좋은 '맛있는 숫자(벡터)'로 어떻게 바꿀지 고민하는 것이 아키텍트의 핵심 역량이 됩니다.


[세 줄 이해]

- 임베딩은 단어의 의미를 숫자 좌표로 바꾸는 과정이고 벡터는 그 좌표값입니다

- 인공지능은 단어 자체를 비교하는 대신 좌표 사이의 거리를 계산해 비슷한 의미를 찾아냅니다.- 넷플릭스와 스포티파이는 이 벡터의 거리를 이용해 정교한 취향 저격 추천 서비스를 제공합니다.




이전 15화GPU는 왜 AI 시대의 금이 되었을까