서비스를 준비하면서 배운 RAG 활용의 장단점

RAG 기술의 장점

현재 파우더는 LLM의 RAG 기술에 의존적 입니다. RAG(Retrieval-Augmented Generation, 검색증강생성)은 LLM의 단점을 보완하기 위한 최선의 선택인 것에는 틀림 없습니다.

RAG의 장점은 비용 효율적인 구현, 최신 정보, 사용자 신뢰 강화, 개발자 제어 강화 등이 있습니다.

출처: 검색 증강 생성(RAG)이란 무엇인가요?

발생하는 단점

이와 연관되어 문장을 벡터화하여 DB에 저장하는 것은 비용적으로나 속도 관점에서 매우 유용합니다. 하지만 사용성 관점에서 단점이 존재합니다.

"문제는 정보를 인코딩 할 때 기존 RAG 솔루션이 컨텍스트를 제거하여 종종 시스템이 지식 기반에서 관련 정보를 검색하지 못하는 것입니다."

출처: Introducing Contextual Retrieval

쉽게 체험할 수 있는 단점은 키워드 검색의 정확도가 상당히 낮다는 겁니다.

왜냐하면 RAG 기술을 통해 저장될 때 사람처럼 단어나 문맥 자체를 이해하는 것이 아니기 때문입니다. 파우더를 제작하기 전에 몇몇 프로젝트를 통해 경험할 수 있었던 문제는 반복되는 문맥이 없는 데이터를 처리하거나 단어로만 되어 있는 데이터의 경우 키워드 검색 시 매우 낮은 정확도를 보여줬습니다.

(이 부분을 쉽게 이해하기 위해 아래 링크를 참고하세요)

How might LLMs store facts | Chapter 7, Deep Learning

실제로 파우더에서 저장한 북마크를 찾기 위해 검색할 때, 키워드 보다 질문하는 것 처럼 간단한 문장으로 질문하는 것이 결과가 더 좋을때가 많습니다. '이 정도는 찾지 않을까?' 하는 수준의 키워드 검색도 이상하게 못 찾고 있습니다...

그래서 과제

결론적으로 Google에서 검색하는 습관으로 질의를 하면 검색결과에 대한 만족도가 낮을 수 밖에 없습니다. 이러한 사용성의 아이러니를 해결하는 것이 파우더의 큰 과제라고 생각하고 있습니다.

첫 번째 과제는 RAG 기술에 더할 기술적 해결책을 찾는 것 입니다.

현재 키워드 검색을 따로 구현하여 연동하는 사례도 있으며, 최근 Claude에서 제시한 TF-IDF를 연산과정에 포함시키는 사례도 있습니다. 다양한 방법론을 적용하여 파우더에 맞는 최선의 기술적 해결책을 찾아볼 예정입니다.

우리는 30년 가까이 몇 개의 키워드를 던져 검색해왔습니다. 긴 시간을 통한 습관이라는 것은 쉽게 변화하지 않습니다. 지금 시점에서 처음 GPT나 Perplexity에게 질문을 던졌을 때를 생각해보면 정말 제 자신이 멍청했던 것 같은 생각까지 듭니다. 사실 멍청하다기 보다 습관대로 질문이 단순했던 것입니다.

두 번째 과제는 사용자들의 검색을 위해 질문하는 방법을 빠르게 바꿔줄 사용성에 대한 해결책을 찾는 것입니다.

현재는 시간이 해결해 줄 것이라고 생각하고 있습니다..; 하지만 새로운 버전을 배포할 때 마다 더 나은 사용성을 고려해보려고 합니다.

...

위 회고가 RAG 기술을 고려하시는 분들에게 참고가 되었으면 합니다. 또한 같은 과제를 가지고 계신분들과 같이 문제를 해결해 나가는 과정을 공유하고 싶기도 합니다.

...

RAG을 사용한 북마크 서비스의 클로즈베타를 사용해보세요. https://pouder.site

3

👉 이 게시글도 읽어보세요