AI VIDEO BRIEFING

LLM 파인튜닝 학습 데이터 준비 4단계 실전 정리: 수집·정제·재작성·증강과 오버샘플링 요령

자기 채널 자막 전부로 모델을 파인튜닝했다가 결과가 엉망이 된 개발자가, 훈련에 들어가기 전 데이터 파이프라인 네 단계와 페르소나 오버샘플링·학습 샘플 길이 최적화 요령을 실제 코드와 함께 정리했다.

파인튜닝이 엉망이 되는 진짜 이유: 모델을 훈련하기 전 네 단계 영상 대표 이미지

핵심 메시지

  • 파인튜닝 실패의 상당 부분은 훈련 단계가 아니라 그 앞의 데이터 준비 단계에서 이미 결정된다.
  • 데이터 파이프라인은 수집, 정제, 재작성, 증강의 네 단계이며 실제 훈련은 그다음이다.
  • 자동 생성 자막처럼 지저분한 원본은 문장 중간에서 끊기고 고유명사를 잘못 받아쓰기 때문에, 그대로 학습하면 모델이 그 버릇까지 따라 배운다.
  • 정규식으로 잡을 수 없는 문장 경계나 표기 판단은 로컬에서 돌리는 별도 언어 모델에 맡겼다.
  • 같은 답변에 서로 다른 질문 세 개를 붙여 학습 예시를 늘리면, 모델이 문장을 통째로 외우는 대신 질문의 의도에 반응하게 된다.

쉽게 이해하기

제작자는 자기 채널의 유튜브 자막 전부로 모델을 파인튜닝해 자신처럼 말하는 AI를 만들려 했다. 몇 시간을 들였지만 결과물은 알아볼 수 없는 엉망이었다. 그가 진단한 원인은 훈련 설정이 아니라 입력 데이터였다. 대부분의 튜토리얼은 모델을 훈련시키는 마지막 단계만 보여 주지만, 실제로는 그 앞의 네 단계가 결과를 좌우한다는 것이다.

첫 단계는 수집이다. 유튜브가 업로드마다 자동으로 만들어 주는 자막을 재생목록 단위로 내려받되, 어떤 영상을 학습에 쓸지는 직접 고른다. 문제는 자동 자막의 품질이다. 문장 끝이 아니라 3초쯤마다 기계적으로 줄이 끊기고, 받아쓰기 오류로 클로드(Claude)가 클라우드(cloud)로 적히거나 제품명이 소문자로 남는다. 이런 데이터를 그대로 넣으면 이상하게 줄이 끊기는 습관과 잘못된 표기가 결과 모델에 그대로 옮겨 붙는다.

두 번째 단계인 정제에서는 두 가지 도구를 함께 쓴다. 유튜브가 붙이는 주석이나 반복되는 군말처럼 규칙으로 잡히는 것은 정규식으로 걷어 낸다. 하지만 어디서 문장이 끝나는지, 특정 표기를 어떻게 고쳐야 하는지는 규칙으로 못 박기 어렵다. 그래서 로컬에서 돌리는 미스트랄 14B 모델에 시스템 프롬프트로 자주 나오는 받아쓰기 오류의 예를 알려 주고 문장부호와 대소문자를 정리하게 했다. 수천 개 조각을 처리하는 데 두 시간이 걸렸지만, 학습이 어긋난 원인을 찾느라 2주를 헤매는 일을 막았다고 그는 말한다.

세 번째와 네 번째는 재작성과 증강이다. 영상 속 설명은 혼잣말에 가까운 긴 독백이라, 대화형 모델의 학습 데이터로 쓰려면 질문과 답변 형태로 바꿔야 한다. 나아가 같은 문단 하나를 두고 직접적인 질문, 의견을 묻는 요청, 글을 써 달라는 작업 지시처럼 서로 다른 세 종류의 질문을 붙여 학습 예시를 세 배로 늘린다. 답변은 그대로 두고 질문만 바꾸는 이 방식이 모델을 문장 암기가 아니라 질문의 의미에 반응하도록 이끈다는 설명이다.

