RAG(증강 생성 검색)는 권위 있는 지식 베이스의 정보를 기반으로 대규모 언어 모델(LLM)의 출력을 최적화하는 기술입니다. 이 기술은 응답을 생성할 때 특정 도메인이나 조직의 내부 지식 기반을 참조하도록 LLM의 기능을 확장함으로써 출력의 품질을 개선하고 다양한 맥락에서 관련성, 정확성 및 유용성을 보장합니다.

대규모 언어 모델(LLM) 최적화하기
대규모 언어 모델(LLM)은 일반적으로 수십억 개의 매개변수가 포함된 대규모 데이터 세트를 학습하여 질문에 대한 답변, 언어 번역 및 문장 완성과 같은 작업에 대한 원시 출력을 생성합니다. 그러나 LLM의 학습 데이터는 정적이고 지식을 업데이트하는 데 마감일이 있기 때문에 답변이 부족할 때 모델이 잘못된 정보를 제공하거나 특정 최신 정보에 액세스해야 하는 쿼리에 응답할 때 오래되거나 모호한 답변을 출력할 수 있습니다. 또한 LLM의 답변이 신뢰할 수 없는 출처에서 나온 것이거나 용어 혼동으로 인해 동일한 용어가 다른 데이터 소스에서 다른 내용을 지칭할 수 있는 등 잘못된 답변을 생성할 수도 있습니다.
RAG의 솔루션
RAG는 LLM이 사전 정의된 권위 있는 지식 소스에서 관련 정보를 검색하도록 지시함으로써 위의 문제를 해결합니다. 기본 모델은 일반적으로 오프라인으로 학습되며 학습이 끝난 후 생성된 데이터에 액세스할 수 없습니다. LLM은 일반적으로 매우 일반적인 도메인 말뭉치에 대해 학습되므로 도메인별 작업을 처리하는 데 효율성이 떨어지며, RAG 모델은 기본 모델 이외의 데이터에서 정보를 검색하고 검색된 관련 데이터를 컨텍스트에 추가하여 단서를 보강할 수 있습니다.
RAG 모델 아키텍처에 대한 자세한 내용은 다음을 참조하세요.검색 - 지식 집약적인 NLP 작업의 향상된 생성..
검색 증강 생성(RAG)의 장점
RAG를 사용하면 다양한 외부 데이터 소스(예: 문서 저장소, 데이터베이스 또는 API)의 데이터를 소싱하여 단서를 보강할 수 있습니다. 이 프로세스는 문서와 사용자 쿼리를 관련성 검색을 위해 호환 가능한 형식으로 변환하는 것으로 시작됩니다. 여기서 형식 호환성이란 임베딩 언어 모델을 활용하여 문서 컬렉션(지식창고로 간주될 수 있음)과 사용자가 제출한 쿼리를 비교 및 검색을 위한 수치 표현으로 변환해야 한다는 의미이며, RAG 모델의 주요 작업은 사용자 쿼리의 임베딩을 지식창고 내의 벡터와 비교하는 것입니다.
그런 다음 향상된 프롬프트가 기본 모델로 전송되어 원래 사용자 프롬프트가 지식창고의 유사한 문서에 있는 관련 컨텍스트와 결합됩니다. 또한 지식창고 및 관련 임베디드 표현을 비동기적으로 업데이트하여 RAG 모델의 효율성과 정확성을 더욱 향상시킬 수도 있습니다.
RAG의 과제
RAG는 대규모 언어 모델을 최적화하여 실제로 정보 검색 및 질문 답변의 문제를 철저하게 해결할 수 있는 방법을 제공하지만, 여전히 많은 문제와 도전에 직면해 있습니다.
1. 데이터 원본의 정확성 및 신뢰성
검색 증강 생성 모델에서는 데이터 소스의 정확성과 업데이트가 매우 중요합니다. 데이터 소스에 잘못된 정보, 오래된 정보 또는 검증되지 않은 정보가 포함되어 있으면 RAG가 생성한 답변이 부정확하거나 품질이 낮을 수 있습니다. 따라서 데이터 소스의 품질을 보장하는 것은 지속적으로 직면하고 해결해야 하는 과제입니다.
2. 검색 효율성
RAG는 대규모 데이터 세트에서 효율적으로 수행할 수 있지만 지식창고가 커지거나 쿼리가 복잡해지면 효율성 문제에 직면할 수 있습니다. 대량의 데이터에서 관련 정보를 찾는 것은 시간과 계산 집약적인 작업이기 때문에 검색 알고리즘의 효율성을 최적화하는 것도 RAG의 과제입니다.
3. 일반화 능력
RAG 모델은 특정 데이터와 쿼리에 특히 민감할 수 있으며, 일부 문제는 합리적이고 효과적인 전략을 채택하기 더 어려워 보일 수 있으므로 일반화 기능이 우수한 모델이 필요한 경우가 많습니다. 다양한 쿼리와 데이터 소스를 처리하도록 모델을 학습시킬 때 해결해야 할 문제와 과제는 매우 복잡합니다.
4. 이기종 데이터 처리
실제로 데이터는 항상 문서 형태로만 존재하는 것은 아니며 이미지, 오디오, 비디오 등 다른 형태로도 존재할 수 있습니다. RAG가 이러한 형태의 데이터를 처리하여 광범위한 지식 소스 간에 검색 및 상호 참조할 수 있도록 하는 것도 큰 과제입니다.
위의 과제를 해결하려면 RAG의 성능과 잠재적인 문제 사이의 균형을 찾아 다양한 실제 애플리케이션에서 성능을 보장할 수 있어야 합니다.
자세한 내용은 다음 샘플 노트북을 참조하세요:
중요 참조: https://docs.aws.amazon.com/pdfs/sagemaker/latest/dg/sagemaker-dg.pdf#jumpstart-foundation-models-customize-rag
검색 향상 생성: 오픈 소스 LangChain 라이브러리를 기반으로 한 사용자 정의 데이터 세트에 대한 Q&A
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...