니케이 컴퓨터 2023/12/21(2) RAG(Retrieval Augmented Generation) -- 검색 증강 생성

책 커버 표지
목차

요약

Nikkei Computer_2023.12.21 키워드 (p85)

RAG(Retrieval Augmented Generation)
검색 증강 생성

RAG(Retrieval Augmented Generation, 검색 증강 생성)는 생성 AI(인공지능)의 응답 정확도를 높이는 구조이다. 대규모 언어 모델(LLM)을 기반으로 응답을 생성할 때, 유저의 질문에 연관된 지식 정보를 참조할 수 있도록 해 잘못된 정보를 사실처럼 답하는 ‘할루시네이션(환각)’을 방지할 수 있다.

RAG는 2020년에 페이스북(현 메타)이 제창. 2022년 11월, 오픈AI가 챗GPT 서비스를 시작하면서 생성 AI의 업무 활용과 생성 AI 애플리케이션 개발이 늘어나면서 RAG가 주목을 받기 시작했다. 마이크로소프트와 구글 등도 생성 AI 애플리케이션 개발 지원 서비스를 발표하고 있다. 향후에는 보다 간편하게 RAG 구조를 구축할 수 있게 될 가능성이 있다.

생성 AI의 기반이 되는 LLM은 학습 데이터에 포함되지 않는 최신 정보에 대해 답할 수 없다. 유저 기업 고유의 데이터를 추가 학습(파인 튜닝)시키지 않는 한, 기업 고유의 데이터에 근거한 답변을 생성할 수 없다. RAG는 이러한 과제를 해결하기 위해 개발된 것으로, 생성 AI의 업무 활용을 촉진할 것으로 기대된다.

RAG에 의한 응답 생성의 흐름은 이렇다. 우선, 유저의 질문에 상응하는 문장을 데이터베이스(DB)로부터 추출한다. LLM은 원래의 질문과 함께 추출된 문장을 참조해 답변을 생성한다. 유저와 LLM, DB의 연계에는 OSS(오픈 소스 소프트웨어)의 AI 개발 프레임워크 ‘LangChain’이나 ‘LlamaIndex’를 사용하는 경우가 많다.

-- 데이터베이스의 정확도가 열쇠 --
일본 IBM 테크놀로지 사업본부의 다나카(田中) 에반젤리스트는 RAG에 대해 "유저의 질문에 대해 적절한 관련 문서를 취득하는 정확도를 높이는 것이 중요하다"고 말한다. 데이터베이스에서 적절한 정보를 추출하려면, ‘Azure AI Search’나 ‘Elasticsearch’라고 하는 검색 엔진을 사용한다.

검색 정확도 향상에 벡터 데이터베이스(Vector DB)를 사용하기도 한다. 벡터 DB에서는 벡터라고 불리는 다차원의 수치 배열로 데이터를 표현한다. 벡터 간의 거리로 데이터의 유사성을 판단할 수 있다. 벡터 DB를 사용하면 텍스트나 화상 등 비정형 데이터 검색이 기존의 키워드 매칭을 통한 검색과 비교해 고속 및 고정밀하다. 하지만 데이터를 벡터화하려면 LLM이 필요해 도입의 장벽은 높다.

RAG는 LLM 외에 외부 정보를 검색하는 시스템을 갖게 하는 구조로, LLM 자체에 관여하지는 않는다. 이 때문에, 예를 들면 기술적인 표현을 많이 사용한 답변을 하도록 하는 등, LLM의 응답 생성의 경향을 보정할 수 없다. 이럴 경우에는 RAG와 함께  일정량의 데이터로 LLM에 추가 학습을 실시하는 것도 방법이다. 단, 추가 학습에는 양질의 데이터가 대량으로 필요하며, 시간과 비용도 많이 소요된다.

 -- 끝 --

Copyright © 2020 [Nikkei Computer] / Nikkei Business Publications, Inc. All rights reserved.

TOP

목차

TOP