본문으로 건너뛰기

기술 설명

RAG 란?

RAG(검색 증강 생성)는 질문이 오면 가진 자료에서 관련 대목을 먼저 찾고, 그 대목을 근거로 답을 만드는 방식입니다. 모델이 배운 적 없는 자료로도 답할 수 있습니다.

한마디로

찾아서 읽고 답한다

언어 모델은 학습한 범위 안에서 답합니다. 회사 규정집, 지난달 맺은 계약서, 사내 업무 지침처럼 공개되지 않은 자료는 모릅니다.

RAG 는 질문과 답 사이에 찾는 단계를 넣습니다. 모델은 찾은 대목을 읽고 답을 씁니다.

그래서 답 옆에 어느 문서의 어느 대목을 읽었는지 함께 표시할 수 있습니다. 답을 받은 사람이 직접 확인할 수 있습니다.

구동 순서

자료를 넣고 답이 나오기까지

앞의 두 단계는 자료를 넣을 때 한 번, 뒤의 두 단계는 질문이 올 때마다 구동됩니다.

01

쪼갠다

문서를 알맞은 크기의 대목으로 잘라 둡니다. 너무 크면 엉뚱한 내용이 섞이고, 너무 작으면 앞뒤 맥락이 끊깁니다.

02

숫자로 바꾼다

잘라 둔 대목을 임베딩이라는 숫자 묶음으로 바꿔 저장합니다. 뜻이 가까운 글이 가까운 숫자가 됩니다.

03

찾는다

질문도 같은 방식으로 숫자로 바꿔 가까운 대목을 골라냅니다. 고른 대목을 한 번 더 추려 순서를 다시 매기기도 합니다.

04

답을 만든다

고른 대목을 질문과 함께 모델에 넘겨 답을 쓰게 합니다. 읽은 대목은 답 옆에 같이 보여 줄 수 있습니다.

비교

파인튜닝과 다른 점

모델에 자료를 더 학습시키는 방법을 파인튜닝이라고 합니다. 자료가 자주 바뀌는 일에는 RAG 가 맞고, 둘을 같이 쓰기도 합니다.

자료가 바뀔 때

파인튜닝은 자료가 바뀔 때마다 학습을 다시 해야 합니다. RAG 는 바뀐 문서를 다시 넣으면 끝납니다.

근거를 보여 줄 때

파인튜닝한 모델은 답이 어디서 왔는지 말하지 못합니다. RAG 는 읽은 대목을 그대로 가리킵니다.

한계

잘 안 될 때

RAG 를 쓴다고 다 해결되지는 않습니다. 실제로 막히는 자리는 대개 아래 셋입니다.

  • 찾기가 틀리면 답도 틀립니다. 찾는 단계에서 엉뚱한 대목을 고르면 모델은 그 대목을 근거로 틀린 답을 씁니다.
  • 쪼개는 방식이 결과를 크게 바꿉니다. 표와 그림이 많은 문서는 글만 잘라 내면 뜻이 사라집니다.
  • 맞는 대목을 찾아도 모델이 그 대목을 잘못 읽을 수 있습니다. 마지막 확인은 사람이 합니다.

자주 묻는 것

자료가 밖으로 나가나요?

모델을 어디서 구동하느냐에 달렸습니다. 다른 회사가 운영하는 모델을 쓰면 질문할 때마다 찾은 대목이 그 회사로 갑니다. 모두 사내 서버에서 구동하면 밖으로 나가지 않습니다. 도입하기 전에 어느 쪽으로 할지 정합니다.

자료가 적어도 되나요?

문서 몇 건으로도 구동됩니다. 다만 고를 후보가 적으면 관련 없는 대목이 올라오기 쉬워, 질문 범위를 좁혀 두는 편이 낫습니다.

가진 자료로 만들어 보려면

LabRAG 는 자료를 넣고 필요한 것을 말로 설명하면 그 일을 하는 서비스가 만들어지는 제품입니다.