패스트캠퍼스환급챌린지

패스트캠퍼스 환급챌린지 34일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기

네모몽 2025. 8. 3. 17:15

 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※


 

오늘은 RAG 학습을 위한 정답 데이터 생성 과정을 실습했습니다.
다수의 문서가 주어진 상황에서 GPT-4o를 활용해 질문에 대한 정확하고 인용 기반의 응답을 생성하도록 유도하는 방법을 학습했습니다.

이 과정은 단순히 LLM으로 답변을 생성한 것이 아니라, 문서 기반 추론 및 출처 인용 능력까지 학습할 수 있도록 학습 데이터를 만들어 본 단계라고 할 수 있겠습니다 :)

 

🧱 KLUE MRC + 네거티브 샘플 기반 프롬프트 구성

지난 시간에는 KLUE-MRC을 기반으로 기계독해 데이터셋(질문/문서) 데이터를 생성했죠.
유사도 기반으로 선별된 네거티브 샘플을 포함한 총 5개의 문서 묶음을 만들었었는데요.

 

이제 이 문서 묶음을 GPT가 이해할 수 있도록 다음과 같은 구조로 구성했습니다.

질문: [질문 텍스트]
문서1: [본문 내용]
---
문서2: [본문 내용]
---
...
답변:
 

각 문서는 번호를 부여해 나중에 GPT가 출처를 [[ref3]] 형태로 명확하게 인용할 수 있도록 유도합니다.

 

🧠 GPT-4o에게 역할 부여하기 – 시스템 프롬프트 설계

단순히 답변을 생성하는 것에 그치지 않고, 답변 방식의 가이드를 철저히 설정했습니다!
GPT-4o에게 부여한 역할은 “다수의 문서에서 답을 찾고, 출처를 인용하며, 출처가 없으면 답변을 거부하는 도우미”입니다.

 

시스템 프롬프트 주요 규칙은 아래와 같습니다.

  • 반드시 문서 내용을 인용해서만 답변할 것
  • 인용은 [[ref3]] 와 같이 문서 번호를 명시할 것
  • 인용이 없는 문장은 쓰지 않도록 제한
  • 풍부하고 서술적인 답변을 만들 것
  • 출처가 없는 문서는 무시할 것

이런 제약은 단순한 응답 생성을 넘어, hallucination 억제정확한 RAG 학습에 도움을 줄 수 있을 겁니다.

 

🛠️ GPT-4o로 정답 응답 생성하기

이제 준비된 질문/문서 프롬프트를 GPT-4o에 전달하여, 다양한 조건으로 응답을 생성했습니다.

전체 500개 중 일부만 추려 테스트한 뒤, 전체 샘플에 대해 다음과 같이 진행했습니다.

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": system_prompt},
        {"role": "user", "content": user_prompt + '답변:'}
    ],
    temperature=0
)
 

temperature를 0으로 설정해 최대한 일관된 응답을 유도했고,
실제로 문단마다 [[ref3]], [[ref5]]와 같은 출처 인용이 첨부된 응답이 잘 생성되는 것을 확인했습니다.

 

🔍 인용 출처 추출 및 후처리

응답에서 인용한 문서 번호는 [[ref3]], [[ref5]] 같은 형태로 첨부되도록 유도했었죠.

이를 추출하기 위해 정규표현식을 활용했습니다.

def extract_ref_numbers(text):
    pattern = r'\[\[ref(\d+)\]\]'
    matches = re.findall(pattern, text)
    return sorted(set(map(int, matches)))

 

이 작업은 이후 평가 단계에서 "모델이 실제로 정답 문서를 인용했는가?"를 검증하는 데 사용될 수 있겠죠?
RAG의 성능을 평가함에 있어 출처를 잘 남겼는지를 확인하는 것은 평가에서 중요한 기준될 수 있기 때문이죠 😗


🤔 배운 점과 고민 포인트

✨ 배운 점

  • RAG 학습용 응답 데이터를 만들 땐 단순 생성이 아니라, 출처 기반 응답 생성이 중요
  • GPT-4o는 풍부한 시스템 프롬프트를 통해 제약을 부여한 응답도 충분히 생성 가능 🐥
  • 인용 출처를 명시하는 프롬프트 엔지니어링은 평가 가능성과 할루시네이션 억제 두 마리 토끼를 잡는 방식

 

① 오늘자 날짜, 공부 시작, 종료 시각 포함 사진 각 1장

패스트캠퍼스_LLM 서비스개발_34일차_공부시작/종료시간

 

 1개 클립 수강 인증 사진 1장 / 학습 인증 사진 1장

패스트캠퍼스_LLM 서비스개발_34일차_수강인증/학습인증

 

 챌린지 대상 강의 완강률 캡쳐 사진 1장

패스트캠퍼스_LLM서비스개발_34일차_완강률캡처

 


 

https://fastcampus.info/4n8ztzq

 

(~6/20) 50일의 기적 AI 환급반💫 | 패스트캠퍼스

초간단 미션! 하루 20분 공부하고 수강료 전액 환급에 AI 스킬 장착까지!

fastcampus.co.kr