ORBiS Tree

ORBiS TREE DOCUMENT

개념·기술 →

Vector Search

한국어English

다른 이름 · 벡터 검색

최근 수정 2026.10.16 06:47 최근 편집자 익명 출처 3개
핵심 요약

고차원 벡터 사이의 거리나 유사도를 이용해 가까운 항목을 찾는 검색 방식.

개요

Vector Search는 이미지, 문장, 문서 같은 대상을 고차원 벡터로 표현한 뒤 거리 또는 유사도 기준으로 가까운 항목을 찾는 검색 방식이다. 대규모 데이터에서는 모든 벡터를 매번 정확히 비교하는 대신 근사 최근접 이웃 검색과 전용 인덱스 구조가 자주 사용된다.[1]

AI 시스템에서의 사용

Embedding으로 만든 의미 벡터를 이용하면 단어가 정확히 일치하지 않아도 의미적으로 가까운 문서를 찾을 수 있다. 이런 검색은 RAG의 검색 단계나 추천·중복 탐지 등에 활용될 수 있다.

구현 관점

FAISS 연구는 GPU와 압축·근사 검색 기법을 이용해 매우 큰 벡터 집합에서 유사도 검색을 효율적으로 수행하는 방법을 다뤘다.[1] Vector Search는 특정 제품 하나가 아니라 여러 데이터베이스·검색 라이브러리가 구현할 수 있는 기능 범주다.

사례: 비슷한 뜻과 정확한 번호를 함께 찾기

다음은 ORBiS Tree가 구성한 가상 사례다. 고객이 '돈 돌려받는 방법'을 묻는 경우에는 '환불 절차' 문서를 의미 검색으로 찾는 것이 유용할 수 있다. 반면 '주문번호 AB-123의 환불 상태'는 정확한 주문번호와 접근 권한 확인이 먼저다. 벡터 검색 결과가 비슷한 주문을 보여준다고 해서 해당 사용자의 주문으로 처리하면 안 된다.

키워드 검색과의 선택 기준

  • 키워드 검색: 제품 코드·정확한 문구·고유명사처럼 같은 문자열이 중요한 요청을 다루기 쉽다.
  • 벡터 검색: 같은 의도를 서로 다른 말로 표현하는 요청에서 의미상 가까운 후보를 찾는 데 활용할 수 있다. 문장 표현의 품질은 임베딩 모델에 영향을 받는다.[2]
  • 혼합 검색: 두 방식의 후보를 함께 모으는 설계다. 추가 처리와 순위 결합의 복잡성이 생기므로 실제 질문에서 얻는 이득을 확인해야 한다.
  • 필터링: 날짜·문서 종류·사용자 권한 같은 조건을 적용하는 일이다. 의미상 비슷하다는 이유로 권한 밖 자료를 반환해서는 안 된다.

정확 검색과 근사 검색

정확 최근접 검색은 주어진 거리 기준에서 가장 가까운 항목을 찾는 것을 목표로 한다. 근사 검색은 검색 비용을 줄이기 위해 일부 정확도를 양보할 수 있다. FAISS 연구는 GPU, 압축 표현, 근사 인덱스 등 여러 설계에서 대규모 유사도 검색을 다룬다.[1] '근사'는 결과가 무작위라는 뜻이 아니며, 실제 자료에서 놓치는 후보와 비용을 함께 평가해야 한다는 뜻이다.

검색이 느리거나 엉뚱할 때

  1. 임베딩 모델·벡터 차원·거리 설정이 질문과 문서에서 일치하는지 확인한다.
  2. 문서 조각이 너무 짧아 핵심 조건을 잃었거나 너무 길어 서로 다른 주제가 섞이지 않았는지 확인한다.
  3. 권한과 날짜 필터가 정답 후보를 제외하거나, 반대로 필요하지 않은 후보를 통과시키는지 확인한다.
  4. 검색 후보 수와 재정렬의 효과를 비교한다. 후보를 늘리는 것만으로 답변 품질이 계속 좋아진다고 가정하지 않는다.
  5. 올바른 자료를 찾았는데 답변이 틀리면 RAG의 생성 단계를 별도로 확인한다.

