BM25 & Vector Search
·
Tech Experiments & Study/Advanced
RAG를 사용할 때, 사용자의 질의와 실제로 관련된 문서들을 잘 가져와야 답변의 품질이 올라갑니다.그렇지 않다면, 오히려 답변을 생성하는데에 노이즈가 될 것입니다. 이때, 사용자의 질의와 관련된 문서들을 선택하는 방법들이 여러 개가 있지만, 대표적인 방법 중 BM25와 Vector Search에 대해 오늘은 얘기해보고자 합니다. BM25 (Best Matching 25) BM25를 이해하기 위해서는 TF-IDF(Term Frequency - Inverse Document Frequency)를 알아야합니다.왜냐하면, BM25는 TF-IDF를 개선한 알고리즘이기 때문입니다. TF-IDF BM25 TF-IDF와 BM25의 수식을 보면, 두 알고리즘 모두 특정 단어의 빈도수, 문서의 개수와 같이 특정 단어..
Text2SQL is Not Enough: Unifying AI and Databases with TAG (TAG) (Asim Biswal et al.) - [2024 arXiv]
·
AI Research Paper Review/Post-Transformer
본 논문은 기존의 Text2SQL 과 RAG가 실제 사용자의 복잡한 요구(세계 지식 활용, 의미 추론, 대규모 집계)를 효과적으로 처리하지 못한다는 한계를 지적한다. 이를 해결하기 위해 저자들은 TAG(Table-Augmented Generation)이라는 새로운 패러다임을 제안하는데, 이는 Query Synthesis, Query Execution, Answer Generation 세 단계로 나뉜다. 저자들은 BIRD 벤치마크를 변형해 세계 지식 및 추론이 필요한 80개 질의를 만들고 TAG-Bench라 명명했으며, 평가 결과 기존 방법들이 20% 이하의 정확도에 머문 반면, 수작업 TAG 파이프라인은 55% 이상의 정확도를 기록하며 최대 65% 향상된 성능을 보였다. 이는 LM과 DBMS의 결합이 단..
LangChain & LangGraph
·
Tech Experiments & Study/Advanced
이번 글은 필자가 현재 진행 중인 프로젝트에서 사용하는 프레임워크인 LangChain과 LangGraph에 대해 소개해보고자 합니다.들어가기에 앞서, 본 글은 프로젝트 개발 과정에서 얻었던 경험들과 공부했던 내용들을 기반으로 LangChain과 LangGraph를 입문하고자 하는 분들에게 있어 소개글 같은 느낌이 될 예정입니다.가볍게 읽어주시면 좋을 것 같습니다. LangChainfrom transformers import pipelinefrom langchain_huggingface import HuggingFacePipelinefrom langchain_core.prompts import ChatPromptTemplatepipe = pipeline( "text-generation", mo..
Don’t Do RAG: When Cache-Augmented Generation is All You Need for Knowledge Tasks (CAG) (Brian J Chan et al) - [2025 WWW]
·
AI Research Paper Review/Post-Transformer
본 논문은 LLM에 외부 지식을 통합하기 위해 쓰이던 RAG(Retrieval-Augmented Generation)가 검색 지연, 검색 오류, 시스템 복잡성 등의 문제를 가진다는 점을 지적한다. 저자들은 Long Context Window를 지원하는 최신 LLM을 활용해, 지식을 미리 입력해 얻은 KV-cache를 재사용하는 CAG(Cache-Augmented Generation)를 제안한다. CAG는 문서를 한 번만 처리해 캐시로 저장해 두고, 질의 시에는 검색 없이 캐시와 함께 답변을 생성하므로 지연과 오류가 사라지고 아키텍처도 단순화된다. SQuAD, HotPotQA 등 벤치마크 실험에서 CAG는 대부분 RAG보다 높은 성능과 더 빠른 응답 속도를 보였으며, 특히 관리 가능한 크기의 지식베이스에서..
XLNet: Generalized Autoregressive Pretraining for Language Understanding (XLNet) (Zhilin Yang et al.) - [2019 NIPS]
·
AI Research Paper Review/Post-Transformer
본 논문에서 제안된 XLNet은 기존 BERT가 가진 한계(Pretrain–Finetune discrepancy, Independence Assumption Problem)를 극복하기 위해 제안된 일반화된 Autoregressive 사전학습 기법을 적용한 모델이다. 핵심 아이디어는 Permutation Language Modeling으로, 문장의 토큰 순서는 유지하되 확률 분해 순서를 무작위로 섞어 학습함으로써, AR 구조임에도 양방향 문맥을 학습할 수 있도록 한다. 이를 위해 XLNet은 two-stream self-attention을 도입하여 content stream은 문맥 표현을, query stream은 예측 전용 표현을 담당하게 함으로써 자기 자신을 직접 보지 않고도 예측 가능하게 설계하였다...