챗GPT 달리3

“신데렐라는 몇 명의 난쟁이와 살았을까?”를 인공지능(AI) 챗봇에 물으면 “신데렐라는 일곱 명의 난쟁이와 사는 것으로 알려져 있습니다”라는 답변을 내놓곤 한다. AI가 환각(언어 모델이 사실과 다르거나 오해의 소지가 있는 콘텐츠를 생성하는 것) 현상을 보이기 때문이다. 난쟁이는 신데렐라가 아니라 백설공주와 살았다.

환각은 대규모언어모델(LLM)의 치명적인 단점으로 꼽히는데, 이를 보완하기 위한 방법으로 ‘검색증강생성(RAG·Retrieval Augmented Generation)’ 기술이 주목받고 있다.

LLM은 학습 데이터를 기반으로 답변을 생성하기 때문에, 이용자가 한 질문이 학습되지 않은 내용이라면 기존에 보유한 데이터 중 가장 확률이 높은 정보를 조합해 답변을 생성한다. 이 과정에서 허위 정보나 오래된 정보를 사실인 것처럼 제공해 환각 현상이 발생할 수 있다. 하지만 RAG는 특정 도메인이나 조직의 내부 데이터까지 활용할 수 있도록 해 보다 정확한 답변을 내놓을 수 있다.

◇ RAG, LLM에 기존 정보 검색 시스템 결합

21일 IT 업계에 따르면 국내외 주요 AI 업체들이 RAG 기술을 자사 기업 간 거래(B2B) 서비스에 도입하고 있다. LLM에 기존 정보 검색 시스템을 결합해 LLM이 가지고 있는 한계를 극복하고 생성된 텍스트의 정확도와 신뢰도를 개선하는 것이다.

국제 웹 보안 분야 비영리 재단인 OWASP(The Open Web Application Security Project)에 따르면 LLM의 치명적인 취약점은 대략 10가지가 있다. 악의적인 프롬프트(질문)를 입력해 LLM이 본래 정책이나 가이드라인에 구애받지 않고 공격자 의도대로 작동하도록 하거나(프롬프트 주입), 사전 학습 데이터를 조작해 보안과 효율을 손상시키는 경우(학습데이터 중독) 등을 포함한다. 민감한 정보에 노출되거나 소프트웨어 공급망 취약점과 유사한 위협이 발생할 수 있다.

RAG는 데이터의 무결성(정확성·일관성·신뢰성을 유지하는 것)을 확보해 LLM의 안정성을 보완하기 위한 기술이다. 캐나다 AI 스타트업 코히어의 패트릭 루이스 박사가 2020년 내놓은 논문에서 RAG이라는 용어가 처음 사용됐다. 이글루코퍼레이션은 RAG의 작동 방식으로 외부 데이터 생성, 관련 정보 검색, LLM 프롬프트 확장, 외부 데이터 업데이트 등 네 가지 단계를 언급했다.

우선 API(프로그램 간 소통을 도와주는 도구들을 모아놓은 것), 데이터베이스, 문서 등의 다양한 데이터 소스에서 원하는 데이터를 가져온다. 데이터는 파일, 데이터베이스 레코드, 텍스트 등 여러 형식이 가능하다. LLM이 이해할 수 있도록 데이터를 변환한 뒤 변환된 데이터를 데이터베이스에 저장해 LLM이 이해할 수 있는 지식 라이브러리를 생성한다.

사용자가 프롬프트를 입력하면 관련된 정보를 데이터베이스에서 검색해서 가져오고, 검색된 데이터를 컨텍스트(Context)에 추가해 사용자 프롬프트를 보강한다. 이를 LLM에 전달하면 LLM이 검색된 데이터를 활용해 답변을 생성하는 것이다.

검색과 생성을 결합하는 것은 물론이고 최신 데이터를 유지하기 위해 주기적으로 업데이트하는 것이 RAG의 장점으로 꼽힌다. LLM이 학습되면 더이상 업데이트가 없는 정적인 상태인데, RAG를 통해 새롭게 업데이트되는 정보나 데이터를 이용해 답변의 정확도를 높이는 것이다. 예컨대 챗GPT 초기에는 2021년까지 데이터만 학습하다 보니 이후에 발생한 내용에 대해서는 모르거나 잘못된 정보를 제공하곤 했었는데, RAG는 최신 정보를 검색해 정확한 답변을 내놓는다.

◇ MS 빙·AWS 켄드라에 RAG 활용

기업용 챗봇, 고객서비스, 의료, 법률 서비스, 교육 등에 RAG가 활용되고 있다. 작년 초 마이크로소프트(MS)는 빙(Bing) 검색 엔진에 RAG 기술을 적용한 대화형 AI 기능을 추가했다. 이 기능은 사용자의 검색 질의에 대해 웹페이지의 정보를 활용해 답변을 생성하고 제공된 답변에는 출처 웹페이지 링크를 함께 표시한다. 아마존웹서비스(AWS)도 작년 6월 기업용 검색서비스 켄드라에 RAG를 적용했다. 여러 데이터 저장소를 인덱스(외부 데이터 수집 도구)에 연결해 사용자 정의 검색 환경을 구축하고 의미 기반 검색 서비스를 제공하는 것이다.

RAG 이외에 LLM의 환각 현상을 줄이는 또 다른 방법은 ‘파인튜닝(Fine-Tuning)’이 있다. 파인튜닝은 특정 작업에 적합하도록 이미 훈련된 LLM에 특정 데이터 집합을 사용해 추가적인 학습을 시킨 것이다. 특화 데이터를 학습시켜 맞춤형 모델로 업데이트하는 셈이다. 이글루코퍼레이션은 “RAG는 파인튜닝과 달리 최신 정보를 제공하기에 용이하며, 출처가 확실한 데이터를 기반으로 답변을 생성하기 때문에 품질 유지와 비용 측면에서도 각광받고 있다”며 “앞으로 데이터 처리 및 분석 발전의 원동력이 될 전망”이라고 설명했다.