LLM 엔지니어링7장 · 자체 임베딩과 벡터DB, 검색 품질2 / 22← 이전목차다음 →MetaContents

7장. 자체 임베딩과 벡터DB, 검색 품질

용어 짚고 가기

  • 임베딩(embedding)글을 뜻이 담긴 숫자 줄(벡터)로 바꾼 것, 또는 바꾸는 일입니다. 뜻이 비슷한 글은 가까운 벡터가 됩니다. embed 는 "끼워 넣다, 박아 넣다"라는 뜻으로, 글을 숫자 공간 속에 박아 넣는다는 데서 왔습니다.
  • 임베딩 모델(embedding model)글을 임베딩으로 바꾸는 모델입니다. 이 장은 intfloat/multilingual-e5-small 을 씁니다. model 은 "본, 모형"이라는 뜻입니다.
  • 차원(dimension)임베딩 벡터에 든 숫자의 개수입니다. e5-small 은 384차원입니다. dimension 은 "치수, 잴 수 있는 방향"이라는 뜻입니다.
  • 의미 검색(semantic search)질문과 문서의 임베딩이 얼마나 가까운지로 찾는 검색입니다. 낱말이 달라도 뜻이 같으면 찾습니다. semantic 은 "뜻에 관한"이라는 뜻입니다.
  • 정규화(normalization)벡터의 길이를 1 로 맞추는 것입니다. 정규화하면 내적이 곧 코사인 유사도가 됩니다. normal 은 "표준의"라는 뜻으로, 길이를 표준 크기로 맞춘다는 말입니다.
  • sentence-transformers(문장 트랜스포머)임베딩 모델과 재정렬 모델을 쉽게 쓰게 해 주는 파이썬 라이브러리입니다. sentence(문장)와 transformer(트랜스포머 모델)를 붙인 이름으로, 문장 단위로 임베딩을 만드는 트랜스포머라는 뜻입니다.
  • 벡터DB(vector database)임베딩을 저장하고, 질문과 가까운 벡터를 빠르게 찾아 주는 저장소입니다. vector 는 "방향과 크기를 가진 양"이고, DB 는 database(자료를 모아 둔 곳)의 줄임말입니다.
  • 인덱스(index)벡터를 빨리 찾도록 정리해 둔 짜임입니다. 모두 견주는 Flat, 구역을 나누는 IVF, 이웃을 잇는 HNSW 가 있습니다. index 는 "색인, 찾아보기"라는 뜻입니다. IVF 는 Inverted File(역색인 파일), HNSW 는 Hierarchical Navigable Small World(계층형 작은 세상 그래프)의 머리글자입니다.
  • FAISS(Facebook AI Similarity Search)Meta 가 공개한 벡터 검색 라이브러리입니다. 파일 하나에 인덱스를 저장합니다. Facebook AI 의 유사도(Similarity) 검색(Search)이라는 뜻의 머리글자입니다.
  • Chroma(크로마)문서, 임베딩, 메타데이터를 함께 저장하는 오픈소스 벡터DB 입니다. chroma 는 "색채"라는 뜻의 낱말입니다.
  • 메타데이터(metadata)조각에 붙여 두는 정보(제목, 장, 날짜)입니다. 검색할 때 걸러 내는 데 씁니다. meta 는 "~에 대한, 한 단계 위의"라는 뜻으로, 데이터에 대한 데이터라는 말입니다.
  • 청킹(chunking)문서를 검색 단위의 조각으로 나누는 일입니다. 6장에서 조항 단위로 해 보았습니다. chunk(덩어리)로 자른다는 뜻입니다.
  • MRR(Mean Reciprocal Rank)평균 역순위입니다. 정답이 1등이면 1, 2등이면 1/2, 3등이면 1/3 을 주고 평균을 냅니다. Mean(평균), Reciprocal(역수), Rank(순위)의 머리글자입니다.
  • 하이브리드 검색(hybrid search)키워드 검색과 의미 검색의 점수를 섞어 찾는 검색입니다. hybrid 는 "두 가지를 섞은 것"이라는 뜻입니다.
  • RRF(Reciprocal Rank Fusion)순위 융합입니다. 점수 대신 순위로 두 검색 결과를 섞습니다. Reciprocal(역수), Rank(순위), Fusion(융합)의 머리글자로, 순위의 역수를 더해 섞는다는 뜻입니다.
  • 재정렬(reranking)먼저 넉넉히 찾은 후보를 더 정확한 모델로 다시 줄 세우는 것입니다. re(다시)와 rank(순위를 매기다)를 붙인 말입니다.
  • 바이 인코더(bi-encoder)질문과 문서를 따로 임베딩해 견주는 짜임입니다. 빠릅니다. bi 는 "둘", encoder 는 "부호로 바꾸는 장치"라는 뜻으로, 질문과 문서를 따로 두 번 바꾼다는 말입니다.
  • 크로스 인코더(cross-encoder)질문과 문서를 한꺼번에 읽고 관련 점수를 내는 짜임입니다. 느리지만 정확합니다. cross 는 "엇갈려 맞대다"라는 뜻으로, 질문과 문서를 맞대어 함께 읽는다는 말입니다.
  • 오픈소스 LLM(open-source LLM)가중치를 내려받아 내 PC 에서 돌릴 수 있게 공개한 LLM 입니다. 쓸 수 있는 범위는 라이선스마다 다릅니다. open source 는 "소스(원본)를 열어 둔"이라는 뜻이고, LLM 은 Large Language Model(대규모 언어 모델)의 머리글자입니다.
← 이전 절7장 · 먼저 큰 그림부터다음 절 →7장 · 임베딩이란