모범 사례 및 튜토리얼

검색 증강 세대(RAG)의 개요

검색 증강 세대란 무엇인가요?

의심의 여지가 없습니다. 대규모 언어 모델(LLM) 은 자연어 처리에 혁신을 가져왔지만, 때로는 일관성이 없거나 무작위로 응답하거나 심지어는 프롬프트에 대한 응답이 완전히 틀릴 수도 있습니다. 이는 분명 웃음을 유발할 수 있지만, 정확하고 검증 가능한 정보를 얻기 위해 LLM에 의존하는 경우에는 이상적이지 않습니다.

많은 기술 팀이 대규모 언어 모델의 정확도를 개선하기 위해 노력하고 있습니다. 이러한 노력에 대응하여 등장한 방법 중 하나가 검색 증강 생성(RAG)입니다. 개인이 만든 그룹 기초 인공지능 연구(FAIR) 팀, 유니버시티 칼리지 런던(UCL), 뉴욕 대학교(NYU)에서 개발한 검색 증강 생성(RAG)은 모델이 외부 사실에 액세스할 수 있도록 하여 대규모 언어 모델의 정확도를 높이는 기법을 말합니다.

RAG는 어떻게 작동하나요? 

일반적으로 대규모 언어 모델(LLM)은 사용자의 입력을 받아 LLM이 학습한 정보(때로는 오래되었거나 부정확할 수 있음)를 기반으로 응답을 전달합니다. RAG는 이 정보를 회사의 지식 기반이나 관련 문서와 같은 보충 데이터와 결합하여 사실에 근거하고 맥락에 맞는 정확한 응답을 제공할 수 있습니다.

시맨틱 검색과 RAG

시맨틱 검색은 자연어 처리를 통해 사용자의 쿼리 의도를 파악하여 관련성 높은 결과를 제공합니다. 하지만 시맨틱 검색 엔진은 학습된 데이터와 알고리즘만큼만 성능이 향상됩니다. 

위에서 언급했듯이 RAG는 LLM 검색 및 생성 기술을 사용하고 학습 데이터 외부의 신뢰할 수 있는 외부 소스를 통합하여 관련성을 생성하기 때문에 매우 효과적입니다, 정확한 응답합니다. 

RAG 사용 사례

검색 증강 세대에는 다양한 사용 사례가 있습니다. 몇 가지 예를 들면 다음과 같습니다:

Q&A 시스템 구축

RAG를 통해 사용자는 질문을 입력하고 관련성 있는 상세한 답변을 받을 수 있습니다. 기존의 Q&A 모델이나 시스템에 비해 RAG는 더 높은 정확도와 심층적인 지식을 제공할 수 있습니다.

대화형 시스템

챗봇을 구축할 때, 특히 대화가 여러 주제를 다루거나 많은 양의 정보에 대한 액세스가 필요한 경우 RAG는 사용자 문의에 대해 다양한 정보를 제공하고 관련성 있는 답변을 제공하는 데 도움이 될 수 있습니다. 보험 챗봇을 예로 들어보겠습니다. 이러한 챗봇은 온보딩부터 보험금 청구 처리까지 다양한 질문에 답할 수 있어야 하며, 그 외에도 다양한 종류의 고객 지원을 제공할 수 있어야 합니다. 

교육 시스템

RAG는 다양한 교육 시스템에서 활용될 수 있습니다. 질문에 대한 답을 제공할 수 있을 뿐만 아니라 답을 찾는 방법에 대한 배경 정보를 제공하고 학생의 질문을 기반으로 학습 자료를 만들 수도 있습니다. RAG는 유치원부터 대학에 이르기까지 학생들의 학습 경험을 향상시킬 수 있습니다. 

콘텐츠 및 보고서 생성

RAG는 관련 정보를 바탕으로 보고서를 작성하고 기사, 소셜 미디어 게시물, 동영상 스크립트 등의 콘텐츠 제작에도 도움을 줄 수 있습니다. 이러한 자료에 RAG를 사용하면 콘텐츠 제작자의 조사 및 브레인스토밍 시간을 단축하고 생산성을 높일 수 있습니다. 

RAG를 구현하는 방법

RAG를 구현하는 단계는 다음과 같습니다: 

    1. 사전 학습된 언어 모델로 시작하기

