AI 솔루션/Semantic Search

[AI 검색 솔루션] RAG = LLM+Vector Search 2편

MNC 2024. 2. 22. 13:55

똑똑, 안녕하세요! RAG=Vector Search + LLM 1편에서 이어지는 내용으로 찾아왔습니다.

 

연달아 연재하는 글을 통해 의미 기반 검색의 장점과 구성 기술 요소들에 대한 이해가 되고 계신지 궁금합니다ㅎㅎ

다양한 의견을 부탁드리며, 함께 알아보고자 하는 주제가 있으시다면 댓글로 남겨주세요!

(샤이하신 분들은 비밀 댓글도 대환영입니다)


작성 : 마인즈앤컴퍼니 이주연 매니저 (Product&Marketing)

 

자, 이제 1편에서 다루지 못했던 LLM 기술과 RAG 기술까지 저와 함께 스터디해보시죠!

 

우선 LLM 이란 무엇인지 기본적인 정보를 알아보겠습니다.

 📚 LLM 이란?

LLM은 Large Language Model의 약자로, 대규모 언어 모델이라 불리고 있습니다. 딥러닝을 기반으로 구축된 자연어 처리 모델로, 대량의 텍스트 데이터를 사용하여 학습됩니다. 딥러닝 변형 중 하나인 Transformer 아키텍처를 기반으로 하는 모델로, 언어의 구조와 패턴을 이해하고 작업을 수행하기 위해 다양한 자연어 처리 기술을 활용합니다. 대화형 AI 시스템, 텍스트 생성, 기계 번역, 요약, 질의응답 등의 다양한 분야에서 사용되고 있으며 이를 활용하여 글 작성 보조, 의료 기록 분석, 기사 생성, 사용자 질문에 정확한 답변을 제공하는 등 사람이 직접 해야 했던 일들을 LLM을 통해 손쉽게 도움 받을 수 있습니다.

 

LLM은 대규모 텍스트 데이터셋을 사용하여 사전 학습되며, 특정 작업의 목적에 맞게 파인 튜닝합니다. 사전 학습 단계에서는 대규모 텍스트 코퍼스를 사용하여 언어 모델이 언어의 특성과 구조를 파악하는 구조로 설계되어 있습니다. 대규모 텍스트 코퍼스란 많은 양의 텍스트 데이터를 의미하는 말로, 언어에 대한 다양한 맥락과 문맥을 이해하고 학습할 수 있도록 합니다. 이를 통해 모델이 언어의 구조, 문법, 의미, 문맥 등을 학습하여 언어에 대한 이해와 생성 능력을 향상할 수 있습니다.

 

📂 LLM 주요 활용 사례

LLM은 다양한 분야에서 사용되고 있지만, 그중 질의에 맞는 답변을 생성하는 분야에서 활발하게 사용되고 있습니다. 질의 맞춤형 답변은 사용자가 제시한 특정 질문에 대해 직접적이고 정확하게 답변하여 정보나 해결책을 제시하는 것을 의미합니다. 이는 질문에 대한 의도를 고려하고 있어야 하며 질문의 문맥과 관련된 정보를 포함하고 있어야 합니다.

 

질문의 의도 파악? 문맥에 맞는 답변? 우리가 2회 차에 걸쳐 다룬 의미 기반 검색과 연결되는 내용인데요, 결국 의미 기반 검색은 사용자의 질문에서 의도와 맥락을 파악해서 답변하는 LLM을 통해 가능했다는 것을 알 수 있었습니다. 최근 마인즈앤컴퍼니는 딥서핑을 활용한 문서 내 의미 기반 검색으로 행정안전부 ‘초거대 언어모델 행정 업무 적용’ 사업에 참여하여 문서 활용 혁신의 공을 인정받아 행정안전부 장관 표창장을 받기도 했습니다. 여기에도 LLM이 큰 역할을 해주었는데요,

그렇다면 LLM은 어떻게 질의 맞춤형 답변을 생성할 수 있는 걸까요? 행정안전부 표창을 받게 해 준 딥서핑의 공문서 중 법률 문서 의미 기반 검색 사례를 통해 알아보겠습니다.

 

📑 맞춤형 AI 모델 구축을 위한 레시피

LLM이 질의 맞춤형 답변을 생성할 수 있도록 하는 레시피에는 Fine-Tuning강화 학습이라는 2가지의 핵심 비법이 있습니다.

Fine-Tuning은 특정 도메인이나 작업에 맞도록 가중치를 조정하는 과정이라고 간단히 정리할 수 있습니다. 하지만 그 과정은 결코 간단하지 않겠죠?

어떻게 딥서핑이 행정안전부에 딱 맞는 옷을 입게 되었는지 단계 별로 소개해 드리겠습니다.

 

1. Pre-Trained 모델 선택

언어 모델의 기초를 마련하기 위해, 이미 학습된(pre-trained) 모델을 사용합니다. 사전 학습된 모델은 다양한 언어 작업에 필요한 기본적인 언어 이해와 생성 능력을 갖추고 있습니다. 사전 학습 모델을 선택할 때는 과제의 특성 / 모델 크기 / 학습한 데이터 / 연산 리소스 등을 고려해야 합니다.

 

2. 특정 태스크 지정: 질의응답(QA)

기본 모델을 특정 작업에 맞게 조정하는 단계입니다. 행정안전부 프로젝트에서는 질의응답(QA) 시스템을 구축이 필요했고, 태스크에 맞춰 모델을 세부 조정하여 특정 질문에 대한 답변을 생성할 수 있도록 했습니다.

