2024년 7월 2일 화요일

LLM 학습 데이터 개발 및 준비 방법

이 글은 LLM(Large Language Model. 대형언어모델) 학습 데이터 생성 방법을 간략히 정리한다.

LLM 모델 개발을 하면서, 가장 힘든 일 중 하나는 학습 데이터를 어떻게 확보하느냐는 것이다. 본인의 경우, 여러 시행착오를 거쳐, 다음과 같은 데이터 개발 전략을 사용했다.
  • 허깅페이스 등 기존에 있는 데이터가 있다면, 이를 사용해 본다. 
  • 부족하다면, ChatGPT API등을 이용해, 재료가 되는 텍스트, PDF을 업로드하고, 훈련할 질문 답변 등 데이터를 생성한다.
  • 비용이 비싸다면, LLAMA와 같은 오픈 LLM 모델을 사용해 훈련 데이터를 생성한다.
  • 생성된 학습 데이터 중 이상 데이터를 체크해, 가능하다면, 문장 및 토큰 해석기로 자동 필터링하도록 한다.
  • 사람이 샘플링해 이상 데이터를 체크, 제거한다.
  • 데이터 종류 별 분포가 균형되도록 조정한다.
이 중에 QA 데이터셋을 학습하는 원리를 살펴본다. 다음 프로젝트는 원래 소피아 대학교의 AI 과정을 위한 것이었다. 
대상 답변으로 사용되는 키워드를 식별하는 접근 방식은 RANLP2021 컨퍼런스에서 발표되었다. 이 아이디어는 이 복잡한 문제를 더 간단한 단계로 분할하여, 텍스트에서 객관식 답변을 생성하는 것이다. 이 방법은 텍스트에서 키워드를 식별하고 질문에 대한 답변으로 사용한다. 여기서는 문장에서 답변을 빈 공간으로 바꾸고 질문의 기본형식으로 사용한다.
질답 데이터 생성하는 플레인 텍스트 예시

이 방식대로 BIM 데이터를 RAG처리하기 위한 QA 데이터를 생성하면 다음과 같다. 
플레인 텍스트

생성된 학습 데이터

생성된 훈련 데이터를 확인하면, 필터링되어야 할 부분들을 확인할 수 있다. 이를 처리한 후 모델 튜닝 및 학습에 사용하면 된다. 

레퍼런스

댓글 없음:

댓글 쓰기