RAG vs Context Stuffing: 어떤 게 더 효율적일까
💡 핵심 요약
대규모 언어 모델의 컨텍스트 창이 커지면서 모든 데이터를 프롬프트에 넣어도 되는 것이 아닌라는가 있다.
하지만 새로운 연구가 이를 반박한다. RAG(검색 증강 생성)는 여전히 필요한 이유를 실험으로 입증했다.
RAG는 시그널 대 잡음비를 개선하고 비용을 절감한다.
🎯 인사이트: 컨텍스트 창이 크다고 RAG가 사라진 것이 아니다. 두 가지는 서로를 보완한다.
대규모 언어 모델의 컨텍스트 창이 커지면서 모든 데이터를 프롬프트에 넣어도 되는 것이 아닌라는가 있다.
하지만 새로운 연구가 이를 반박한다. RAG(검색 증강 생성)는 여전히 필요한 이유를 실험으로 입증했다.
RAG는 시그널 대 잡음비를 개선하고 비용을 절감한다.
🎯 인사이트: 컨텍스트 창이 크다고 RAG가 사라진 것이 아니다. 두 가지는 서로를 보완한다.
1. 왜 다시 RAG인가
1.1 컨텍스트 창 vs 검색
핵심 차이점:
- 컨텍스트 창: 모델이 얼마나 많이 볼 수 있는가
- RAG: 모델이 무엇을 봐야 하는가
컨텍스트 창이 커졌다고 해서 모든 정보가 관련 있는 것은 아니다. RAG는 시그널 대 잡음비를 개선한다.
“RAG는 모델이 봐야 할 정보를 걸러내서 선택한다. 컨텍스트 창은 용량만 늘릴 뿐 관련성을 개선하지 않는다.”
2. 실험 결과
2.1 테스트 방법
OpenAI API를 사용하여 동일한 문서 말뭉치에서 RAG와 brute-force context stuffing을 비교했다.
2.2 측정 항목
- 토큰 사용량
- 지연 시간
- 비용
- 정확도
2.3 발견
중요한 정보가 큰 프롬프트 안에 묻혀버리는 현상이 발생한다. 바로 “Lost in the Middle” 효과다.
3. 왜 RAG가 더 좋은가
3.1 효율성
RAG는 필요한 부분만 추출해서 보내므로 토큰을 아낀다.
3.2 정확도
관련 없는 정보가 줄어들어 모델이 더 정확한 답변을 제공한다.
3.3 비용 절감
불필요한 토큰이 줄어들어 비용이 절감된다.
4. 언제 무엇을 쓸까
4.1 RAG가 좋은 경우
- 대규모 문서 검색
- 정확한 정보 필요
- 비용 최적화 중요
4.2 Context Stuffing이 좋은 경우
- 소규모 문서
- 전체 맥락 필요
- 빠른 프로토타이핑
🤖 핵심 정리
컨텍스트 창이 크다고 RAG가 사라진 것이 아니다. 두 가지는 서로를 보완한다. 중요한 것은 적절한 도구를 적절한 상황에 사용하는 것이다.
5. 결론
대규모 언어 모델 시대에도 RAG는 여전히 강력한 도구다.