콘텐츠로 이동

BM25와 어텐션: 검색 점수와 신경망 가중치의 차이

BM25와 어텐션(attention)은 모두 입력 요소의 영향도를 다르게 만들 수 있지만, 목적·입력·학습 방식·실행 단위가 다릅니다. “집중”이나 “라우팅”은 직관을 위한 비유일 뿐 두 기술의 동등성을 뜻하지 않습니다.

비교 범위

항목 BM25 일반적인 어텐션
주된 목적 질의와 문서의 어휘 일치도 점수 계산 표현을 만들 때 다른 위치의 값을 가중 결합
입력 질의어 빈도, 문서어 빈도, 문서 길이, 말뭉치 통계 query·key·value 표현과 마스크
학습 기본 수식 자체는 학습 파라미터가 없음; k1, b 등은 조정 가능 모델 파라미터와 함께 학습되는 경우가 일반적
0의 의미 질의어와 겹치는 색인 항목이 없으면 기여가 없을 수 있음 마스크, 수치 정밀도, 어텐션 방식에 따라 정확한 0 또는 작은 가중치 가능
실행 구조 보통 역색인의 posting list를 순회 dense, masked, local, sparse 등 구현에 따라 다름

BM25를 “희소 벡터”로 표현할 수는 있지만 BM25 자체는 질의·문서 통계로 관련도 점수를 계산하는 랭킹 함수입니다. 역색인은 후보 문서를 효율적으로 찾는 자료구조이며 BM25 수식과 같은 개념이 아닙니다.

라우팅 비유가 유효한 범위

질의어의 posting list만 읽는 검색 구현은 전체 문서 행렬을 순회하지 않으므로 계산 후보를 좁힙니다. 이 효과를 “라우팅”이라 부를 수 있지만 다음 한계가 있습니다.

  • 후보 선택은 어휘 일치와 색인 구현에서 나오며 BM25가 학습한 경로 선택이 아닙니다.
  • 동의어, 형태 변화, 의미적 유사성은 분석기·질의 확장·학습 희소 검색 같은 별도 장치가 없으면 놓칠 수 있습니다.
  • 어텐션도 항상 모든 토큰을 같은 방식으로 계산하지 않습니다. 인과 마스크, 지역 어텐션, 희소 어텐션 등 범위를 제한하는 변형이 있습니다.

학습 희소 검색과의 관계

SPLADE 계열은 언어 모델을 사용해 어휘 공간의 희소 표현을 학습하는 검색 접근입니다. 이를 “어텐션이 BM25 벡터를 만든다”라고 단순화하면 모델의 출력 변환, 희소화 목적, 학습 손실을 놓칩니다. BM25와 비교할 때는 같은 말뭉치·분석기·후보 수에서 Recall@K, MRR 또는 nDCG, 색인 크기, 질의 지연을 측정합니다.

판정 요약

  1. BM25 점수, 역색인 후보 검색, 어텐션 가중치 계산은 서로 다른 계층입니다.
  2. “중요한 항목에 계산을 집중한다”는 기능적 비유는 가능하지만 동일한 알고리즘이라는 근거는 아닙니다.
  3. 검색 방식을 선택할 때는 어휘 일치, 의미 일반화, 지연, 색인 비용을 동일 데이터와 지표에서 비교합니다.