학습 자료

모델은 내 문서를 모른다 — 그래서 붙여준다


Article

지금까지 두 강에 걸쳐 던져둔 문제가 있다. 14강 — 파인튜닝은 새 지식을 넣어주는 단계가 아니다. 15강 — 컨텍스트 윈도우는 한 번에 담을 수 있는 양이 유한하다. 두 문제를 합치면 결론은 하나다. 모델은 우리 회사 사내 위키도, 어제 올라온 문서도 모른다. 애초에 그런 걸 배운 적이 없기 때문이다.

이번 강의부터 5부가 시작된다. 이 문제를 어떻게 푸는지, 그 첫 그림을 연다.

왜 다시 학습시키면 안 되나

가장 먼저 떠오르는 방법은 "그럼 우리 문서로 다시 학습시키면 되잖아"다. 이론적으로는 가능하지만, 실무에서는 거의 쓰지 않는다.

다시 학습시키기 vs 붙여주기

문서를 통째로 재학습·파인튜닝

매번 새로 굽는다

  • 문서가 하나 바뀔 때마다 다시 학습이 필요하다
  • 14강에서 본 그 비용 · 시간이 매번 든다
  • 무엇을 근거로 답했는지 추적하기 어렵다

필요한 문서만 그때그때 붙여주기

질문이 올 때 창에 끼워 넣는다

  • 문서가 바뀌면 그 문서만 교체하면 된다
  • 재학습 비용이 들지 않는다
  • "이 문서를 보고 답했다"는 근거를 남길 수 있다
회사 문서는 매일 바뀐다. 바뀔 때마다 모델을 다시 굽는 건 현실적이지 않다.

정답은 모델의 머릿속(가중치)을 고치는 게 아니라, 질문할 때마다 필요한 문서를 컨텍스트 윈도우 안에 직접 끼워 넣어주는 것이다. 15강에서 본 그 창을 다시 떠올리면 된다 — 창 안에 있는 글은 모델이 실시간으로 참고할 수 있으니, 학습을 거치지 않고도 "지금 이 순간만" 새 정보를 알려줄 수 있다.

문서를 붙여서 답하게 만드는 큰 그림
  1. 사용자가 질문한다"이번 분기 환불 정책이 뭐야?"
  2. 관련 문서를 찾는다사내 위키·매뉴얼 중 이 질문과 관련된 부분을 먼저 찾아온다
  3. 찾은 문서를 컨텍스트 윈도우에 끼워 넣는다16강에서 본 그 창 — 질문과 함께 문서 내용도 창에 채운다
  4. 모델이 그 문서를 근거로 답한다학습된 적 없어도, 지금 창 안에 있으니 참고해서 답할 수 있다
이 흐름 전체에 RAG(검색 증강 생성, Retrieval-Augmented Generation)라는 이름이 붙어 있다. 20강에서 이름 그대로 자세히 다룬다.

관건은 "관련 문서를 어떻게 찾아오나"다

이 그림에서 가장 중요한 단계는 두 번째다. 회사 문서가 수천 개인데, 그중 지금 질문과 관련된 몇 개를 어떻게 정확히 골라내는가.

단순히 문서에 질문 속 단어가 그대로 있는지 찾는 방식(옛날 검색엔진의 방식)으로는 부족하다. "환불"이라고 안 쓰고 "돈 돌려받는 법"이라고 쓴 문서도 찾아야 하기 때문이다. 단어가 같지 않아도 의미가 비슷한 문서를 찾아야 한다.

문서를 붙여주는 방식이 푸는 것과 못 푸는 것
상황이 방식으로 되나
회사 내부 문서에 있는 사실을 물어본다된다 — 관련 문서를 찾아 창에 붙여주면 그걸 근거로 답한다
문서에 아예 없는 내용을 물어본다안 된다 — 붙여줄 문서 자체가 없으니 여전히 모른다
문서가 수천 개라 어떤 게 관련 있는지 찾기 어렵다"의미가 비슷한 문서 찾기"가 따로 필요하다 — 18 · 19강
문서를 붙여주는 방식도 만능은 아니다. 다만 15강의 환각 문제를 크게 줄여주고, 근거를 남길 수 있다는 점이 크다.

정리하면

모델은 학습 안 된 문서를 원래 모른다. 다시 학습시키는 대신, 질문이 올 때마다 관련 문서를 찾아 컨텍스트 윈도우에 직접 끼워 넣어 답하게 만든다. 관건은 그 "관련 문서 찾기"를 단어가 아니라 의미로 하는 것이다.

다시 짚어보기
  1. 01

    모델은 학습 데이터에 없는 문서를 모른다

    14강의 그 한계가 여기서 실무 문제로 이어진다.

  2. 02

    문서가 바뀔 때마다 재학습하는 건 현실적이지 않다

    대신 질문이 올 때마다 필요한 문서를 창에 끼워 넣는다.

  3. 03

    이 흐름 전체를 RAG 라 부른다

    검색해서(Retrieval) 답을 보강(Augmented)해 생성한다(Generation)는 뜻이다.

  4. 04

    핵심 난제는 관련 문서를 의미로 찾는 것이다

    단어가 같지 않아도 뜻이 비슷한 문서를 찾아야 한다. 다음 강의(임베딩)에서 이 문제를 연다.

다음 강의에서는 "의미가 비슷한 문서를 어떻게 컴퓨터가 찾아내는가"를 연다. 문장을 숫자 좌표로 바꾸는 임베딩이 그 답이다.

모델은 내 문서를 모른다 — 그래서 붙여준다 — 디코드랩(DCODELAB)