임베딩은 텍스트, 이미지, 오디오 및 기타 콘텐츠를 디지털 벡터 문자열로 변환하는 것으로 이해할 수 있습니다. AI가 의미론적으로 검색할 수 있는 이유는 키워드 검색처럼 단어 하나하나와 일치하기 때문이 아니라, 비슷한 의미가 벡터 공간에서 더 가까워지기 때문입니다.
간단한 예시입니다
사용자가 "반품 방법"을 검색하면 문서에 "사후 환불 절차 요청"이라고 적혀 있는데, 이는 전통적인 키워드 검색과는 일치하지 않을 수 있습니다; 임베딩(embed) 검색은 의미가 비슷한 두 문장을 찾으므로, 관련 내용을 먼저 배치하세요. 이것이 많은 지식 기반 Q&A, 추천 시스템, 그리고 유사한 이미지 검색의 기반이 됩니다.
시스템에서 임베딩을 사용하는 방법
일반적인 접근법은 다음과 같습니다: 먼저 임베딩 모델을 사용해 문서 조각을 벡터로 변환하고 벡터 데이터베이스에 저장하는 것; 사용자가 질문을 할 때, 질문을 벡터로 변환하고 데이터베이스 벡터와의 유사도를 계산합니다. 유사성이 높을수록 의미론이 더 밀접하며, 모델이나 검색 페이지로 호출될 가능성이 높아집니다.
이것이 대형 모델 답변과 무슨 관련이 있나요?
임베딩 자체는 보통 답변 작성에 책임이 있는 것이 아니라, '관련 콘텐츠를 찾는 것'을 담당합니다. 대형 언어 모델은 맥락을 이해하고 응답을 생성하는 역할을 합니다. RAG 시스템은 종종 임베딩 모델, 벡터 데이터베이스, 리트리싱 모델, 생성 모델을 동시에 포함합니다; 이 두 가지는 동일하지 않습니다.
흔한 오해
첫째, 임베딩이 항상 더 큰 숫자일수록 더 나은 것은 아닙니다; 도메인 매칭과 평가가 더 중요합니다; 둘째, 벡터 유사성은 사실적 정확성을 의미하지 않습니다; 단지 의미적 유사성을 나타냅니다; 셋째, 짧은 텍스트, 표, 코드, 고유명사는 특별한 처리가 필요할 수 있습니다. 기업 지식 기반을 구축할 때, 임베딩의 품질은 올바른 정보를 찾을 수 있는지에 직접적인 영향을 미칩니다.