성능을 기록하는 방법

정답 문서가 알려진 질문 묶음에서 상위 k개 후보 안에 정답이 포함되는 비율과 검색 지연을 함께 기록할 수 있다. 이때 k, 문서 수, 필터 조건, 임베딩 모델을 함께 적어야 결과를 재현할 수 있다. 유사도 점수 자체보다 '사용자가 필요한 자료를 실제로 찾았는가'가 서비스의 판단 기준이다.

계산 예제: ANN 재현율과 근거 재현율 구분

다음 문서 ID는 모두 가상이며, 두 검색은 같은 자료·필터·거리 기준을 쓴다고 가정한다. 정확 검색의 상위 5개가 {1, 2, 3, 4, 5}, 근사 검색의 상위 5개가 {1, 2, 3, 4, 9}라면 정확 검색 후보 5개 중 4개를 되찾았다. 이때 ANN 재현율@5는 4 / 5 = 80%다. 이는 정확 최근접 결과를 재현한 비율이며 업무상 정답 문서의 비율은 아니다.
사람이 관련 있다고 판정한 전체 문서가 {2, 4, 9, 12, 15, 18}이라면 근사 결과의 관련 문서는 2, 4, 9의 3개다. 근거 정밀도@5는 3 / 5 = 60%, 근거 재현율@5는 3 / 6 = 50%다. 정확 최근접 기준과 사람의 관련성 기준은 다르므로 지표 이름과 분모를 함께 기록한다. 벡터 거리가 정확하다고 답변에 필요한 근거까지 모두 찾았다는 뜻은 아니다.

권한 필터 때문에 후보가 줄어들 때

가상의 AI 사내 위키에서 연구팀 전용 문서와 공개 문서가 같은 인덱스에 있어도 현재 사용자의 허용 범위 안에서 후보를 선택해야 한다. 검색 라이브러리의 필터 적용 방식과 별개로 반환·재정렬·생성 단계 모두에서 접근 권한을 지킨다. 상위 5개를 먼저 뽑고 금지 문서를 지우면 후보가 2개만 남을 수 있다. 같은 허용 자료 집합에서 후보 수와 검색 설정을 조정해 누락을 평가하되, 빈자리를 채우려고 권한을 완화하지 않는다.
후보가 적은 이유를 '허용 문서 부족', '필터 조건 오류', '근사 검색 누락'으로 나누어 기록한다. 권한 밖 원문이나 조각을 도구 결과에 먼저 전달한 뒤 최종 답변에서만 숨기는 방식으로 접근 경계를 대신하지 않는다.

속도와 품질을 함께 비교하는 실험

같은 원문 버전·질문·필터·거리 기준에서 정확 검색을 기준선으로 두고 근사 인덱스를 비교한다. 예를 들어 30ms와 10ms라는 가상 측정값이 있어도, 자료 수·벡터 차원·장비·동시 요청·측정 구간이 없으면 실제 제품의 성능 비교로 읽을 수 없다. 평균뿐 아니라 p95 지연, ANN 후보 재현율과 사람 기준의 관련성 지표를 함께 기록한다.
재정렬은 이미 검색한 후보를 다시 평가하는 단계다. 후보에 들어오지 않은 정답을 재정렬만으로 복원할 수 없으므로, 검색 누락과 순위 오류를 구분한다. 문서 분할·후보 수·재정렬을 한꺼번에 바꾸지 않고 한 조건씩 비교하면 실패 원인을 좁히기 쉽다.

인덱스 연구와 운영 확인 순서

