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

오늘은 기계 독해 데이터셋, KLUE MRC(Machine Reading Comprehension) 데이터를 활용해 RAG 학습용 데이터를 구성해봤습니다.
핵심 포인트는 질문당 정답과 무관한 문서를 'Negative Sample'로 구성하는 것이었는데요.
모델이 “답이 없는 문서”도 구분할 수 있어야 하기 때문입니다.
아래 내용 정리를 통해 알아보도록하죠 😋
📚 KLUE-MRC: RAG 학습에 적합한 기계독해 데이터셋
KLUE-MRC는 본문(context), 질문(question), 답변(answer)의 형태로 구성되어 있습니다.
이는 RAG 학습에서 요구하는 구조와 유사하며, 추가 가공만 거치면 좋은 학습셋이 될 수 있죠!
아래 필드를 기준으로 DataFrame을 구성하여 학습에 필요한 기반 데이터를 마련했습니다 ;)
- title: 문서 제목
- news_category, source: 메타 정보
- context: 본문
- question: 질문
- answer_text: 정답 텍스트
🧠 네거티브 샘플이 왜 중요할까?
질문과 검색어가 주어졌을 때, 이와 연관된 본문을 Positive Sample이라고 합니다.
반면에, 질문과 상관없는 본문 값을 묶으면 Negative Sample이 되죠.
RAG 모델은 단순히 질문에 대한 정답만을 학습하기에는 그 정확성이 아쉬울 수 있습니다.
현실에선 검색된 문서 중 정답이 포함되지 않은 문서도 등장하기 때문에
모델이 그런 문서를 걸러낼 수 있는 판단력을 갖추도록 훈련시켜야 하죠.
이때 필요한 것이 바로 Negative Sample, 즉 질문과 관련 없는 문서입니다.
⚙️ 임베딩 기반 네거티브 샘플 구성
네거티브 샘플을 구성하기 위해, 다음과 같은 과정을 거쳤습니다:
- 전체 context(본문)를 SentenceTransformer로 임베딩
- 각 질문을 임베딩하고, 코사인 유사도로 전체 본문과 비교
- 정답 문서를 제외한 상위 4개를 네거티브 샘플로 선택
- df['negative_samples'] 열에 리스트로 저장
이 과정은 1만 건 이상의 데이터에 대해 수행됩니다.
FlagEmbedding 패키지에서 제공 하는 BGEM3FlagModel은 데이터 처리를 병렬로 처리할 수 있는 기능을 제공하는데요.
batchsize를 32개로 지정하여 임베딩을 실행시키게 되면서 보다 빠르게 학습을 진행할 수 있었습니다! 😉
🤔 배운 점과 고민 포인트
✨ 배운 점
- MRC 데이터는 구조적으로 RAG 학습에 필요한 데이터 구조와 유사해 매우 유용하다!
- Negative Sample은 RAG 모델의 성능 향상을 위한 핵심 요소
① 오늘자 날짜, 공부 시작, 종료 시각 포함 사진 각 1장


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


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

https://fastcampus.info/4n8ztzq
(~6/20) 50일의 기적 AI 환급반💫 | 패스트캠퍼스
초간단 미션! 하루 20분 공부하고 수강료 전액 환급에 AI 스킬 장착까지!
fastcampus.co.kr
'패스트캠퍼스환급챌린지' 카테고리의 다른 글
| 패스트캠퍼스 환급챌린지 35일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기 (3) | 2025.08.04 |
|---|---|
| 패스트캠퍼스 환급챌린지 34일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기 (2) | 2025.08.03 |
| 패스트캠퍼스 환급챌린지 32일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기 (6) | 2025.08.01 |
| 패스트캠퍼스 환급챌린지 31일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기 (1) | 2025.07.31 |
| 패스트캠퍼스 환급챌린지 30일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기 (6) | 2025.07.30 |