벡터 임베딩이란 무엇인가? 인터랙티브 가이드
What are vector embeddings? An interactive guide
핵심 요약
벡터 임베딩의 개념을 시각적으로 학습하고 직접 체험할 수 있는 인터랙티브 가이드와 게임을 소개합니다.
- 인터랙티브 가이드 — 벡터화, 코사인 유사도, 의미론적 검색 등 핵심 개념을 시각적으로 설명함
- SemanticGuessr 게임 — 4만여 개의 단어 맵에서 타겟 단어를 찾는 게임을 통해 임베딩을 직관적으로 이해함
- 기술적 최적화 — 임베딩 차원 축소와 4비트 양자화를 통해 웹에서 가볍게 구동되도록 구현함
- 학습 자료 제공 — 시각화와 함께 파이썬 코드 스니펫을 제공하여 실습을 지원함
isaacus.com
원문 사이트로 이동
안녕 r/LocalLLaMA 형들, 난 Isaacus에서 머신러닝 엔지니어로 일하는 Abdur-Rahman Butler라고 해.
Brendan Bycroft가 만든 쩌는 LLM 시각화 가이드에서 영감을 받아서, 벡터 임베딩의 A부터 Z까지 싹 다 훑어볼 수 있는 인터랙티브 가이드를 만들어 봤어 (여기서 봐봐 - https://bbycroft.net/llm).
내가 주로 인코더 모델 쪽 일을 하는데, 임베딩을 제대로 다룬 인터랙티브 자료가 진짜 없더라고. 있는 것들도 그냥 3D로 임베딩 몇 개 찍어놓거나, 시맨틱 서치나 RAG 같은 좁은 분야만 다루는 게 전부였거든.
그래서 임베딩이 어떻게 돌아가는지 직접 만져보면서 배울 수 있는 걸 만들고 싶었어. 이 가이드에는 벡터화, 코사인 유사도, 시맨틱 서치, 계층적 검색, 클러스터링, 제로샷 분류, 중복 제거 같은 개념들을 직접 탐색해 볼 수 있는 시각화 도구들이 들어있어.
이 글의 핵심은 내가 'SemanticGuessr'라고 이름 붙인 게임이야 (위에 봐봐). Wordle이랑 GeoGuessr에서 영감을 받았는데, 43,339개의 흔한 영어 단어가 2D 맵에 뿌려져 있거든? 거기서 타겟 단어를 맞히기 위해 추측을 거듭하면서 범위를 좁혀가는 게 목표야.
처음엔 좀 막막할 수도 있어. 우리가 생각하는 의미랑 시맨틱 공간이 완벽하게 일치하진 않거든. 근데 감 잡으면 진짜 중독성 쩔어. 얼마 전에 멜버른 대학교 법대생들한테 시연해 줬는데, 벡터 방정식 이것저것 던져보면서 어디에 찍히나 확인하는 거 진짜 재밌어하더라.
시작할 때 써먹기 좋은 재밌는 예시 몇 개 던져줄게:
london - english + french
running - land + water
avg(breakfast, lunch, dinner)
0.4 * noodles + 0.6 * pasta
나중에 직접 기술들을 따라 해보고 싶은 형들을 위해 파이썬 코드 스니펫도 같이 넣어놨어. 게임은 웹페이지에서 정적으로 돌아가. 임베딩 차원을 512로 줄이고 각 값을 4비트로 양자화해서 용량을 311MB에서 12.3MB까지 줄였거든. 정밀도는 6% 정도밖에 안 깎였어.
만드는 내내 진짜 재밌었고, 형들도 재밌게 즐겼으면 좋겠다. 질문 있으면 언제든 환영이고, 반응 좋으면 내가 작업 중인 다른 인코더 기반 게임들도 모아서 전용 게임 페이지 하나 파볼까 생각 중이야.
다들 타겟 단어랑 선택한 경로로 최고 점수 몇 점 나오는지 알려줘 :)
