데브허브 | DEVHUB | AI Engineering #2: Vector Embeddings for LLMsAI Engineering #2: Vector Embeddings for LLMs
- 벡터는 개념(객체, 텍스트)을 압축하여 1차원 배열로 표현한 것으로, 각 값은 특정 의미를 나타내며 비정형 데이터의 의미론적 이해에 필수적입니다. 💡
- 벡터는 사람의 기술, 고용 비용 등 여러 특징을 수치화한 '엑셀 시트'처럼 작동하여, N차원 공간의 한 점으로 표현됩니다. 📊
- 벡터 임베딩은 의미를 효율적으로 캡슐화하여, 유사한 대상을 찾거나 특정 기준(예: 높은 경험)으로 필터링하는 데 사용됩니다. 🔍
- LLM의 입력은 단순히 공백으로 구분된 단어가 아닌 '토큰'이며, 이는 문자열에서 자주 나타나는 부분 문자열을 병합하여 생성됩니다. 🧩
- 바이트 쌍 인코딩(BPE)은 자주 함께 나타나는 문자 쌍이나 부분 문자열을 병합하여 어휘 크기를 줄이고 엔트로피를 낮추는 토큰화 알고리즘입니다. 🔠
- 예를 들어, 'eating'은 'eat'과 'ing'으로 분리되어 어휘 폭발을 방지하고, 'engineer'는 'engineer'와 'eer'로 분리될 수 있습니다. ✂️
- 벡터는 BERT와 같은 트랜스포머 아키텍처 내의 신경망을 통해 생성되며, 초기에는 무작위 벡터로 시작합니다. 🧠
- 어텐션 메커니즘은 벡터에 문맥적 의미를 부여하고, 피드포워드 신경망이 이를 처리합니다. 🌐
- 벡터 생성 모델은 '마스크드 언어 모델링(MLM)'을 통해 훈련됩니다: 입력 문장에서 일부 토큰을 숨기고 모델이 이를 예측하게 하여, 예측 정확도에 따라 벡터와 가중치를 역전파로 업데이트합니다. 🎭
- '다음 문장 예측(NSP)' 훈련은 모델이 두 문장의 논리적 순서를 예측하게 하여, 문장 간의 인과 관계와 의미론적 이해를 향상시킵니다. ➡️
- 수십억 개의 토큰(예: 위키피디아 전체 텍스트)을 통해 이러한 훈련을 반복함으로써, 모델은 입력 토큰을 매우 정교하고 의미론적으로 풍부한 벡터로 변환하는 능력을 갖추게 됩니다. 📚