Introduction to Embedding
Last updated
Last updated
📌 목차
벡터(Vector)란?
임베딩(Embedding)이란?
임베딩의 중요성
Solar Embedding을 사용해야 하는 이유
Demo: Solar 문장 임베딩 실습
AI 모델, 즉 컴퓨터 알고리즘이 텍스트를 이해하고 활용하려면 단어, 문장, 문서를 숫자로 변환해야 합니다. 이를 가능하게 하는 기술이 임베딩(Embedding)입니다. 임베딩은 LLM 모델의 핵심 요소로서 AI가 텍스트를 이해하기 위해 필수적인 과정입니다.
본격적인 임베딩 개념을 설명하기 앞서, 벡터 개념부터 짚고 넘어가겠습니다.
컴퓨터는 숫자만 인식하고 처리할 수 있습니다. 따라서, 사람이 사용하는 단어나 문장은 숫자로 변환된 형태(벡터, Vector)로 표현되어야 합니다.
벡터는 숫자의 나열로 이루어진 데이터 표현 방식입니다.
AI 알고리즘 그리고 컴퓨터는 단어나 문장을 벡터로 변환하여 이를 이해합니다.
📌 예제
"고양이"
[0.12, -0.45, 1.33, ...]
"강아지"
[0.14, -0.50, 1.28, ...]
"자동차"
[2.45, -0.98, 3.22, ...]
📌 벡터 공간(Vector Space)이란?
벡터 공간은 단어를 수치적으로 표현한 좌표 공간으로, 의미가 비슷한 단어들은 가까운 위치에 배치되고, 의미가 다른 단어들은 멀리 떨어지도록 학습됩니다.
💡 즉, AI는 벡터 공간을 활용하여 단어 간의 관계를 수치적으로 분석하고 학습할 수 있습니다.
임베딩 이전 방식들은 의미, 문맥을 이해하지 못하고, 단순히 단어의 철자가 비슷하거나 혹은 문장 내 비슷한 단어의 개수 등 수치적인 방법으로 텍스트를 벡터화하는 한계가 있었습니다.
하지만 임베딩(Embedding)은 단어, 문장, 문서 등 텍스트의 의미를 반영하여 이를 벡터로 변환하는 기술로, AI가 단어의 의미와 문맥을 보다 정확하게 이해하고 분석할 수 있도록 도와줍니다.
📌 예시
예시로 다음과 같은 3개의 단어를 들어보겠습니다.
"배우"
[0.12, -0.45, 1.33, ...]
"배움"
[0.14, -0.50, 1.28, ...]
"공부"
[2.45, -0.98, 3.22, ...]
"배우"와 "배움"은 철자가 비슷하지만 의미가 다름
"배움"과 "공부"는 철자는 다르지만 의미가 유사함
📌 기존 방식 vs. 임베딩 방식 비교
이전 방식 (문맥 반영 X)
임베딩 방식 (문맥 반영)
"배우"와 "배움"은 철자가 비슷하므로 유사한 단어로 처리
"배우"와 "배움"은 연관 없는 단어로 분류
"배움"과 "공부"는 철자가 다르므로 연관 없는 단어로 인식
"배움"과 "공부"는 의미가 유사하므로 가까운 개념으로 인식
위 그림처럼, 의미적으로 가까운 단어는 벡터 공간에서 가까운 위치에 배치되고, 관련 없는 단어들은 멀리 떨어지도록 학습됩니다.
💡 즉, 임베딩 모델을 활용하면 AI가 단어의 의미, 문장의 문맥을 기반으로 텍스트를 보다 정확하게 이해할 수 있습니다!
AI 모델이 단순히 단어를 비교하는 것이 아니라, 문맥과 의미를 이해하도록 만들기 위해 임베딩이 필요합니다.
1️⃣ 문장 간 유사도 비교
"나는 피자를 좋아해" ↔ "피자는 내 최애 음식이야" : 같은 의미를 가진 문장으로 판단 가능
2️⃣ 텍스트 검색(Search) 개선
단어, 문장 등의 유사도를 파악할 수 있기 때문에 사용자가 입력한 질문과 관련성이 높은 문서를 검색 가능
"강아지"를 검색하면 "반려견", "애완동물" 등 의미가 비슷한 문서 검색 및 추천
3️⃣ 자연어 처리 성능 향상
챗봇, 문서 요약 등 다양한 자연어처리 Task에 활용되어 더 자연스러운 AI 서비스 구현 가능
💡 즉, 임베딩을 활용하면 AI가 문맥을 기반으로 텍스트를 더 정확하게 이해하고 활용할 수 있습니다!
이처럼 임베딩 모델의 성능이 LLM 모델의 전반적인 성능을 결정하는 중요한 요소이므로, 더 강력하고 정확한 임베딩 모델을 선택하는 것이 매우 중요합니다.
업스테이지의 Solar Embedding 모델은 기존 임베딩 모델보다 더 빠르고 정확한 성능을 제공합니다.
✔ 타 임베딩 모델보다 우수한 성능
다국어 전반에서 보다 뛰어난 결과를 기록
특히 어려운 검색 및 문서 검색(Task)에서 더욱 강한 성능 발휘
✔ 다양한 언어 지원
한국어 뿐만 아니라 영어, 일본어 벤치마크에서도 탁월한 성능 입증
💡 Solar Embedding 모델은 더 높은 정확도와 다국어 지원을 바탕으로 다양한 분야에서 최적의 성능을 발휘할 수 있습니다!
이제 실제로 문장이 어떻게 벡터로 변환되는지 실습해보겠습니다!
임베딩 벡터가 어떻게 생겼는지 직접 확인해 보기
1️⃣ 입력 문장 작성 → "오늘 날씨가 좋아"
2️⃣ Generate Embedding 버튼 클릭 → Solar Embedding API 실행 후 해당 문장을 임베딩 벡터로 변환
3️⃣ 임베딩 벡터 확인하기 → 오른쪽 Embedding Result 파트에서 완성된 임베딩 문장 벡터를 확인
이번 강의에서는 임베딩(Embedding)의 개념과 필요성, 그리고 Solar Embedding의 차별점을 살펴보았습니다.
🔹 벡터(Vector): AI가 텍스트를 숫자로 변환하는 기본 표현 방식
🔹 임베딩(Embedding): 단어, 문장, 문서를 벡터로 변환하여 AI가 의미와 문맥을 이해하도록 하는 기술
🔹 임베딩의 필요성: 검색 정확도 향상, 문장 유사도 비교, 자연어 처리 성능 개선 등 AI 응용 분야에서 필수적인 요소
🔹 Solar Embedding의 차별점: 다국어 환경에서도 최적의 성능을 제공하며, 어려운 검색 및 문서 처리 작업에서도 높은 정확도를 발휘하는 임베딩 모델
Suwan Kim | AI Edu | Upstage
🔗
🚀