Community

Introducing Contextual Retrieval

Anthropic이 얼마전 "Introducing Contextual Retrieval" 이라는 블로그 글을 발행하였는데 화제입니다. 이 글에서는 Anthropic 이 최근 Beta 실험 중인 기능인 "Prompt Caching" 에 대한 소개를 시작으로 Prompt Caching 를 통하여 프롬프트에 동일 Context 에 대한 비용을 최대 90% 절약할 수 있으며, 시간 지연도 크게 줄일 수 있다고 설명하고 있습니다. 이는 특히 RAG 에서 문서 검색 단계(Retrieval) 이후 검색된 문서가 반복하여 프롬프트의 입력으로 들어가게 되는데, 이때 토큰 비용을 아낄 수 있을 뿐만아니라 시간 지연도 크게 줄일 수 있을 것이다 라고 설명하고 있습니다. 블로그에서 제일 흥미로웠던 부분은 "Contextual Retrieval"(문서 검색에 도움이 되는 추가 information 을 chuck 앞부분에 삽입) 토큰을 만들어 추가하여 성능을 크게 개선한 부분이었는데요. 아주 간단한 방법이지만, 아직 시도해 분들이 많이 없을 것 같다는 생각에 고무적입니다. 이 글에서는 RAG 에서 성능을 높일 수 있는 방법을 대략 5가지 방법으로 정리하고 점진적으로 적용해 나가면서 실험 결과가 어떻게 달라졌는지 상세하게 공개하였습니다. 부록은 상세 실험 결과를 포함하고 있습니다. 주요 기법은 다음과 같이 정리해 보았습니다. 1. HybridSearch: Sementic + BM25 2. Embedding Model 선택의 중요성 3. Chunk 의 개수(top_n) 는 너무 적은 것보다는 20개가 제일 좋았음 4. Contextual Chunk 를 기존 Chunk 에 앞단에 삽입 5. Reranker. 150개 문서 retrieval 후 Rerank(k=20) 결론은 1~5까지의 단계를 선택하여 적용하는 것이 아닌 "모두" 적용하면 좋다! 입니다. 보다 자세한 내용 및 설명을 위하여 한글 번역하여 정리해본 글과 설명 영상도 같이 제작하여 공유 드립니다. ✅ 글(한글 번역): https://share.note.sx/1mr8qv5w#wgZzT3oyG5INDjghpaxfqBFDvjuc+4/Xz5JCVES/lG0 ✅ 설명 영상(YouTube): https://youtu.be/sloJ8Q8dnQE 즐거운 주말 되세요 🙇‍♂️ 감사합니다!

알림

알림이 없습니다