패스트캠퍼스환급챌린지

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

네모몽 2025. 8. 2. 23:30

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


 

오늘은 기계 독해  데이터셋, 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, 즉 질문과 관련 없는 문서입니다.

 

⚙️ 임베딩 기반 네거티브 샘플 구성

네거티브 샘플을 구성하기 위해, 다음과 같은 과정을 거쳤습니다:

  1. 전체 context(본문)를 SentenceTransformer로 임베딩
  2. 각 질문을 임베딩하고, 코사인 유사도로 전체 본문과 비교
  3. 정답 문서를 제외한 상위 4개를 네거티브 샘플로 선택
  4. df['negative_samples'] 열에 리스트로 저장

이 과정은 1만 건 이상의 데이터에 대해 수행됩니다.

FlagEmbedding 패키지에서 제공 하는 BGEM3FlagModel은 데이터 처리를 병렬로 처리할 수 있는 기능을 제공하는데요.

batchsize를 32개로 지정하여 임베딩을 실행시키게 되면서 보다 빠르게 학습을 진행할 수 있었습니다! 😉


🤔 배운 점과 고민 포인트

✨ 배운 점

  • MRC 데이터는 구조적으로 RAG 학습에 필요한 데이터 구조와 유사해 매우 유용하다!
  • Negative Sample은 RAG 모델의 성능 향상을 위한 핵심 요소

 

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

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

 

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

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

 

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

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

 

 

 

https://fastcampus.info/4n8ztzq

 

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

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

fastcampus.co.kr