FAISS 연구 ↗는 GPU에서의 정확·근사·압축 영역 유사도 검색을 다룬다.[1] HNSW 연구 ↗는 계층적 그래프를 이용한 근사 최근접 이웃 검색을 제안한다.[3] 각 실험의 자료와 장비 조건을 현재 서비스의 보장으로 옮기지 않는다.
결과가 엉뚱하면 원문 ID와 색인 버전, 질문·문서 인코더, 차원과 거리 설정, 권한 필터 순서로 확인한다. 새 문서가 원문 저장소에만 있고 인덱스에 반영되지 않았다면 검색 모델을 바꾸기 전에 동기화 문제를 해결해야 한다.

연구 방법: HNSW의 구축과 검색 설정

HNSW 원문 ↗의 알고리즘 1·2·5는 그래프 연결 수 M, 구축 중 후보 목록 efConstruction, 검색 중 후보 목록 ef를 구분한다.[3] 최종 반환 개수 K와 탐색 후보 폭은 같은 설정이 아니다. 연결·구축·검색의 비용과 재현율을 따로 비교한다. 구현별 명칭과 제약은 달라질 수 있고, 특정 실험의 설정을 모든 벡터 차원·자료 분포의 권장값으로 옮기지 않는다.

파레토 비교로 읽는 검색 설정

다음은 같은 질문·자료·필터·k를 쓴 가상 측정이며 실제 제품 결과가 아니다. 검색 p95와 ANN 재현율이 A는 5ms·78%, B는 8ms·90%, C는 12ms·94%, D는 10ms·86%라고 하자. B는 D보다 빠르면서 재현율도 높아 이 두 지표에서 D를 지배한다. 반면 A·B·C는 속도와 재현율을 교환하므로 하나의 최선으로 단정할 수 없다. 메모리·구축 시간·갱신 비용까지 포함하면 비교 결과가 달라질 수 있다. 지연 측정 구간과 표현 모델을 고정해 해석한다.

정확 기준선도 같은 코퍼스로 다시 만들기

다음은 ORBiS Tree의 운영 검증 제안이다. 원문이 수정·삭제되거나 권한 범위가 바뀌면 같은 시점의 허용 코퍼스로 정확 검색 결과도 다시 만든다. 이전 자료의 정답 이웃을 새 인덱스의 기준선으로 그대로 쓰면 데이터 변경을 근사 검색 실패로 오해할 수 있다. 원문 ID·자료 버전·필터·동점 처리와 거리 산식을 저장하고, 콜드 시작과 캐시가 쌓인 상태의 지연을 구분한다. 색인 계보를 남기되 자료 삭제나 권한 변경이 답변 근거까지 반영됐는지도 확인한다.
근거를 확인하고 싶다면출처 3개 보기 ↓

SOURCES

출처

본문의 근거를 원문에서 확인할 수 있습니다.
  1. Billion-scale similarity search with GPUsFacebook AI Research / arXiv
    원문 보기 ↗
  2. 원문 보기 ↗
  3. 원문 보기 ↗

GROW TOGETHER

아는 만큼 함께 보완해 주세요

로그인 없이 문장 하나부터. 저장한 내용과 변경 이력을 바로 확인할 수 있습니다.

이 문서에 보탤 수 있는 것 · 사례 보태기
이 개념이 쓰이는 상황을 본문에 덧붙여 주세요. 직접 만든 예시는 예시라고 밝히고, 실제 사례에는 출처를 붙여 주세요.

의견을 나누고 싶다면 토론 → · 내용 오류 제보 →

READ NEXT

다음 궁금증으로 이어 읽기

이 문서와 연결되는 지식을 골라 읽어 보세요.
최근 편집 이력최근 4건 · 변경점 확인 전체 편집 이력 보기 →
문서 완성도90/100 · 구조 탄탄

출처·본문·연결·검토 상태가 비교적 잘 갖춰진 문서입니다. 이 점수는 사실의 진위를 판정하지 않고 문서 구조만 평가합니다.

출처 15/25본문 25/25요약 15/15연결 15/15검토 20/20