마지막으로 잘 알려지지 않은 최적화 두 가지를 소개한다. 하나는 페르소나 오버샘플링으로, 자기 자신에 관한 이야기가 5,000개 조각 중 50개뿐이라 같은 행을 여러 번 복제해 비중을 키우는 방법이다. 다만 배수를 너무 올리면 관계없는 질문에도 자기소개를 앵무새처럼 반복하게 되어 그는 10배 정도를 상한으로 잡았다. 다른 하나는 긴 자막을 짧게 쪼개는 것이다. 어텐션은 예시 안의 토큰을 서로 전부 비교하므로 길이가 길어질수록 비용이 급격히 늘어나는데, 평균 1,200토큰이던 입력을 140토큰으로 줄이자 학습 시간이 60시간에서 한 시간 반 수준으로 떨어졌다고 한다.

주요 인사이트

  • '쓰레기가 들어가면 쓰레기가 나온다'는 말이 파인튜닝에서는 내용의 오류를 넘어 줄바꿈 습관과 표기 스타일 같은 말버릇 수준까지 그대로 전이된다는 뜻이 된다.
  • 데이터 정제에 또 다른 언어 모델을 쓰는 것은, 규칙으로 표현할 수 없는 판단을 자동화하는 현실적인 해법이다. 정제용 모델의 품질이 좋을수록 최종 결과도 좋아진다.
  • 오버샘플링은 모델이 등장 빈도로 규칙을 학습한다는 성질을 이용하지만, 배수를 키울수록 엉뚱한 맥락에서 그 내용이 튀어나오는 부작용이 따라온다.
  • 학습 샘플을 짧게 자르면 어텐션의 제곱 비용 때문에 훈련 시간이 크게 줄고, 실패했을 때 다시 돌리는 비용이 낮아져 실험 횟수 자체가 늘어난다.
  • 개인 프로젝트라면 파이썬 스크립트를 순서대로 엮는 것으로 충분하지만, 회사 규모에서는 Kubeflow나 Airflow 같은 파이프라인 도구가 필요하다는 현실적인 구분도 제시한다.

자주 묻는 질문

자동 생성 자막을 그대로 학습에 쓰면 무엇이 문제가 되나요?

자동 자막은 문장이 끝나는 지점이 아니라 몇 초 단위로 기계적으로 잘리고, 받아쓰기 오류로 고유명사가 다른 단어로 바뀌거나 제품명이 소문자로 남습니다. 이런 데이터로 학습하면 이상한 줄바꿈과 잘못된 표기가 그대로 결과 모델의 출력 습관이 됩니다.

왜 정제 작업에 또 다른 언어 모델을 쓰나요?

정규식은 정해진 패턴만 지울 수 있어, 문장이 어디서 끝나는지나 어떤 표기가 맞는지 같은 판단은 다루지 못합니다. 그래서 로컬에서 돌리는 미스트랄 14B 모델에 자주 나오는 오류의 예를 알려 주고 문장부호와 대소문자를 정리하게 했습니다.

페르소나 오버샘플링은 무엇이고 왜 필요한가요?

자신에 관한 이야기가 전체 학습 데이터에서 차지하는 비중이 너무 작으면 모델이 그 내용을 제대로 기억하지 못합니다. 그래서 해당 학습 행을 여러 번 복제해 등장 빈도를 높이는데, 제작자는 지나치면 무관한 질문에도 자기소개를 반복하게 되어 10배 정도를 상한으로 두었습니다.

학습 예시를 짧게 자르면 어떤 이점이 있나요?

훈련에 쓰이는 어텐션은 한 예시 안의 토큰들을 서로 전부 비교하기 때문에 길이가 늘어날수록 계산량이 급격히 커집니다. 평균 1,200토큰이던 입력을 140토큰으로 줄이자 파인튜닝 시간이 60시간대에서 한 시간 반 수준으로 짧아졌다고 합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식