[LLM] RAG (Retrieval-Augmented Generation)
AI와 자연어 처리(NLP) 기술이 발전함에 따라, 우리는 점점 더 정교하고 똑똑한 언어 모델을을 접할 수 있게 되었다.
그중에서도 RAG는 대규모 언어 모델의 한계를 극복하기 위해 고안되었다.
RAG란 무엇인가?
RAG는 Retrieval-Augmented Generation의 약자로 "검색 기반 생성"을 의미한다.
이는 단순히 주어진 입력에 대해 답변을 생성하는 기존의 언어 모델들과는 달리,
외부 데이터베이스나 지식 그래프에서 관련 정보를 검색한 후 이를 바탕으로 답변을 생성하는 방식을 취한다.
이를 통해 모델이 훈련 데이터에 없는 정보에 대해서도 더 정확하고 풍부한 답변을 제공할 수 있다.
RAG의 작동 원리
RAG의 작동 원리는 크게 두 가지 단계로 나뉜다.
1. Retreval 단계
- 입력 문장이 주어지면 모델은 외부 지식 베이스나 문서 집합에서 관련 정보를 검색한다.
- 검색된 정보는 입력 문장과 함께 생성 단계로 넘어간다.
2. Generation 단계
- 검색된 정보를 바탕으로 최종 답변을 생성한다.
- 이 단계에서는 검색된 정보와 입력 문장을 종합하여 더 정확하고 구체적인 답변을 도출한다.
RAG의 작동 원리를 설명하기 위해, 영화 추천 시스템을 예로 들어보자.
사용자가 다음과 같이 질문한다고 가정해보자.
😀 "나는 최근에 인셉션을 봤는데, 비슷한 영화를 추천해줘"
Retreval 단계
: 모델은 먼저 인셉션과 유사한 영화 목록을 외부 데이터베이스에서 검색한다
ex) 매트릭스, 프레스티지, 셔터 아일랜드 등
Generation 단계
: 모델은 검색된 영화 목록을 바탕으로, 다음과 같이 답변한다.
💻 당신이 인셉션을 좋아했다면, 매트릭스, 프레스티지, 셔터 아일랜드를 추천합니다.
이 영화들은 모두 복잡한 스토리라인과 놀라운 반전을 특징으로 합니다.
RAG의 장점
더욱 정확한 정보 제공
: RAG는 외부 지식 베이스를 참조함으로써, 모델이 훈련 데이터에 없는 정보에 대해서도 정확한 답변을 제공할 수 있다.
유연성
: RAG는 다양한 도메인에 적용 가능하며, 특정 지식에 의존하지 않기 때문에 일반적인 대화 모델보다 유연하다.
확장성
: 외부 데이터베이스를 계속해서 업데이트 함으로써, 모델의 성능을 지속적으로 향상시킬 수 있다.
결론
RAG는 검색과 생성을 결합함으로써 대규모 언어 모델의 한계를 극복하는 혁신적인 접근 방식이다.
이를 통해 모델은 보다 정확하고 풍부한 답변을 제공할 수 있으며, 다양한 도메인에 걸쳐 유연하게 적용될 수 있다.
'🤖 AI > LLM' 카테고리의 다른 글
[LLM] 텍스트 분할(TextSplit) (0) | 2024.07.17 |
---|---|
[LLM] 도큐먼트 로더(Document Loader) (0) | 2024.07.15 |
[LLM] 올라마 모델에 랭체인 적용하기 (0) | 2024.06.27 |
[LLM] 랭체인(LangChain) (0) | 2024.06.24 |
[LLM] 올라마(Ollama) (0) | 2024.06.21 |