생성형 AI 환각의 종말? RAG로 엿보는 LLM의 미래
![Software](/files/member_extra_info/profile_image/823/000/004/4000823.jpg?t=1719183993)
LLM의 환각의 종결자로 등장한 ‘RAG’
LLM 경쟁자 보다는 보완재 역할 예상
대규모언어모델(LLM)을 활용한 챗봇인 챗GPT가 세상에 나온 이후 그 유용성 못지않게 많은 문제점이 지적되고 있다. 환각, 편향, 전문지식 결여, 지식 단절, 감정이나 공감 능력 결여, 창의성과 추상적 사고 제한 등이 그것이다. 이 중 가장 일반적으로 거론되는 것이 환각(Hallucination)이다. 환각은 논리적이거나 현실적이지 아닌 응답을 마치 사실인 것처럼 답을 만들어내는 것을 말한다.
이러한 환각은 엄밀히 말해 챗GPT가 거짓말을 한다기보다는 챗GPT를 작동시키는 기반 모델인 LLM이 내재하고 있는 기술적 한계 때문이다. 예를 들어 훈련 데이터에서 학습한 통계패턴을 기반으로 생성하는 LLM으로 인해 생기는 사실 오류가 그것이다.
다행히 이러한 LLM이 가지고 있는 한계를 보완하기 위한 많은 대안들이 제시되고 있다. 이 중 최근 언론을 통해 심심치 않게 등장하는 것이 ‘검색증강생성’으로 번역되는 래그(RAG: Retrieval Augmented Generation)이다.
래그는 텍스트 생성 과정에 정보 검색을 통합한 자연어 처리(NPL) 기술이다. LLM에 기존 정보 검색 시스템을 결합하여 기존 LLM이 가지고 있는 한계를 극복하고 생성된 텍스트의 정확도와 신뢰도를 개선한다.
래그가 작동하는 원리는 간단하다. 대략 3가지 단계, 즉 검색(Retriever), 생성(Generator), 증강(Augmentation Method)으로 진행된다.
우선 사용자가 원하는 질문을 프롬프트에 입력하면 사용자 질문과 관련된 정보가 벡터 형태로 저장된 외부 DB나 지식 소스에서 그 맥락을 찾아 탐색한다(검색). 그다음 그 맥락과 프롬프트 내용을 합쳐 LLM에 입력되고 그 질문의 맥락에 맞는 답변을 생성한다(생성). 마지막으로 요약, 번역, 추론, 질문응답 같은 다양한 증강방법을 통해 사용자에게 더 쉽고 유익한 결과를 생성해낸다(증강). 여기서 주목할 점은 래그가 기존 LLM과 다른 것은 사용자와 프롬프터 사이에 래그모듈을 한 단계 더 거친다는 것이다.
그렇다면 래그는 어떠한 특징이 있기에 LLM의 대안으로 떠오르는 걸까.
래그의 첫 번째 특징은 검색과 생성을 결합한다는 것이다. 더 정확히 말하면 검색된 정보를 텍스트를 생성하는 과정에 통합시키는 것이다. 이러게 함으로써 생성된 텍스트의 정확성을 향상시키고 그 내용이 기존 지식이나 맥락과 일치하도록 만든다. 기존 LLM이 사전에 학습된 데이터에 한정되어 서비스를 제공하는데 반해 래그는 이러한 LLM에 더해 추가적으로 외부 데이터를 활용해 정확도를 높이는 것이다.
둘째, 지속적으로 업데이트되는 외부 데이터나 지식을 활용한다. LLM을 학습하는 데 사용되는 정적인 데이터뿐만 아니고 새롭게 업데이트되는 정보나 데이터를 이용해 답변의 정확도를 높인다.
생성형 AI가 등장하면서 초기에 문제가 되었던 것이 챗GPT가 2021년까지의 데이터만 학습하다 보니 이후에 발생한 내용에 대해 모르거나 잘못된 정보를 준다는 것이었다. 예를 들어 현직 대통령을 잘못 맞힌다든지 과거에는 존재하지 않은 제품이나 사건들을 마치 실존하는 것처럼 묘사하는 식이다. 이처럼 기존 LLM 모델의 경우 학습 시점에 따라 정보의 접근성이 제한될 수 있으나 래그는 최신 정보를 검색해 정확한 답변을 내놓을 수 있게 설계되어 있다.
셋째, 특정 영역(Domain)에 특화된 전문적이고 구체적인 정보와 지식을 제공한다. 기존 LLM은 대규모 언어모델에 기반한 범용모델이다 보니 광범위한 질문에 대해 일반적인 답을 줄 수 있지만 특정 분야에 대한 정확도가 떨어질 수밖에 없다.
물론 이러한 문제는 사전 학습된 모델의 가중치를 미세하게 조정하여 특정 영역에 맞게 추가 학습하는 파인튜닝을 통해 해결할 수 있다. 다만 파인튜닝도 추가적인 학습을 필요로 하다보니 비용과 시간이 많이 소요된다는 문제점이 있다.
넷째, 정보의 출처를 제공함으로써 답변의 근거를 확인할 수 있어 정보의 투명성이나 정확도 면에서 우수하다. 이 점은 생성하는 정보의 출처를 제시하고 원본을 확인할 수 있는 RAG 기반으로 작동하는 퍼플렉서티(Perplexity)와 같다.
마지막으로, 맥락 이해가 가능하다는 것이다. 래그는 외부 지식 활용, 다양한 정보 조합, 상식 추론 등을 통해 맥락 이해 능력을 향상시켜 사용자에게 보다 정확한 정보를 제공한다.
이처럼 LLM의 한계를 개선하고 있는 래그는 사용자의 질문에 대해 응답, 요약, 콘텐츠 생성 등을 통해 다양하고 광범위한 영역에서 활용되고 있다. 현재 알려지고 있는 주요 활용 분야로는 기업용 챗봇, 고객서비스, 의료, 법률 서비스, 교육 등 다양하다.
이 중 최근에 래그를 활발하게 활용하고 있는 영역 중 하나는 교육이다. 대표적인 사례가 교육적 요구에 맞는 맞춤형 콘텐츠를 제공하는 멀린(Merlyn)이다. 멀린은 교육 전용 LLM을 기반으로 전문화된 교육 콘텐츠와 정보를 제공하는 교육자용 AI 음성 비서다.
특히 지난 6월 출시된 교실용 AI 지원 장치인 멀린 오리진(Merlyn Origin)을 사용하면 교사가 음성 명령으로 교실에 있는 기기들을 제어하고 교육 콘텐츠에 쉽게 접근해 대화형 학습 환경을 만들 수 있다. 기존 LLM과 달리 부적절한 사용을 차단하고, 교사와 학생의 개인정보를 보호하고, 환각을 방지하기 위해 만들어진 교실을 위해 특별히 설계되었다.
멀린의 생성형 AI는 버튼 하나만 누르면 수업 계획, 채점 기준 및 평가를 만들어준다. 이로 인해 학생들에게 검증된 내용을 통해 더욱 효과적이고 개인화된 학습경험과 맞춤형 교육을 제공할 수 있다. 특히 여기에 래그를 통해 적절한 학년 및 커리큘럼에 대한 응답도 가능하다
그렇다면 이러한 강점을 가진 래그가 현재의 LLM의 미래 모습이라 할 수 있을까. 아니면 LLM을 뛰어넘는 대체재가 될 수 있을까.
래그는 단기적으로 볼 때 LLM의 한계를 보완하고 성능을 향상시키기 위한 유용한 도구임에는 틀림없다. 하지만 결점 없는 기술은 없는 법. 래그가 LLM을 대체한다거나 LLM의 미래라고 하에는 한계가 있어 보인다.
우선 외부 지식 DB에서 정보를 검색하고 처리하다 보니 기존 LLM에 비해 학습비용이 추가로 발생하게 된다. 검색에 외부 DB를 사용하다 보니 개인정보 보호나 보안 문제도 발생한다. 또한 외부 검색 엔진에서 제공되는 정보에 의존하다 보니 그 정보의 질과 양에 따라 오히려 편향되고 부적절한 결과를 낼 수도 있다. 마지막으로 외부 정보 검색 시스템을 LLM에 통합시키다 보니 시스템의 복잡성도 증가한다.
이런 측면에서 래그가 LLM을 대체하기보다는 보완하거나 강화하는 기술로 봐야 할 것 같다. 사실 LLM과 래그를 자세히 들어다보면 각각의 역할이나 목적이 동일하지 않다는 것을 알 수 있다.
LLM은 사전 학습된 LLM을 통해 프롬프터에 입력된 질문에 대해 적절한 응답을 생성하는 데 목적이 있다. 이로 인해 학습된 데이터에 기반하지 않은 질문에 대해서는 정확성을 담보할 수 없다.
반면 래그는 실시간 외부 정보 데이터를 실시간으로 검색하여 참조함으로써 생성된 텍스트의 정확성과 문맥적 관련성을 향상시키는 데 초점을 두고 있다. 이처럼 각각의 역할이나 목적이 다르다 보니 대체재라기보다는 보완적인 관계라 할 수 있다. 향후 이 두 기술이 상호 보완하며 만들어가는 새로운 혁신이 어떻게 전개될지 더 기대되는 이유다.
요새는 LLM 크기를 줄여서 자원 소비를 줄이고 래그로 정확성을 보충하는 방향으로 많이 쓰더군요.