IR의 핵심 가치는 LLM(대규모 언어 모델)과 결합하여 더 강력한 가치를 제공하는 데 있습니다. 대량의 데이터에서 사용자가 원하는 정보를 추출해내는 IR 기술을 LLM과 결합하여 신뢰성 있는 대화형 정보 검색 시스템(RAG)을 구축할 수 있습니다.
IR은 대규모의 비정형 텍스트 문서 집합으로부터 사용자의 질의에 적합한 문서를 추출하는 과정입니다. 핵심적인 도전 과제는 다음 두 가지입니다:
속도 문제를 해결하기 위해 역색인(Inverted Index) 데이터 구조를 활용합니다.
토큰화(Tokenization)는 문서나 질의를 기본 단위인 토큰(단어)으로 나누는 과정으로, 역색인의 Key로 사용됩니다.
랭킹은 질의와 문서의 적합도를 계산하는 알고리즘을 사용합니다.
| 모델 유형 | 설명 | 특징 및 한계 |
|---|---|---|
| Boolean 모델 | 질의가 Boolean 형식(AND, OR, NOT)으로 표현. | 가장 단순하지만, 단어 순서/중요도 무시, 순위 매기기 불가, 단독 사용은 거의 없음. |
| Vector Space Model (VSM) | 질의와 문서를 n차원 벡터로 표현, 유사도 측정. TF-IDF 알고리즘 사용. | IR 시스템에서 가장 잘 알려짐. 단어 철자 매칭 기반으로 맥락상의 의미 반영 부족. |
| Probabilistic 모델 | 불확실성에 기반하여 Query-document relevance 확률값으로 랭킹 산출. BM25 알고리즘 사용. | TF-IDF와 함께 가장 일반적으로 사용되며, 기존 TF-IDF의 한계점(단어 빈도 포화, 문서 길이 편향)을 개선함. |
Retrieval 모델이 쿼리와의 적합도만 고려하므로, 최적의 결과를 위해 다음 요소들이 추가적으로 반영됩니다:
IR 모델 평가는 Precision과 Recall 외에 순위와 관련성 정도를 고려하는 지표를 사용합니다.
| Metric | 설명 | 주요 특징 및 사용 적합성 |
|---|---|---|
| Precision@k | 추출된 결과 중 상위 k개까지만의 Precision. | 대규모 IR에서 Recall이 큰 의미가 없을 때 (UX 관점) 활용. |
| MRR (Mean Reciprocal Rank) | 가장 상위 관련 문서의 위치에 중점을 두고 평가. | 정답이 하나 또는 소수인 경우 적합. |
| MAP (Mean Average Precision) | 질의 N개에 대한 Average Precision의 평균 값. | 적합한 문서가 다수일 때를 고려하여 평가하며, 상위 오류에 더 큰 가중치를 부여함. |
| NDCG (Normalized Discounted Cumulative Gain) | 문서의 관련 여부를 이분법적으로 구분하지 않고 순위별로 가중치를 다르게 적용. | 검색 결과의 다양성이 필요하거나, 적합도가 다양한 값으로 정량화 가능한 경우 효과적. |
전통적인 키워드 매칭의 한계를 극복하기 위해 인공신경망이 도입되었습니다.
임베딩은 단어나 문장을 산술 연산이 가능한 고차원 벡터로 표현하여, 단어나 문장 사이의 유사도 측정에 활용됩니다. Word2Vec부터 시작하여 ELMo, BERT 등 주변 맥락(Context)을 고려한 임베딩 모델로 발전했습니다.
| 모델 유형 | 구조 | 특징 | 현실 적용 |
|---|---|---|---|
| Cross-Encoder | 질의와 문서를 하나의 입력 스트림으로 넣어 Relevance Score 계산. | 높은 성능. 느린 속도 (문서 수에 비례하여 모델 Inference 필요). | 연산 비용 및 속도 문제로 실제 서비스 활용은 어려움. |
| Bi-Encoder | 질의와 문서를 각각의 모델(파라미터 공유 가능)로 인코딩하여 임베딩 생성 후, 벡터 유사도(Cosine Similarity) 계산. | 매우 빠른 속도 (문서 임베딩 사전 계산 가능). Cross-encoder보다 성능은 낮음. | 연산 비용과 속도를 고려하여 현실적으로 적용 가능 (대표 모델: DPR, Sentence-BERT). |
| ColBERT | Late Interaction (지연된 상호작용) 방식. 질의 토큰 임베딩과 문서 토큰 임베딩을 모두 사용하여 유사도(MaxSim) 계산. | Cross-encoder 수준의 높은 성능을 유지하면서 Bi-encoder에 가까운 속도를 목표. 연산 최적화를 위해 벡터 차원 축소 기법 적용. |
문서의 양이 많아져 벡터 유사도 계산 비용이 커지면 ANN (Approximate Nearest Neighbor) 기술 적용이 필수적입니다.
ANN은 정확도를 일부 포기하고 탐색 범위를 좁혀 가장 유사한 벡터를 찾는 방법입니다.
| 알고리즘 | 작동 방식 | 주요 특징 |
|---|---|---|
| LSH (Locality Sensitive Hashing) | 여러 벡터를 하나의 버켓으로 군집화하여 검색 범위 축소. | 비교적 적은 데이터 규모에 적합. 인덱싱 속도가 가장 빠름. |
| Tree/Space Partitioning (ANNOY) | 벡터 공간을 부분 공간으로 나누고 트리에 저장. | 대규모 데이터 사용 가능. 질의 처리 속도가 느린 편. |
| Graph-based Methods (HNSW) | 문서 데이터를 그래프로 나타내고 그래프 탐색을 통해 최근접 노드를 찾음. | 대규모 데이터에 적합. 질의 처리 속도가 ANN 중 가장 빠름. |
| Inverted File Index (IVF) | 고차원 데이터를 클러스터로 나누고 역색인 구조를 사용. | 확장성이 뛰어나 대규모 데이터셋 처리에 효율적. 색인 시간이 오래 걸림. |
Vector DB는 고차원 벡터 데이터에 대한 빠른 유사도 계산과 효율적인 ANN 알고리즘을 지원하는 특화된 데이터베이스입니다.
LLM은 자연스러운 대화형 답변을 제공하지만, Knowledge Cutoff (특정 시점까지의 정보만 학습)와 Hallucination (거짓 정보 생성)이라는 치명적인 한계를 가집니다.
Retrieval Augmented Generation (RAG)은 이러한 한계를 극복하기 위해 등장했습니다.
LLM 응용 시스템 구축 시, LLM의 출력을 구조화하고 외부 툴을 활용하기 위한 기술이 필요합니다.
response_format을 통해 이를 공식적으로 지원하여 오류를 줄입니다.RAG는 대화형 IR로 확장되어, LLM이 기존 대화 히스토리를 활용하여 질의 의도를 파악하고 Standalone Query를 생성하도록 지시하여 자연스러운 멀티턴 인터페이스를 제공합니다.
LLM의 등장은 IR 분야의 문제를 재정의하는 기술적 전환점이 되었습니다.
Traditional IR이 문서 추출에 집중했다면, 이제 IR은 최종 답변을 생성하는 대화형 Agent의 Submodule로서 레퍼런스 추출 역할을 담당합니다.
대화형 Agent의 요구사항은 다음과 같습니다: