Chat GPT로 인해 '23년부터 올해까지 다양한 AI챗봇 솔루션이 출시됐었다. 매우 많이 만나본 것은 아니지만, 어느 정도 이름이 알려진 기업부터 신생 스타트업까지 한 5~6개 기업을 만나봤었다. 기업은 다른데 그들의 솔루션을 도입하면 '쉽게/빠르게/비용 최소화를 하면서도 임직원/고객에게 최상의 경험을 줄 수 있다'는 주장은 동일했다.
몇 군데 기업의 솔루션으로 Quick-PoC를 해본 결과, 기대에 못 미치는 결과가 나왔다. 익히 알려진 Hallucination(환각)을 최소화해야 하는데, 생각보다 그 정도가 심했다. 그들이 말하는 원인에 대해서 마냥 틀렸다고 말하고 싶지는 않다. 이미 알고 있었거나 이해할 수 있는 내용들이 많았기 때문에. 다만 그렇다면 초도 미팅 때부터 그렇게 과대한 기대효과 제시를 약팔이처럼 하지 말았어야 하지 않나?라는 생각은 늘 들었다. 가능한 선 대비 고객이 불가능한 영역에 기대를 표한다면 초반부터 정리하고 대안을 제시/보완하는 task를 보이는 게 불필요한 시간을 줄일 수 있다. 영업 대표이건 기술 영업이건 솔루션 아키텍트건 간에 진짜 전문성 있는 사람들보다 아닌 사람들이 더 많아서 이 AI 챗봇에 회의감이 들 정도였다. (옛날 1세대 챗봇도 마찬가지였긴 했다.)
그러던 와중에 내부 직원 중 의지 있고 똘똘한 인력들이 유튜브/AWS/Azure 등에서 RAG 기반 챗봇을 학습/시도하면서, 자체적으로 AI 챗봇을 진행 중에 있다. 결론적으로 RAG라고 해서 Hallucination이 100% 없지는 않다. 다만 기업이 가진 경험/지식을 문서화한 pdf를 기반으로, 근거를 링크 걸며 설명 가능하게 정확한 답변을 하는 확률이 더 높았다. 무엇보다 외부 업체에게 돈 주고 휘둘리지 않고, 내부 자체 역량으로 진행하는 점이 유의미하다. 대부분의 업체는 원천 데이터의 클린징/전처리 등에 대해서 말만 하고, 깊이 있게 조치하면서 개입하지 않기 때문이다. 전문가로서의 자존감 없이 무책임하게 일하는 외주 협력사들을 한 두번 본 게 아니지. 그 와중에 기업은 돈을 주고서도 아쉬운 수준의 서비스를 쓰고, 해당 레퍼런스와 경험치는 업체만 가져가는 경우도 많이 봤고. (나는 더 좋은 성능/정확도를 보장하는 솔루션이 있다면 그것을 돈 주고 사용하는 게 더 낫다는 주의이기는 하다.)
RAG란 무엇인가?
RAG는 'Retrieval-Augmented Generation'의 약자로, 검색 증강(기반) 생성을 의미하는 AI 기술. 쉽게 말해, RAG는 질문에 답을 할 때 외부 데이터베이스에서 관련 정보를 먼저 검색한 후, 그 정보를 바탕으로 답을 생성하는 방식임. 일반적인 AI 챗봇이 미리 학습된 정보로만 답을 생성하는 것과 달리, RAG는 검색과 생성 두 가지 기능을 결합하여 보다 정확하고 최신의 답변을 제공할 수 있음.
기업의 KMS나 게시판 등에 분산된 데이터들을 문서화(PDF가 제일 좋음)해 벡터화한 후 활용하는 RAG 챗봇은, 사용자의 질문에 대해 학습한 기업의 도메인 지식/문서를 검색한 후, 그 내용을 바탕으로 답변을 생성함.
RAG가 왜 Hallucination(환각)을 줄이는 데 도움이 되는가?
Hallucination은 AI가 존재하지 않는 정보를 만들어내는 현상임. 특히 LLM(대형 언어 모델)이 학습한 데이터 범위에서 벗어난/잘 모르는 질문에 대해 답할 때, 확실한 근거가 없음에도 불구하고 소설을 쓰는 경우를 의미함.
RAG는 하기 사유로 인해 Hallucination 문제를 줄이는 데 도움이 됨.
- 실존 정보 검색
- RAG 챗봇은 답을 생성할 때 실존하는 문서를 기반으로 한 DB에서 정보를 검색함. 검색 데이터를 바탕으로 답을 생성하기 때문에, 잘못된 정보를 즉흥적으로 만들어낼 가능성이 상대적으로 줄어듦.
- 사실 기반의 답변 생성
- RAG는 답변을 할 때 실제 문서를 활용하기 때문에, 만들어낸 답변이 근거 있는 정보에 기반함. 이는 AI 모델이 잘 모르는 질문에 대해 답을 할 때도, 존재하는 데이터를 바탕으로 정확한 답을 제시할 수 있게 해 줌.
- 실시간 정보 업데이트
RAG는 실시간으로 정보를 검색해 답하는 구조로, 원천 데이터의 빠른 업데이트를 기반으로 최신화된 정보를 반영할 수 있음.
RAG를 잘 구성하려면 원천 데이터를 어떻게 전처리해야 하는가?
RAG 모델을 효과적으로 구성하려면 원천 데이터를 잘 준비하고 처리해야 함.
- 원천 데이터의 신뢰성 확보
- RAG가 검색하는 원천 데이터는 신뢰할 수 있는 정보여야 함. 즉 기업 내에서도 중구난방의 자료를 갖고 오는 것이 아니라, 정확하고 신뢰성 높은 데이터를 가져와야 함. 오래 되거나 잘못된 정보, 작성자가 불분명한 자료를 포함시키지 않아야 함. Garbage In > Garbage Out을 잊지 말 것,
- 데이터 정제 (Cleaning)
- 원천 자료에는 종종 오타/중복/통일성 없는 업무 용어 등이 포함될 수 있음. 이런 정보들은 RAG가 정확한 답을 찾는 것을 방해할 수 있기에, 원천 데이터를 정리하고 의미 없는 정보/오류를 제거하는 작업이 필요.
- 데이터 구조화 (Structuring)
- RAG가 데이터를 쉽게 검색하고 활용할 수 있도록 데이터를 구조화된 형태로 준비하는 것이 중요함. 특히 기업의 내부 자료는 보통 정형화되어 있지가 않아 어려움을 야기함. 이미지와 글자가 혼재되어 있거나 중구난방의 표 형태가 많음. 이를 구조화(마크다운 등을 통해)할수록 RAG가 정보를 더 정확하고 빠르게 검색할 수 있음.
- 메타 데이터 추가
- 각 문서나 데이터에는 메타 데이터(부가 속성 정보)를 추가하는 것이 유용함. 문서의 주제/작성일/출처/작성자 등을 포함시키면 RAG가 검색할 때 더욱 정확한 정보를 찾을 수 있게 함.
- 문서 요약 (Summarization)
- 큰 문서나 많은 양의 데이터를 처리할 때, 문서를 요약하는 것도 좋은 전처리 방법. RAG가 긴 문서 전체를 검색하는 대신, 요약된 정보를 통해 핵심만 빠르게 찾아낼 수 있음.
'IT' 카테고리의 다른 글
LAM과 EAI의 결합으로 진화하는 AI 에이전트(Agent) (74) | 2024.10.29 |
---|---|
ChatGPT가 잘 알아듣는 Prompt(프롬프트) 작성법과 템플릿 예시 (39) | 2024.10.27 |
다리오 아모데이가 바라본 'AI가 바꿔 갈 5대 영역'은? (98) | 2024.10.25 |
AI 윤리 가이드의 중요성과 동향 (71) | 2024.10.24 |
AI의 편향성(AI의 편견/차별), 왜 발생하는가? (69) | 2024.10.23 |