다양한 도메인의 데이터를 QA 쌍으로 변환하여 학습하는 단계를 거쳤으며, 오픈된 데이터를 자체 전처리 과정을 통해 정제하는 단계를 추가했습니다. 한국어로 서비스가 필요하니, 한국어로 된 QA 작업을 수행할 수 있게 조정했습니다. 이를 통해 모델은 한국어 질문을 이해하고 답변하는 능력도 갖게 된 것이죠!

 

3. 도메인 특화 학습

도메인 특화 학습 단계를 통해 법률, 행정과 같은 특수한 도메인에서도 알아서 잘 센스 있게 질문을 더 잘 이해하고 답변을 제공할 수 있도록 했습니다.

법률, 행정, 금융 등 특정 도메인에 대한 이해를 높이기 위해, 오픈 데이터에서 해당 분야에서 자주 사용되는 용어와 문장 구조를 QA 쌍을 구성하여 학습시켰습니다.

 

4. 맞춤형 추가 학습

마지막으로, 고객사의 특정 데이터를 사용하여 모델을 더욱 최적화합니다. 행정안전부에서 공개한 법률, 행정 문서를 활용하여 QA쌍을 생성하여 학습시켰고, 이 과정을 통해 모델은 고객의 요구사항과 데이터 특성에 맞춤화되어 더 정확하고 효율적인 출력을 제공할 수 있게 되었습니다.

 

 

질의 맞춤형 답변을 위한 마지막 비법은 강화학습인데요, 강화학습 중 DPO 기법을 선택했습니다. DPO(Direct Preference Optimization)는 목표하는 성능 지표에 직접적으로 영향을 주도록 학습시키는 방법입니다. 사용자와의 상호작용을 통해 학습하고 특정 상황에 따라 행동을 조정하고 적응하기도 하는 유연성을 심어주는 단계라고 생각해 주시면 됩니다.

 

fine-tuning에서는 질문에 대한 하나의 대답 쌍으로 이뤄진 Q-A 쌍의 데이터를 활용했다면, 강화학습에서는 하나의 질문에 대한 좋은 답변과 나쁜 답변 두 가지 모두 학습에 사용합니다. 이 피드백을 기반으로 모델이 '좋은' 응답을 더 많이 생성하도록 학습시키고, 이를 통해 모델의 출력을 조정하여, 사용자가 원하는 결과를 더욱 정확하게 달성할 수 있도록 하여 법률, 행정 등의 특수한 도메인에서도 딥서핑은 사용자가 원하는 답변을 척척 할 수 있는 똑똑이가 되었습니다.

 

LLM은 어떤 역할을 하는 친구인지, 어떤 레시피로 법률, 행정 도메인에도 똑똑한 답변을 할 수 있는지 알아봤는데요

그렇다면 RAG는 어떤 역할을 하는지 알아볼까요?

 

📚 RAG란?

RAG는 Retrieval-Augmented Generation의 약자로 언어모델이 특정 문서에 근거하여 보다 정확한 답변을 할 수 있도록 하는 기법입니다. 자체 구축한 DB나 외부 DB에서 사용자 질의에 대해 답변할 수 있는 근거 문서를 찾고, 이를 LLM에게 전달하여 환각 현상 (hallucination) 이 줄어든 답변을 생성할 수 있게 됩니다.

 

MNC DeepSearfing Demo_RAG 예시

 

이번 사례에서도 RAG가 사용되었는데요, 딥서핑은 답변에 해당되는 문서를 노출해 주는 기능도 보유하고 있어 할루시네이션이라 불리는 오답변의 염려도 덜어낼 수 있는 만능 똑똑이입니다.

 

단순히 RAG와 LLM 두 기술 요소를 비교하자면, 각각 정보를 활용하는 방식에 있어 핵심적인 차이가 있습니다. LLM은 대량의 텍스트 데이터로부터 학습되며, 주어진 질문이나 명령에 대해 학습된 데이터를 바탕으로 직접 응답을 생성합니다. 이러한 모델은 내부적으로 축적된 지식을 사용하여 질문에 대한 답변을 생성하며, 특정한 외부 문서를 검색하는 과정을 거치지 않습니다.
반면, RAG(Retrieval-Augmented Generation)는 정보 검색과 생성을 결합하여 작동하는 기술로, 질의응답 시스템을 포함한 다양한 언어 생성 작업에 적용됩니다. RAG는 먼저 질문과 관련된 외부 문서나 데이터베이스를 벡터 검색을 통해 찾아내고(‘Retrieval’ 단계), 검색된 문서를 모델이 응답을 생성할 때 참고하도록 합니다(‘Generation’ 단계). 이 과정을 통해, RAG는 관련성 높은 정보를 기반으로 정확하고 상세한 응답을 생성할 수 있습니다.

 

LLM과 RAG을 소개해 드리면서 실제 프로젝트 사례에서 어떻게 쓰였는지 소개해드렸습니다. 이번 행정안전부 사례 외에도 마인즈앤컴퍼니가 진행했던 다양한 사례가 궁금하시면, 홈페이지로 놀러 오세요!

 

🎈 MNC Cases 구경하기 🎈


[Summary]

Point 1. LLM 비법 레시피 (Fine-Tuning, 강화학습)

LLM(Large Language Model)의 Fine-Tuning과 강화학습을 통해, 특정 작업, 언어, 도메인, 그리고 고객사의 요구 사항에 맞는 맞춤형 AI 모델을 구축할 수 있습니다. 이러한 접근 방식은 AI 기술의 범용성을 넘어, 특정한 요구와 목표에 최적화된 솔루션을 제공함으로써, 실질적인 비즈니스 가치를 창출합니다.

 

Point 2. RAG로 답변 정확도, 다양성 높이기

언어모델이 특정 문서에 근거하여 보다 정확한 답변을 할 수 있도록 하는 기법으로,

Retrieval - Generation 단계를 거쳐 관련성 높은 정보를 기반으로 정확하고 상세한 응답을 할 수 있습니다