가장 먼저 해야 할 일은 사전 학습된 언어 모델을 선택하는 것입니다. 이러한 모델은 다양한 데이터에 대해 학습되어 일관성 있고 관련성 있는 텍스트를 생성할 수 있습니다(항상 최신이거나 완전히 정확한 것은 아니지만). 개발자가 사전 학습된 언어 모델에 쉽게 액세스하여 사용할 수 있는 라이브러리도 온라인에 나와 있습니다(예 허깅 페이스의 트랜스포머). 

    1. 문서 검색

다음으로, 사용자 입력에 따라 관련 문서를 검색할 수 있는 검색 시스템을 구현해야 합니다. 업계 또는 업무와 관련된 다양한 문서를 구축하거나 사용할 수 있는 옵션이 있습니다. 또는 다음과 같은 보다 전통적인 방법을 사용할 수도 있습니다. Okapi BM25 또는 용어 빈도-역 문서 빈도 (TF-IDF) 또는 다음과 같은 신경 검색 모델을 사용합니다. 고밀도 통로 검색 (DPR).

    1. 컨텍스트 임베딩

문맥 임베딩은 주변 텍스트를 기반으로 단어의 실제 감정을 식별하는 데 도움이 되며, 기존 단어 임베딩보다 더 나은 표현을 제공하는 데 도움이 됩니다. 문맥 임베딩은 다음과 같은 모델을 사용하여 얻을 수 있습니다. 트랜스포머의 양방향 인코더 표현 (줄여서 BERT). 

    1. 조합(연결)

문맥 임베딩을 활용했다면 이를 문맥과 결합해야 합니다. 입력의 임베딩을 문서의 임베딩과 결합하거나 주의 메커니즘을 사용하여 입력의 컨텍스트에 따라 각 문서 임베딩의 중요도를 평가하는 방식으로 이를 수행할 수 있습니다.

    1. 미세 조정

미세 조정은 선택 사항이지만 모델의 성능을 향상시킬 수 있습니다. 미세 조정을 사용하여 교육 속도를 높이고, 특정 사용 사례를 해결하고, 사용자 경험을 개선할 수 있습니다. 

    1. 추론

이 마지막 단계에서는 모델에 컨텍스트를 입력하고 문서 검색 시스템을 사용하여 관련 문서를 검색합니다. 또한 입력 임베딩을 문서 임베딩과 결합하고 결합된 모델을 사용하여 응답을 생성합니다.

다행히도 RAG와 유사한 시스템을 구현하기 위해 사전 학습된 도구를 제공하는 라이브러리가 있어 개발자가 이 전체 프로세스를 더 쉽고 간편하게 이용할 수 있습니다.

검색 증강 세대의 이점

검색 증강 생성의 가장 큰 이점 중 하나는 대규모 언어 모델이 그렇지 않은 경우보다 더 정확하고 관련성 높은 정보에 액세스할 수 있기 때문에 생성된 응답의 품질과 관련성이 향상된다는 점입니다. 

또 다른 장점은 도메인별 정보를 제공하는 RAG의 기능입니다. 특정 작업이나 사용 사례에 맞게 RAG 모델을 미세 조정할 수 있으므로 상황에 맞는 정보를 제공함으로써 사용자에게 도움이 될 수 있습니다. 

RAG는 관련 정보를 검색할 뿐만 아니라 자연스러운 반응을 생성하기 때문에 이러한 모델과의 상호작용은 일반적으로 더 대화적이고 사용자 친화적입니다.

주요 내용 및 추가 리소스

검색 증강 세대는 LLM의 강점과 정확한 최신 정보에 대한 외부 액세스를 결합하여 기존 대규모 언어 모델의 개선된 버전을 제공합니다.  

검색 증강 생성과 관련된 주제에 대해 더 자세히 알아보려면 다음 리소스를 확인하세요:

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Caroline Kerns, Developer Community Manager

캐롤라인 컨스는 기술 업계에서 10년간 커뮤니티 관리 경력을 쌓은 Couchbase의 개발자 커뮤니티 매니저입니다. 사람들을 연결하는 것을 좋아하며 다양한 팀에서 일하면서 협업을 촉진하고 강력한 커뮤니티를 구축하는 것을 즐깁니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.