이전 포스팅의 프롬프트 엔지니어링
과 함께 LLM
을 효과적으로 사용하는 3개의 기술 중 두 번째, RAG
에 대해 알아보겠다
참고로 3개의 기술이란,
1. 프롬프트 엔지니어링
2. RAG
3. 파인 튜닝
을 말한다.
RAG
는 LLM(Large-Language Model)
의 단점 중
를 개선하는데 초점을 맞춘 방법이다.
위 두 가지는 각각
라는 단점을 의미한다.
이러한 과정에서 LLM
의 한계를 보완하기 위해 3가지 방식이 활용된다.
1. 외부 지식 활용
2. 증거 기반 생성
3. 맥락 이해성 향상
RAG
는 이름와 같이 작동원리를 3단계로 나누어볼 수 있다.
1. Retrieval : 검색
2. Augmentation : 증강
LLM
의 입력에 추가, 검색 결과를 요약하거나 재구성해 LLM
이 효과적으로 활용하게끔 가공3. Generation : 생성
LLM
이 최종 응답 생성1. Query Encoder : 질의 인코더
2. Knowledge Retriever : 지식 검색기
3. Knowledge-Augmented Generator : 지식 증강 생성기
LLM
으로 보다 정확하고 풍부한 답변 생성1. 정보의 최신성
ChatGPT
를 사용해 본 대부분의 유저들은 알고 있겠지만,ChatGPT
, Gemini
와 같은 LLM
은 사실상 클로즈드북 테스팅을 한다고 생각해야한다. 한마디로 하루하루 방대한 양의 정보가 쌓이는 현재, 최신 정보를 놓치는 단점이 있다는 것.RAG
는 이를 외부 DB나 지식 기반을 통해 해결한다.2. 정확성 향상
LLM
의 단점 중 하나인 환각현상
을 현저히 줄일 수 있다.3. 도메인 적응성
4. 효율적 비용
파운데이션 모델(FM)
에 있어, 특정 조직, 도메인을 위해 재교육하는 비용보다 RAG
를 활용하는 것이 비용적으로 이점이다.5. 개발자 제어 강화
LLM
이 적절한 응답을 생성하도록 제어할 수 있다.1. 계산 복잡성 증가
2.데이터 품질 의존성
3. 프라이버시, 보안 문제 야기
RAG
를 통해 유출될 수 있다.RAG
는 LLM
의 등장 이후, 더 다양한 서비스와 정확도 높은 서비스 구축을 위해 연구되었다.
그리고 현재는 이러한 RAG
를 도입한 서비스들이 점점 증가하고 있다.
대표적으로,
RAG
기술을 적용한 챗봇 AI 기능을 추가했다.RAG
기반의 질의응답 서비스를 제공한다.외에도, ChatGPT
의 OpenAI는 searchGPT라는 RAG
기반 서비스를 준비중이라고 한다.
LLM
을 사용하는 다양한 방법과 서비스들이 점점 많아지고, 서비스의 퀄리티도 좋아지고 있는 만큼, 이러한 흐름을 지속적으로 파악하는 것이 중요하다.
이제는 단순한 구글 검색보다 Perplexity와 같은 AI 기반 검색 시스템이 더욱 유용하고, 많이 사용될 텐데
이를 어떻게 활용할 지와 함께,
작동에 대한 기본 원리를 이해하는 것이 개발자로서 필수적이라 생각한다.
여전히 윤리적 문제와 정보 유출에 대한 염려는 지울 수 없지만,
그만큼 더 책임감을 가지고 기술을 개발하고 활용해야 된다고 생각한다.
[참고자료]